LinterCheckAstNode: Bereichsbezogen, Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Die LinterCheckAstNode Die API stellt Methoden zum Abrufen von AST-Knotendetails (abstrakte Syntaxstruktur) in Linter-Prüfungen bereit.

    Diese API ist in enthalten Instance Scan(com.glide.instance_scan) Plugin und wird in ausgeführt sn_instance_Scan Namespace. Weitere Informationen finden Sie unter Instanzscan .

    Verwenden Sie die Methoden in dieser Klasse, um Linter-Prüfungen für AST-Knotentypen auszuführen, indem Sie Code zu hinzufügen Skript Feld in Formular „Linter-Prüfung“ . Weitere Informationen finden Sie unter Skripts für erweiterte Linter-Prüfung .

    Erstellen Sie eine Linter-Prüfung, um Probleme in einem Skript zu identifizieren. Wenn eine Linter-Prüfung für einen Datensatz ausgeführt wird, wird eine abstrakte Syntaxstruktur für seinen Code generiert. Sie können die abstrakte Syntaxstruktur verwenden, um Probleme mit dem Code zu analysieren.

    Greifen Sie mit auf Methoden in dieser API zu Instance Scan Engine.Rootnode Objekt.

    LinterCheckAstNode – getNameIdentifier()

    Ruft den Zeichenfolgenwert eines Namenknotentyps ab. Ein Namenknoten stellt einen einfachen Bezeichner dar, der kein Stichwort ist, z. B. einen Funktions- oder Variablennamen.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Wenn das Linter-Objekt ein Namenknotentyp ist, geben Sie den Namen als Zeichenfolge zurück. Andernfalls Null.

    Im folgenden Beispiel wird verwendet Ergebnisse API InkrementWithNode() Methode in einer Linter-Prüfung. Verwenden Sie diese Methode im Feld Skript des Formular „Linter-Prüfung“ .

    (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()

    Ruft das übergeordnete Knotenobjekt des aufgerufenen Knotens ab.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Objekt Übergeordnetes Knotenobjekt des aufgerufenen Knotens.

    Im folgenden Beispiel wird verwendet Ergebnisse API InkrementWithNode() Methode in einer Linter-Prüfung. Verwenden Sie diese Methode im Feld Skript des Formular „Linter-Prüfung“ .

    (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()

    Ruft den Typ des aufgerufenen Knotens ab.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Typname des aufgerufenen Knotens. Beispielsweise wird ein Funktionsaufruf in der Quelle als Knoten mit dem Typnamen tokenisiert RUFEN SIE AN .

    Im folgenden Beispiel wird verwendet Ergebnisse API InkrementWithNode() Methode in einer Linter-Prüfung. Verwenden Sie diese Methode im Feld Skript des Formular „Linter-Prüfung“ .

    (function(engine) {
      engine.rootNode.visit(function(node) {
        if (node.getTypeName() === "NAME" &&
            node.getNameIdentifier() === "soughtFunction" &&
            node.getParent().getTypeName() === "CALL") {
          engine.finding.incrementWithNode(node);
        } 
      });
    })(engine);

    LinterCheckAstNode – Visit(function callbackFunction)

    Greift auf jeden Knoten in der Unterstruktur ab diesem Knoten zu und führt eine bestimmte Rückruffunktion auf jedem Knoten aus.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    callbackFunction Funktion Rückruffunktion, die auf jedem Knoten in der Unterstruktur dieses Knotens ausgeführt werden soll. Diese Rückruffunktion verwendet einen Knoten als Parameter, der der zu besuchende Knoten ist.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Keine

    Im folgenden Beispiel wird verwendet Ergebnisse API InkrementWithNode() Methode in einer Linter-Prüfung. Verwenden Sie diese Methode im Feld Skript des Formular „Linter-Prüfung“ .

    (function(engine) {
      engine.rootNode.visit(function(node) {
        if (node.getTypeName() === "NAME" &&
            node.getNameIdentifier() === "soughtFunction" &&
            node.getParent().getTypeName() === "CALL") {
          engine.finding.incrementWithNode(node);
        } 
      });
    })(engine);