From 703f8a95c1cc0532fc0148df5c3f3105f76e0637 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Thu, 2 Dec 2021 01:05:49 +0100
Subject: [PATCH] move common code into common package

---
 src/main/grammar/Aspect.bnf                               | 6 +++---
 src/main/grammar/Grammar.bnf                              | 6 +++---
 .../tooling/aspect/psi/JastAddAspectAttribute.java        | 4 ++--
 .../impl/JastAddAspectAspectDeclarationImplExtension.java | 8 +++-----
 ...dAspectAspectInhAttributeDeclarationImplExtension.java | 7 ++-----
 ...dAspectAspectSynAttributeDeclarationImplExtension.java | 6 ++----
 .../psi/impl/JastAddAspectAstTypeNameImplExtension.java   | 6 +++---
 .../JastAddAspectClassOrInterfaceTypeImplExtension.java   | 6 +++---
 .../JastAddAspectCollectionAttributeImplExtension.java    | 4 ++--
 .../java/org/jastadd/tooling/common/psi/NamedElement.java | 7 +++++++
 .../psi/impl/NamedElementImpl.java}                       | 8 ++++----
 .../jastadd/tooling/grammar/psi/GrammarNamedElement.java  | 7 -------
 .../psi/impl/GrammarComponentNameImplExtension.java       | 5 +++--
 .../grammar/psi/impl/GrammarTypeDeclImplExtension.java    | 5 +++--
 .../grammar/psi/impl/GrammarTypeNameImplExtension.java    | 5 +++--
 15 files changed, 43 insertions(+), 47 deletions(-)
 create mode 100644 src/main/java/org/jastadd/tooling/common/psi/NamedElement.java
 rename src/main/java/org/jastadd/tooling/{grammar/psi/impl/GrammarNamedElementImpl.java => common/psi/impl/NamedElementImpl.java} (79%)
 delete mode 100644 src/main/java/org/jastadd/tooling/grammar/psi/GrammarNamedElement.java

