From 9a5f60916d1cdce192b27a5f468306220ea6f3e4 Mon Sep 17 00:00:00 2001 From: Rik van der Kleij Date: Fri, 24 May 2019 14:58:07 +0200 Subject: [PATCH] Fix parser for partial type signatures (WIP). --- .../haskell/parser/HaskellParser.java | 182 +----------------- .../psi/impl/HaskellClassDeclarationImpl.java | 4 + .../haskell/psi/impl/HaskellCnameImpl.java | 3 + .../haskell/psi/impl/HaskellConImpl.java | 18 +- .../haskell/psi/impl/HaskellConidImpl.java | 5 + .../haskell/psi/impl/HaskellConopImpl.java | 18 +- .../haskell/psi/impl/HaskellConsymImpl.java | 5 + .../psi/impl/HaskellDataDeclarationImpl.java | 5 + .../impl/HaskellDefaultDeclarationImpl.java | 38 ++-- .../impl/HaskellDerivingDeclarationImpl.java | 36 ++-- .../impl/HaskellForeignDeclarationImpl.java | 40 ++-- .../impl/HaskellImportDeclarationImpl.java | 1 + .../impl/HaskellInstanceDeclarationImpl.java | 4 + .../haskell/psi/impl/HaskellModidImpl.java | 5 + .../impl/HaskellModuleDeclarationImpl.java | 4 + .../impl/HaskellNewtypeDeclarationImpl.java | 5 + .../psi/impl/HaskellQConQualifier1Impl.java | 5 + .../psi/impl/HaskellQConQualifier2Impl.java | 5 + .../psi/impl/HaskellQConQualifier3Impl.java | 5 + .../psi/impl/HaskellQConQualifier4Impl.java | 5 + .../haskell/psi/impl/HaskellQNameImpl.java | 3 + .../haskell/psi/impl/HaskellQVarConImpl.java | 20 +- .../psi/impl/HaskellQualifierImpl.java | 5 + .../psi/impl/HaskellSimpletypeImpl.java | 1 + .../psi/impl/HaskellTypeDeclarationImpl.java | 38 ++-- .../HaskellTypeFamilyDeclarationImpl.java | 36 ++-- .../HaskellTypeInstanceDeclarationImpl.java | 40 ++-- .../psi/impl/HaskellTypeSignatureImpl.java | 37 ++-- .../haskell/psi/impl/HaskellVarConImpl.java | 20 +- .../haskell/psi/impl/HaskellVarImpl.java | 18 +- .../haskell/psi/impl/HaskellVaridImpl.java | 5 + .../haskell/psi/impl/HaskellVaropImpl.java | 18 +- .../haskell/psi/impl/HaskellVarsymImpl.java | 5 + src/main/scala/intellij/haskell/haskell.bnf | 2 +- 34 files changed, 292 insertions(+), 349 deletions(-) diff --git a/gen/intellij/haskell/parser/HaskellParser.java b/gen/intellij/haskell/parser/HaskellParser.java index 0874d4a0..34e54385 100644 --- a/gen/intellij/haskell/parser/HaskellParser.java +++ b/gen/intellij/haskell/parser/HaskellParser.java @@ -7,6 +7,7 @@ import com.intellij.lang.PsiBuilder; import com.intellij.lang.PsiBuilder.Marker; import com.intellij.lang.PsiParser; import com.intellij.psi.tree.IElementType; +import com.intellij.psi.tree.IFileElementType; import static intellij.haskell.psi.HaskellParserUtil.*; import static intellij.haskell.psi.HaskellTypes.*; @@ -23,180 +24,10 @@ public class HaskellParser implements PsiParser, LightPsiParser { boolean r; b = adapt_builder_(t, b, this, null); Marker m = enter_section_(b, 0, _COLLAPSE_, null); - if (t == HS_CCONTEXT) { - r = ccontext(b, 0); - } else if (t == HS_CDECL_DATA_DECLARATION) { - r = cdecl_data_declaration(b, 0); - } else if (t == HS_CDECLS) { - r = cdecls(b, 0); - } else if (t == HS_CIDECLS) { - r = cidecls(b, 0); - } else if (t == HS_CLASS_DECLARATION) { - r = class_declaration(b, 0); - } else if (t == HS_CLAZZ) { - r = clazz(b, 0); - } else if (t == HS_CNAME) { - r = cname(b, 0); - } else if (t == HS_CNAME_DOT_DOT) { - r = cname_dot_dot(b, 0); - } else if (t == HS_COMMENTS) { - r = comments(b, 0); - } else if (t == HS_CON) { - r = con(b, 0); - } else if (t == HS_CONID) { - r = conid(b, 0); - } else if (t == HS_CONOP) { - r = conop(b, 0); - } else if (t == HS_CONSTR) { - r = constr(b, 0); - } else if (t == HS_CONSTR_1) { - r = constr1(b, 0); - } else if (t == HS_CONSTR_2) { - r = constr2(b, 0); - } else if (t == HS_CONSTR_3) { - r = constr3(b, 0); - } else if (t == HS_CONSYM) { - r = consym(b, 0); - } else if (t == HS_DATA_DECLARATION) { - r = data_declaration(b, 0); - } else if (t == HS_DATA_DECLARATION_DERIVING) { - r = data_declaration_deriving(b, 0); - } else if (t == HS_DEFAULT_DECLARATION) { - r = default_declaration(b, 0); - } else if (t == HS_DERIVING_DECLARATION) { - r = deriving_declaration(b, 0); - } else if (t == HS_DOT_DOT) { - r = dot_dot(b, 0); - } else if (t == HS_EXPORT) { - r = export(b, 0); - } else if (t == HS_EXPORTS) { - r = exports(b, 0); - } else if (t == HS_EXPRESSION) { - r = expression(b, 0); - } else if (t == HS_FIELDDECL) { - r = fielddecl(b, 0); - } else if (t == HS_FILE_HEADER) { - r = file_header(b, 0); - } else if (t == HS_FIXITY_DECLARATION) { - r = fixity_declaration(b, 0); - } else if (t == HS_FOREIGN_DECLARATION) { - r = foreign_declaration(b, 0); - } else if (t == HS_GENERAL_PRAGMA_CONTENT) { - r = general_pragma_content(b, 0); - } else if (t == HS_GTYCON) { - r = gtycon(b, 0); - } else if (t == HS_IMPORT_DECLARATION) { - r = import_declaration(b, 0); - } else if (t == HS_IMPORT_DECLARATIONS) { - r = import_declarations(b, 0); - } else if (t == HS_IMPORT_EMPTY_SPEC) { - r = import_empty_spec(b, 0); - } else if (t == HS_IMPORT_HIDING) { - r = import_hiding(b, 0); - } else if (t == HS_IMPORT_HIDING_SPEC) { - r = import_hiding_spec(b, 0); - } else if (t == HS_IMPORT_ID) { - r = import_id(b, 0); - } else if (t == HS_IMPORT_IDS_SPEC) { - r = import_ids_spec(b, 0); - } else if (t == HS_IMPORT_PACKAGE_NAME) { - r = import_package_name(b, 0); - } else if (t == HS_IMPORT_QUALIFIED) { - r = import_qualified(b, 0); - } else if (t == HS_IMPORT_QUALIFIED_AS) { - r = import_qualified_as(b, 0); - } else if (t == HS_IMPORT_SPEC) { - r = import_spec(b, 0); - } else if (t == HS_INST) { - r = inst(b, 0); - } else if (t == HS_INSTANCE_DECLARATION) { - r = instance_declaration(b, 0); - } else if (t == HS_INSTVAR) { - r = instvar(b, 0); - } else if (t == HS_KIND_SIGNATURE) { - r = kind_signature(b, 0); - } else if (t == HS_LIST_TYPE) { - r = list_type(b, 0); - } else if (t == HS_MODID) { - r = modid(b, 0); - } else if (t == HS_MODULE_BODY) { - r = module_body(b, 0); - } else if (t == HS_MODULE_DECLARATION) { - r = module_declaration(b, 0); - } else if (t == HS_NEWCONSTR) { - r = newconstr(b, 0); - } else if (t == HS_NEWCONSTR_FIELDDECL) { - r = newconstr_fielddecl(b, 0); - } else if (t == HS_NEWTYPE_DECLARATION) { - r = newtype_declaration(b, 0); - } else if (t == HS_PRAGMA) { - r = pragma(b, 0); - } else if (t == HS_Q_CON) { - r = q_con(b, 0); - } else if (t == HS_Q_CON_QUALIFIER) { - r = q_con_qualifier(b, 0); - } else if (t == HS_Q_CON_QUALIFIER_1) { - r = q_con_qualifier1(b, 0); - } else if (t == HS_Q_CON_QUALIFIER_2) { - r = q_con_qualifier2(b, 0); - } else if (t == HS_Q_CON_QUALIFIER_3) { - r = q_con_qualifier3(b, 0); - } else if (t == HS_Q_CON_QUALIFIER_4) { - r = q_con_qualifier4(b, 0); - } else if (t == HS_Q_NAME) { - r = q_name(b, 0); - } else if (t == HS_Q_NAMES) { - r = q_names(b, 0); - } else if (t == HS_Q_VAR_CON) { - r = q_var_con(b, 0); - } else if (t == HS_QUALIFIER) { - r = qualifier(b, 0); - } else if (t == HS_RESERVED_ID) { - r = reserved_id(b, 0); - } else if (t == HS_SCONTEXT) { - r = scontext(b, 0); - } else if (t == HS_SHEBANG_LINE) { - r = shebang_line(b, 0); - } else if (t == HS_SIMPLECLASS) { - r = simpleclass(b, 0); - } else if (t == HS_SIMPLETYPE) { - r = simpletype(b, 0); - } else if (t == HS_TEXT_LITERAL) { - r = text_literal(b, 0); - } else if (t == HS_TOP_DECLARATION) { - r = top_declaration(b, 0); - } else if (t == HS_TOP_DECLARATION_LINE) { - r = top_declaration_line(b, 0); - } else if (t == HS_TTYPE) { - r = ttype(b, 0); - } else if (t == HS_TTYPE_1) { - r = ttype1(b, 0); - } else if (t == HS_TTYPE_2) { - r = ttype2(b, 0); - } else if (t == HS_TYPE_DECLARATION) { - r = type_declaration(b, 0); - } else if (t == HS_TYPE_EQUALITY) { - r = type_equality(b, 0); - } else if (t == HS_TYPE_FAMILY_DECLARATION) { - r = type_family_declaration(b, 0); - } else if (t == HS_TYPE_FAMILY_TYPE) { - r = type_family_type(b, 0); - } else if (t == HS_TYPE_INSTANCE_DECLARATION) { - r = type_instance_declaration(b, 0); - } else if (t == HS_TYPE_SIGNATURE) { - r = type_signature(b, 0); - } else if (t == HS_VAR) { - r = var(b, 0); - } else if (t == HS_VAR_CON) { - r = var_con(b, 0); - } else if (t == HS_VARID) { - r = varid(b, 0); - } else if (t == HS_VAROP) { - r = varop(b, 0); - } else if (t == HS_VARSYM) { - r = varsym(b, 0); - } else { + if (t instanceof IFileElementType) { r = parse_root_(t, b, 0); + } else { + r = false; } exit_section_(b, 0, m, t, r, true, TRUE_CONDITION); } @@ -771,7 +602,7 @@ public class HaskellParser implements PsiParser, LightPsiParser { } /* ********************************************************** */ - // (atype | TILDE)+ + // (atype | TILDE | UNDERSCORE)+ static boolean btype(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "btype")) return false; boolean r; @@ -786,12 +617,13 @@ public class HaskellParser implements PsiParser, LightPsiParser { return r; } - // atype | TILDE + // atype | TILDE | UNDERSCORE private static boolean btype_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "btype_0")) return false; boolean r; r = atype(b, l + 1); if (!r) r = consumeToken(b, HS_TILDE); + if (!r) r = consumeToken(b, HS_UNDERSCORE); return r; } diff --git a/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java index 3612361e..99952953 100644 --- a/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java @@ -52,18 +52,22 @@ public class HaskellClassDeclarationImpl extends HaskellCompositeElementImpl imp return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellTtype.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } + @Override public Seq getIdentifierElements() { return HaskellPsiImplUtil.getIdentifierElements(this); } + @Override public Option getModuleName() { return HaskellPsiImplUtil.getModuleName(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellCnameImpl.java b/gen/intellij/haskell/psi/impl/HaskellCnameImpl.java index 4d5ebbe2..1ebdd429 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCnameImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCnameImpl.java @@ -48,14 +48,17 @@ public class HaskellCnameImpl extends HaskellCompositeElementImpl implements Has return PsiTreeUtil.getChildOfType(this, HaskellVarop.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public HaskellNamedElement getIdentifierElement() { return HaskellPsiImplUtil.getIdentifierElement(this); } + @Override public Option getQualifierName() { return HaskellPsiImplUtil.getQualifierName(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellConImpl.java b/gen/intellij/haskell/psi/impl/HaskellConImpl.java index 7f363447..e01e7860 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConImpl.java @@ -1,14 +1,15 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellCon; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellConsym; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellConImpl extends HaskellCNameElementImpl implements HaskellCon { @@ -37,8 +38,9 @@ public class HaskellConImpl extends HaskellCNameElementImpl implements HaskellCo return PsiTreeUtil.getChildOfType(this, HaskellConsym.class); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellConidImpl.java b/gen/intellij/haskell/psi/impl/HaskellConidImpl.java index b82685df..bce49d6c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConidImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConidImpl.java @@ -32,22 +32,27 @@ public class HaskellConidImpl extends HaskellNamedStubBasedPsiElementBase getIdentifierElements() { return HaskellPsiImplUtil.getIdentifierElements(this); } + @Override public Option getModuleName() { return HaskellPsiImplUtil.getModuleName(this); } + @Override public HaskellNamedElement getDataTypeConstructor() { return HaskellPsiImplUtil.getDataTypeConstructor(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java index ab796a56..c0abf686 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java @@ -1,18 +1,18 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.Seq; +import java.util.List; + public class HaskellDefaultDeclarationImpl extends HaskellCompositeElementImpl implements HaskellDefaultDeclaration { public HaskellDefaultDeclarationImpl(ASTNode node) { @@ -40,20 +40,24 @@ public class HaskellDefaultDeclarationImpl extends HaskellCompositeElementImpl i return PsiTreeUtil.getChildOfType(this, HaskellTypeSignature.class); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - public Seq getIdentifierElements() { - return HaskellPsiImplUtil.getIdentifierElements(this); - } + @Override + public Seq getIdentifierElements() { + return HaskellPsiImplUtil.getIdentifierElements(this); + } - public Option getModuleName() { - return HaskellPsiImplUtil.getModuleName(this); - } + @Override + public Option getModuleName() { + return HaskellPsiImplUtil.getModuleName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java index 28391137..f8d8dc20 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java @@ -1,15 +1,13 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.Seq; @@ -46,20 +44,24 @@ public class HaskellDerivingDeclarationImpl extends HaskellCompositeElementImpl return PsiTreeUtil.getChildOfType(this, HaskellScontext.class); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - public Seq getIdentifierElements() { - return HaskellPsiImplUtil.getIdentifierElements(this); - } + @Override + public Seq getIdentifierElements() { + return HaskellPsiImplUtil.getIdentifierElements(this); + } - public Option getModuleName() { - return HaskellPsiImplUtil.getModuleName(this); - } + @Override + public Option getModuleName() { + return HaskellPsiImplUtil.getModuleName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java index 1991fc27..eaee0552 100644 --- a/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java @@ -1,15 +1,15 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellForeignDeclaration; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; import scala.Option; import scala.collection.Seq; @@ -34,20 +34,24 @@ public class HaskellForeignDeclarationImpl extends HaskellCompositeElementImpl i return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellExpression.class)); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - public Seq getIdentifierElements() { - return HaskellPsiImplUtil.getIdentifierElements(this); - } + @Override + public Seq getIdentifierElements() { + return HaskellPsiImplUtil.getIdentifierElements(this); + } - public Option getModuleName() { - return HaskellPsiImplUtil.getModuleName(this); - } + @Override + public Option getModuleName() { + return HaskellPsiImplUtil.getModuleName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java index eef101de..553a2bce 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java @@ -60,6 +60,7 @@ public class HaskellImportDeclarationImpl extends HaskellCompositeElementImpl im return PsiTreeUtil.getChildOfType(this, HaskellPragma.class); } + @Override public Option getModuleName() { return HaskellPsiImplUtil.getModuleName(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java index edfe3865..65acab2e 100644 --- a/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java @@ -70,18 +70,22 @@ public class HaskellInstanceDeclarationImpl extends HaskellCompositeElementImpl return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellVarCon.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } + @Override public Seq getIdentifierElements() { return HaskellPsiImplUtil.getIdentifierElements(this); } + @Override public Option getModuleName() { return HaskellPsiImplUtil.getModuleName(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellModidImpl.java b/gen/intellij/haskell/psi/impl/HaskellModidImpl.java index ad752791..bc216bc3 100644 --- a/gen/intellij/haskell/psi/impl/HaskellModidImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellModidImpl.java @@ -42,22 +42,27 @@ public class HaskellModidImpl extends HaskellNamedStubBasedPsiElementBase getIdentifierElements() { return HaskellPsiImplUtil.getIdentifierElements(this); } + @Override public Option getModuleName() { return HaskellPsiImplUtil.getModuleName(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java index c8fa6847..8ff7e660 100644 --- a/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java @@ -56,22 +56,27 @@ public class HaskellNewtypeDeclarationImpl extends HaskellCompositeElementImpl i return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } + @Override public Seq getIdentifierElements() { return HaskellPsiImplUtil.getIdentifierElements(this); } + @Override public Option getModuleName() { return HaskellPsiImplUtil.getModuleName(this); } + @Override public HaskellNamedElement getDataTypeConstructor() { return HaskellPsiImplUtil.getDataTypeConstructor(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java index 4031867f..2afdb8de 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java @@ -34,22 +34,27 @@ public class HaskellQConQualifier1Impl extends HaskellQualifierElementImpl imple return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellConid.class)); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public PsiElement setName(String newName) { return HaskellPsiImplUtil.setName(this, newName); } + @Override public HaskellNamedElement getNameIdentifier() { return HaskellPsiImplUtil.getNameIdentifier(this); } + @Override public PsiReference getReference() { return HaskellPsiImplUtil.getReference(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java index 27fb419d..d3266e1b 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java @@ -36,22 +36,27 @@ public class HaskellQConQualifier2Impl extends HaskellQualifierElementImpl imple return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public PsiElement setName(String newName) { return HaskellPsiImplUtil.setName(this, newName); } + @Override public HaskellNamedElement getNameIdentifier() { return HaskellPsiImplUtil.getNameIdentifier(this); } + @Override public PsiReference getReference() { return HaskellPsiImplUtil.getReference(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java index addf8807..4cba2a0d 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java @@ -36,22 +36,27 @@ public class HaskellQConQualifier3Impl extends HaskellQualifierElementImpl imple return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public PsiElement setName(String newName) { return HaskellPsiImplUtil.setName(this, newName); } + @Override public HaskellNamedElement getNameIdentifier() { return HaskellPsiImplUtil.getNameIdentifier(this); } + @Override public PsiReference getReference() { return HaskellPsiImplUtil.getReference(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java index 1aaf3c3f..4af3b36e 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java @@ -36,22 +36,27 @@ public class HaskellQConQualifier4Impl extends HaskellQualifierElementImpl imple return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public PsiElement setName(String newName) { return HaskellPsiImplUtil.setName(this, newName); } + @Override public HaskellNamedElement getNameIdentifier() { return HaskellPsiImplUtil.getNameIdentifier(this); } + @Override public PsiReference getReference() { return HaskellPsiImplUtil.getReference(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java b/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java index 4fc2a4ac..01b7241d 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java @@ -36,14 +36,17 @@ public class HaskellQNameImpl extends HaskellCompositeElementImpl implements Has return PsiTreeUtil.getChildOfType(this, HaskellVarCon.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public HaskellNamedElement getIdentifierElement() { return HaskellPsiImplUtil.getIdentifierElement(this); } + @Override public Option getQualifierName() { return HaskellPsiImplUtil.getQualifierName(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java b/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java index af4b9ecd..4bda3e25 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java @@ -1,14 +1,12 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellQVarConImpl extends HaskellCompositeElementImpl implements HaskellQVarCon { @@ -55,12 +53,14 @@ public class HaskellQVarConImpl extends HaskellCompositeElementImpl implements H return PsiTreeUtil.getChildOfType(this, HaskellVarsym.class); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public HaskellNamedElement getIdentifierElement() { - return HaskellPsiImplUtil.getIdentifierElement(this); - } + @Override + public HaskellNamedElement getIdentifierElement() { + return HaskellPsiImplUtil.getIdentifierElement(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java b/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java index c590a23d..f2b80bf9 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java @@ -36,22 +36,27 @@ public class HaskellQualifierImpl extends HaskellQualifierElementImpl implements return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); } + @Override public PsiElement setName(String newName) { return HaskellPsiImplUtil.setName(this, newName); } + @Override public HaskellNamedElement getNameIdentifier() { return HaskellPsiImplUtil.getNameIdentifier(this); } + @Override public PsiReference getReference() { return HaskellPsiImplUtil.getReference(this); } + @Override public ItemPresentation getPresentation() { return HaskellPsiImplUtil.getPresentation(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java b/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java index eea8f772..2e5ef89b 100644 --- a/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java @@ -44,6 +44,7 @@ public class HaskellSimpletypeImpl extends HaskellCompositeElementImpl implement return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellTypeSignature.class); } + @Override public Seq getIdentifierElements() { return HaskellPsiImplUtil.getIdentifierElements(this); } diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java index 8c1d90e5..332c17b9 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java @@ -1,18 +1,18 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.Seq; +import java.util.List; + public class HaskellTypeDeclarationImpl extends HaskellCompositeElementImpl implements HaskellTypeDeclaration { public HaskellTypeDeclarationImpl(ASTNode node) { @@ -58,20 +58,24 @@ public class HaskellTypeDeclarationImpl extends HaskellCompositeElementImpl impl return PsiTreeUtil.getChildOfType(this, HaskellTypeSignature.class); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - public Seq getIdentifierElements() { - return HaskellPsiImplUtil.getIdentifierElements(this); - } + @Override + public Seq getIdentifierElements() { + return HaskellPsiImplUtil.getIdentifierElements(this); + } - public Option getModuleName() { - return HaskellPsiImplUtil.getModuleName(this); - } + @Override + public Option getModuleName() { + return HaskellPsiImplUtil.getModuleName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java index c9019419..24c9b5ab 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java @@ -1,15 +1,13 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.Seq; @@ -40,20 +38,24 @@ public class HaskellTypeFamilyDeclarationImpl extends HaskellCompositeElementImp return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellTypeFamilyType.class)); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - public Seq getIdentifierElements() { - return HaskellPsiImplUtil.getIdentifierElements(this); - } + @Override + public Seq getIdentifierElements() { + return HaskellPsiImplUtil.getIdentifierElements(this); + } - public Option getModuleName() { - return HaskellPsiImplUtil.getModuleName(this); - } + @Override + public Option getModuleName() { + return HaskellPsiImplUtil.getModuleName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java index 8cdf920d..c6577c6a 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java @@ -1,15 +1,15 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellTypeInstanceDeclaration; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; import scala.Option; import scala.collection.Seq; @@ -34,20 +34,24 @@ public class HaskellTypeInstanceDeclarationImpl extends HaskellCompositeElementI return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellExpression.class)); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - public Seq getIdentifierElements() { - return HaskellPsiImplUtil.getIdentifierElements(this); - } + @Override + public Seq getIdentifierElements() { + return HaskellPsiImplUtil.getIdentifierElements(this); + } - public Option getModuleName() { - return HaskellPsiImplUtil.getModuleName(this); - } + @Override + public Option getModuleName() { + return HaskellPsiImplUtil.getModuleName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java index 9800436f..a600d0d2 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java @@ -1,18 +1,17 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; +import org.jetbrains.annotations.NotNull; import scala.Option; import scala.collection.Seq; +import java.util.List; + public class HaskellTypeSignatureImpl extends HaskellCompositeElementImpl implements HaskellTypeSignature { public HaskellTypeSignatureImpl(ASTNode node) { @@ -46,20 +45,24 @@ public class HaskellTypeSignatureImpl extends HaskellCompositeElementImpl implem return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellTtype.class)); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - public Seq getIdentifierElements() { - return HaskellPsiImplUtil.getIdentifierElements(this); - } + @Override + public Seq getIdentifierElements() { + return HaskellPsiImplUtil.getIdentifierElements(this); + } - public Option getModuleName() { - return HaskellPsiImplUtil.getModuleName(this); - } + @Override + public Option getModuleName() { + return HaskellPsiImplUtil.getModuleName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java b/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java index 2d704153..09df1524 100644 --- a/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java @@ -1,14 +1,12 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellVarConImpl extends HaskellCompositeElementImpl implements HaskellVarCon { @@ -49,12 +47,14 @@ public class HaskellVarConImpl extends HaskellCompositeElementImpl implements Ha return PsiTreeUtil.getChildOfType(this, HaskellVarsym.class); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - public HaskellNamedElement getIdentifierElement() { - return HaskellPsiImplUtil.getIdentifierElement(this); - } + @Override + public HaskellNamedElement getIdentifierElement() { + return HaskellPsiImplUtil.getIdentifierElement(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellVarImpl.java b/gen/intellij/haskell/psi/impl/HaskellVarImpl.java index 14e0320d..65cc19a0 100644 --- a/gen/intellij/haskell/psi/impl/HaskellVarImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellVarImpl.java @@ -1,14 +1,15 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellVar; +import intellij.haskell.psi.HaskellVarid; +import intellij.haskell.psi.HaskellVarsym; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellVarImpl extends HaskellCNameElementImpl implements HaskellVar { @@ -37,8 +38,9 @@ public class HaskellVarImpl extends HaskellCNameElementImpl implements HaskellVa return PsiTreeUtil.getChildOfType(this, HaskellVarsym.class); } - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java b/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java index 536c0512..3c0ea23c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java @@ -32,22 +32,27 @@ public class HaskellVaridImpl extends HaskellNamedStubBasedPsiElementBase