LinterCheckAstNode - escopo, global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • . 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.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    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.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    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.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    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ó.

    Tabela 7. Parâmetros
    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.
    Tabela 8. Retornos
    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);