diff --git a/src/main/grammar/Aspect.bnf b/src/main/grammar/Aspect.bnf
index 65e0e18..e8bdb09 100644
--- a/src/main/grammar/Aspect.bnf
+++ b/src/main/grammar/Aspect.bnf
@@ -37,7 +37,7 @@ type_declaration ::= SEMICOLON | (modifiers ( class_declaration | interface_decl
 aspect_declaration ::= ASPECT aspect_name aspect_body
 {
   extends="org.jastadd.tooling.aspect.psi.impl.JastAddAspectAspectDeclarationImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 aspect_body ::= LBRACE aspect_body_declaration* RBRACE
@@ -221,7 +221,7 @@ reference_type ::= ( primitive_type (LBRACKET RBRACKET)+ ) | ( class_or_interfac
 class_or_interface_type ::= java_identifier type_arguments? (DOT java_identifier type_arguments? )*
 {
   extends="org.jastadd.tooling.aspect.psi.impl.JastAddAspectClassOrInterfaceTypeImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 type_arguments ::= LT (type_argument (COMMA type_argument)* )? GT
@@ -397,7 +397,7 @@ attribute_name ::= IDENTIFIER
 ast_type_name ::= IDENTIFIER
 {
   extends="org.jastadd.tooling.aspect.psi.impl.JastAddAspectAstTypeNameImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 aspect_name ::= IDENTIFIER
diff --git a/src/main/grammar/Grammar.bnf b/src/main/grammar/Grammar.bnf
index df4ab34..34db53b 100644
--- a/src/main/grammar/Grammar.bnf
+++ b/src/main/grammar/Grammar.bnf
@@ -22,7 +22,7 @@ comment ::= (WHITESPACE | MULTILINECOMMENT | DOCCOMMENT | SINGLELINECOMMENT)
 type_decl ::= ABSTRACT? type_name (COL type_name)? (ASSIGN (component | nta_component)*)? SCOL
 {
   extends="org.jastadd.tooling.grammar.psi.impl.GrammarTypeDeclImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 nta_component ::= SLASH component SLASH
@@ -47,13 +47,13 @@ navigable_role ::= type_name DOT component_name (STAR | QUESTION_MARK)?
 type_name ::= ID
 {
   extends="org.jastadd.tooling.grammar.psi.impl.GrammarTypeNameImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 component_name ::= ID
 {
   extends="org.jastadd.tooling.grammar.psi.impl.GrammarComponentNameImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java b/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java
index 9611195..c2fd746 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java
@@ -1,9 +1,9 @@
 package org.jastadd.tooling.aspect.psi;
 
 import com.intellij.psi.PsiElement;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 
-public interface JastAddAspectAttribute extends PsiElement, GrammarNamedElement {
+public interface JastAddAspectAttribute extends PsiElement, NamedElement {
 
   String signature();
 
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java
index bac6dcc..337ad11 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java
@@ -2,21 +2,19 @@ package org.jastadd.tooling.aspect.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
-import com.intellij.openapi.editor.Document;
-import com.intellij.openapi.fileEditor.FileDocumentManager;
 import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.aspect.psi.AspectElementFactory;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectDeclaration;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectName;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.NamedElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
 
-public class JastAddAspectAspectDeclarationImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class JastAddAspectAspectDeclarationImplExtension extends NamedElementImpl implements NamedElement {
 
   public JastAddAspectAspectDeclarationImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java
index 91838ec..5851ca2 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java
@@ -2,16 +2,13 @@ package org.jastadd.tooling.aspect.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
-import com.intellij.openapi.editor.Document;
-import com.intellij.openapi.fileEditor.FileDocumentManager;
 import com.intellij.openapi.util.NlsSafe;
 import com.intellij.psi.PsiElement;
 import com.intellij.util.IncorrectOperationException;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectInhAttributeDeclaration;
-import org.jastadd.tooling.aspect.psi.JastAddAspectAspectSynAttributeDeclaration;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAttribute;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -19,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
 import javax.swing.*;
 import java.util.stream.Collectors;
 
-public abstract class JastAddAspectAspectInhAttributeDeclarationImplExtension extends GrammarNamedElementImpl implements JastAddAspectAttribute {
+public abstract class JastAddAspectAspectInhAttributeDeclarationImplExtension extends NamedElementImpl implements JastAddAspectAttribute {
   public JastAddAspectAspectInhAttributeDeclarationImplExtension(@NotNull ASTNode node) {
     super(node);
   }
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java
index ecb2e41..ffa93a2 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java
@@ -2,15 +2,13 @@ package org.jastadd.tooling.aspect.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
-import com.intellij.openapi.editor.Document;
-import com.intellij.openapi.fileEditor.FileDocumentManager;
 import com.intellij.openapi.util.NlsSafe;
 import com.intellij.psi.PsiElement;
 import com.intellij.util.IncorrectOperationException;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectSynAttributeDeclaration;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAttribute;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -18,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
 import javax.swing.*;
 import java.util.stream.Collectors;
 
-public abstract class JastAddAspectAspectSynAttributeDeclarationImplExtension extends GrammarNamedElementImpl implements JastAddAspectAttribute {
+public abstract class JastAddAspectAspectSynAttributeDeclarationImplExtension extends NamedElementImpl implements JastAddAspectAttribute {
   public JastAddAspectAspectSynAttributeDeclarationImplExtension(@NotNull ASTNode node) {
     super(node);
   }
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java
index 50be78d..4f7fa54 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java
@@ -5,11 +5,11 @@ import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.aspect.psi.AspectElementFactory;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAstTypeName;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.NamedElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jetbrains.annotations.NotNull;
 
-public class JastAddAspectAstTypeNameImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class JastAddAspectAstTypeNameImplExtension extends NamedElementImpl implements NamedElement {
 
   public JastAddAspectAstTypeNameImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java
index c483eff..e702693 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java
@@ -5,11 +5,11 @@ import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.aspect.psi.AspectElementFactory;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectClassOrInterfaceType;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.NamedElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jetbrains.annotations.NotNull;
 
-public class JastAddAspectClassOrInterfaceTypeImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class JastAddAspectClassOrInterfaceTypeImplExtension extends NamedElementImpl implements NamedElement {
 
   public JastAddAspectClassOrInterfaceTypeImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java
index 7fde5d3..d38d827 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java
@@ -8,14 +8,14 @@ import com.intellij.util.IncorrectOperationException;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAttribute;
 import org.jastadd.tooling.aspect.psi.JastAddAspectCollectionAttribute;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
 
-public abstract class JastAddAspectCollectionAttributeImplExtension extends GrammarNamedElementImpl implements JastAddAspectAttribute {
+public abstract class JastAddAspectCollectionAttributeImplExtension extends NamedElementImpl implements JastAddAspectAttribute {
   public JastAddAspectCollectionAttributeImplExtension(@NotNull ASTNode node) {
     super(node);
   }
diff --git a/src/main/java/org/jastadd/tooling/common/psi/NamedElement.java b/src/main/java/org/jastadd/tooling/common/psi/NamedElement.java
new file mode 100644
index 0000000..0444f8a
--- /dev/null
+++ b/src/main/java/org/jastadd/tooling/common/psi/NamedElement.java
@@ -0,0 +1,7 @@
+package org.jastadd.tooling.common.psi;
+
+import com.intellij.psi.PsiNameIdentifierOwner;
+
+public interface NamedElement extends PsiNameIdentifierOwner {
+
+}
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java b/src/main/java/org/jastadd/tooling/common/psi/impl/NamedElementImpl.java
similarity index 79%
rename from src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java
rename to src/main/java/org/jastadd/tooling/common/psi/impl/NamedElementImpl.java
index 9177854..56b1da5 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java
+++ b/src/main/java/org/jastadd/tooling/common/psi/impl/NamedElementImpl.java
@@ -1,20 +1,20 @@
-package org.jastadd.tooling.grammar.psi.impl;
+package org.jastadd.tooling.common.psi.impl;
 
 import com.intellij.extapi.psi.ASTWrapperPsiElement;
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
 import com.intellij.psi.PsiReference;
 import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
 
-public abstract class GrammarNamedElementImpl extends ASTWrapperPsiElement implements GrammarNamedElement {
+public abstract class NamedElementImpl extends ASTWrapperPsiElement implements NamedElement {
 
-  protected GrammarNamedElementImpl(@NotNull ASTNode node) {
+  protected NamedElementImpl(@NotNull ASTNode node) {
     super(node);
   }
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarNamedElement.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarNamedElement.java
deleted file mode 100644
index 69b6fe7..0000000
--- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarNamedElement.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.jastadd.tooling.grammar.psi;
-
-import com.intellij.psi.PsiNameIdentifierOwner;
-
-public interface GrammarNamedElement extends PsiNameIdentifierOwner {
-
-}
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java
index 8f4fc25..439cdcd 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java
@@ -2,12 +2,13 @@ package org.jastadd.tooling.grammar.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.grammar.psi.GrammarComponentName;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jetbrains.annotations.NotNull;
 
-public class GrammarComponentNameImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class GrammarComponentNameImplExtension extends NamedElementImpl implements NamedElement {
 
   public GrammarComponentNameImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
index 7be798b..12b2c99 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
@@ -2,13 +2,14 @@ package org.jastadd.tooling.grammar.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.grammar.parser.GrammarTypes;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jastadd.tooling.grammar.psi.GrammarTypeName;
 import org.jetbrains.annotations.NotNull;
 
-public class GrammarTypeDeclImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class GrammarTypeDeclImplExtension extends NamedElementImpl implements NamedElement {
 
   public GrammarTypeDeclImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java
index 753e63c..c33cd5f 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java
@@ -2,12 +2,13 @@ package org.jastadd.tooling.grammar.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jastadd.tooling.grammar.psi.GrammarTypeName;
 import org.jetbrains.annotations.NotNull;
 
-public class GrammarTypeNameImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class GrammarTypeNameImplExtension extends NamedElementImpl implements NamedElement {
 
   public GrammarTypeNameImplExtension(@NotNull ASTNode node) {
     super(node);
-- 
GitLab