LinterCheckAstNode - escopo, global
. LinterCheckAstNode A API fornece métodos para obter detalhes do nó de árvore de sintaxe abstrata (AST) em verificações de linter.
Esta API está incluída com Instance Scan(com.glide.instance_scan) plug-in e é executado no sn_instance_scan namespace. Para obter mais informações, consulte Verificação de instância .
Use os métodos desta classe para executar verificações de linter em tipos de nó de AST adicionando código ao Script . Formulário Verificação de linter . Para obter mais informações, consulte Scripts de verificação de linter avançados .
Crie uma verificação de linter para identificar quaisquer problemas em um script. Quando uma verificação de linter é executada em um registro, uma árvore de sintaxe abstrata para seu código é gerada. Você pode usar a árvore de sintaxe abstrata para analisar problemas com o código.
Métodos de acesso nesta API usando Instance Scan RootNode.rootNode objeto.
LinterCheckAstNode - getNameIdentifier()
Recupera o valor da cadeia de caracteres de um tipo de nó de nome. Um nó de nome representa um identificador simples que não é uma palavra-chave, como um nome de função ou variável.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Se o objeto linter for um tipo de nó de nome, retorne o nome como uma cadeia de caracteres. Caso contrário, nulo. |
O exemplo a seguir usa Descobertas API IncrementWithNode() método em uma verificação de linter. Use este método no campo Script do Formulário Verificação de linter .
(function(engine) {
engine.rootNode.visit(function(node) {
if (node.getTypeName() === "NAME" &&
node.getNameIdentifier() === "soughtFunction" &&
node.getParent().getTypeName() === "CALL") {
engine.finding.incrementWithNode(node);
}
});
})(engine);
LinterCheckAstNode - getParent()
Obtém o objeto de nó primário do nó acessado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto de nó primário do nó acessado. |
O exemplo a seguir usa Descobertas API IncrementWithNode() método em uma verificação de linter. Use este método no campo Script do Formulário Verificação de linter .
(function(engine) {
engine.rootNode.visit(function(node) {
if (node.getTypeName() === "NAME" &&
node.getNameIdentifier() === "soughtFunction" &&
node.getParent().getTypeName() === "CALL") {
engine.finding.incrementWithNode(node);
}
});
})(engine);
LinterCheckAstNode - getTypeName()
Obtém o tipo do nó acessado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Nome do tipo do nó acessado. Por exemplo, uma chamada de função na origem é tokenizada como um nó com o nome do tipo CHAMADA . |
O exemplo a seguir usa Descobertas API IncrementWithNode() método em uma verificação de linter. Use este método no campo Script do Formulário Verificação de linter .
(function(engine) {
engine.rootNode.visit(function(node) {
if (node.getTypeName() === "NAME" &&
node.getNameIdentifier() === "soughtFunction" &&
node.getParent().getTypeName() === "CALL") {
engine.finding.incrementWithNode(node);
}
});
})(engine);
LinterCheckAstNode - visita(function callbackFunction)
Acessa cada nó na subárvore a partir deste nó e executa uma determinada função de retorno de chamada em cada nó.
| Nome | Tipo | Descrição |
|---|---|---|
| CallbackFunction | Função | Função de retorno de chamada a ser executada em cada nó na subárvore deste nó. Esta função de retorno de chamada usa um nó como parâmetro, que é o nó a ser visitado. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir usa Descobertas API IncrementWithNode() método em uma verificação de linter. Use este método no campo Script do Formulário Verificação de linter .
(function(engine) {
engine.rootNode.visit(function(node) {
if (node.getTypeName() === "NAME" &&
node.getNameIdentifier() === "soughtFunction" &&
node.getParent().getTypeName() === "CALL") {
engine.finding.incrementWithNode(node);
}
});
})(engine);