// This is a generated file. Not intended for manual editing. package org.intellij.erlang; import com.intellij.psi.tree.IElementType; import com.intellij.psi.PsiElement; import com.intellij.lang.ASTNode; import org.intellij.erlang.psi.ErlangCompositeElementType; import org.intellij.erlang.psi.ErlangTokenType; import org.intellij.erlang.psi.impl.*; public interface ErlangTypes { IElementType ERL_ADDITIVE_EXPRESSION = new ErlangCompositeElementType("ERL_ADDITIVE_EXPRESSION"); IElementType ERL_AFTER_CLAUSE_BODY = new ErlangCompositeElementType("ERL_AFTER_CLAUSE_BODY"); IElementType ERL_ANDALSO_EXPRESSION = new ErlangCompositeElementType("ERL_ANDALSO_EXPRESSION"); IElementType ERL_ANONYMOUS_CALL_EXPRESSION = new ErlangCompositeElementType("ERL_ANONYMOUS_CALL_EXPRESSION"); IElementType ERL_ARGUMENT_DEFINITION = new ErlangCompositeElementType("ERL_ARGUMENT_DEFINITION"); IElementType ERL_ARGUMENT_DEFINITION_LIST = new ErlangCompositeElementType("ERL_ARGUMENT_DEFINITION_LIST"); IElementType ERL_ARGUMENT_LIST = new ErlangCompositeElementType("ERL_ARGUMENT_LIST"); IElementType ERL_ASSIGNMENT_EXPRESSION = new ErlangCompositeElementType("ERL_ASSIGNMENT_EXPRESSION"); IElementType ERL_ATOM = new ErlangCompositeElementType("ERL_ATOM"); IElementType ERL_ATOM_ATTRIBUTE = new ErlangCompositeElementType("ERL_ATOM_ATTRIBUTE"); IElementType ERL_ATOM_WITH_ARITY_EXPRESSION = new ErlangCompositeElementType("ERL_ATOM_WITH_ARITY_EXPRESSION"); IElementType ERL_ATTRIBUTE = new ErlangCompositeElementType("ERL_ATTRIBUTE"); IElementType ERL_ATTR_VAL = new ErlangCompositeElementType("ERL_ATTR_VAL"); IElementType ERL_BEGIN_END_BODY = new ErlangCompositeElementType("ERL_BEGIN_END_BODY"); IElementType ERL_BEGIN_END_EXPRESSION = new ErlangCompositeElementType("ERL_BEGIN_END_EXPRESSION"); IElementType ERL_BEHAVIOUR = ErlangElementTypeFactory.factory("ERL_BEHAVIOUR"); IElementType ERL_BINARY_EXPRESSION = new ErlangCompositeElementType("ERL_BINARY_EXPRESSION"); IElementType ERL_BINARY_TYPE = new ErlangCompositeElementType("ERL_BINARY_TYPE"); IElementType ERL_BIN_BASE_TYPE = new ErlangCompositeElementType("ERL_BIN_BASE_TYPE"); IElementType ERL_BIN_ELEMENT = new ErlangCompositeElementType("ERL_BIN_ELEMENT"); IElementType ERL_BIN_UNIT_TYPE = new ErlangCompositeElementType("ERL_BIN_UNIT_TYPE"); IElementType ERL_BIT_TYPE = new ErlangCompositeElementType("ERL_BIT_TYPE"); IElementType ERL_CALLBACK_FUNCTION = ErlangElementTypeFactory.factory("ERL_CALLBACK_FUNCTION"); IElementType ERL_CALLBACK_SPEC = ErlangElementTypeFactory.factory("ERL_CALLBACK_SPEC"); IElementType ERL_CASE_EXPRESSION = new ErlangCompositeElementType("ERL_CASE_EXPRESSION"); IElementType ERL_CATCH_EXPRESSION = new ErlangCompositeElementType("ERL_CATCH_EXPRESSION"); IElementType ERL_CLAUSE_BODY = new ErlangCompositeElementType("ERL_CLAUSE_BODY"); IElementType ERL_CLAUSE_GUARD = new ErlangCompositeElementType("ERL_CLAUSE_GUARD"); IElementType ERL_COLON_QUALIFIED_EXPRESSION = new ErlangCompositeElementType("ERL_COLON_QUALIFIED_EXPRESSION"); IElementType ERL_COMP_OP_EXPRESSION = new ErlangCompositeElementType("ERL_COMP_OP_EXPRESSION"); IElementType ERL_CONFIG_CALL_EXPRESSION = new ErlangCompositeElementType("ERL_CONFIG_CALL_EXPRESSION"); IElementType ERL_CONFIG_EXPRESSION = new ErlangCompositeElementType("ERL_CONFIG_EXPRESSION"); IElementType ERL_CR_CLAUSE = new ErlangCompositeElementType("ERL_CR_CLAUSE"); IElementType ERL_EXPORT = new ErlangCompositeElementType("ERL_EXPORT"); IElementType ERL_EXPORT_FUNCTION = new ErlangCompositeElementType("ERL_EXPORT_FUNCTION"); IElementType ERL_EXPORT_FUNCTIONS = new ErlangCompositeElementType("ERL_EXPORT_FUNCTIONS"); IElementType ERL_EXPORT_TYPE = new ErlangCompositeElementType("ERL_EXPORT_TYPE"); IElementType ERL_EXPORT_TYPES = new ErlangCompositeElementType("ERL_EXPORT_TYPES"); IElementType ERL_EXPORT_TYPE_ATTRIBUTE = new ErlangCompositeElementType("ERL_EXPORT_TYPE_ATTRIBUTE"); IElementType ERL_EXPRESSION = new ErlangCompositeElementType("ERL_EXPRESSION"); IElementType ERL_FIELD_TYPE = new ErlangCompositeElementType("ERL_FIELD_TYPE"); IElementType ERL_FUNCTION = ErlangElementTypeFactory.factory("ERL_FUNCTION"); IElementType ERL_FUNCTION_CALL_EXPRESSION = new ErlangCompositeElementType("ERL_FUNCTION_CALL_EXPRESSION"); IElementType ERL_FUNCTION_CLAUSE = new ErlangCompositeElementType("ERL_FUNCTION_CLAUSE"); IElementType ERL_FUNCTION_WITH_ARITY = new ErlangCompositeElementType("ERL_FUNCTION_WITH_ARITY"); IElementType ERL_FUNCTION_WITH_ARITY_VARIABLES = new ErlangCompositeElementType("ERL_FUNCTION_WITH_ARITY_VARIABLES"); IElementType ERL_FUN_CLAUSE = new ErlangCompositeElementType("ERL_FUN_CLAUSE"); IElementType ERL_FUN_CLAUSES = new ErlangCompositeElementType("ERL_FUN_CLAUSES"); IElementType ERL_FUN_EXPRESSION = new ErlangCompositeElementType("ERL_FUN_EXPRESSION"); IElementType ERL_FUN_TYPE = new ErlangCompositeElementType("ERL_FUN_TYPE"); IElementType ERL_FUN_TYPE_100_T = new ErlangCompositeElementType("ERL_FUN_TYPE_100_T"); IElementType ERL_FUN_TYPE_ARGUMENTS = new ErlangCompositeElementType("ERL_FUN_TYPE_ARGUMENTS"); IElementType ERL_FUN_TYPE_SIGS = new ErlangCompositeElementType("ERL_FUN_TYPE_SIGS"); IElementType ERL_FUN_TYPE_SIGS_BRACES = new ErlangCompositeElementType("ERL_FUN_TYPE_SIGS_BRACES"); IElementType ERL_GENERIC_FUNCTION_CALL_EXPRESSION = new ErlangCompositeElementType("ERL_GENERIC_FUNCTION_CALL_EXPRESSION"); IElementType ERL_GLOBAL_FUNCTION_CALL_EXPRESSION = new ErlangCompositeElementType("ERL_GLOBAL_FUNCTION_CALL_EXPRESSION"); IElementType ERL_GUARD = new ErlangCompositeElementType("ERL_GUARD"); IElementType ERL_IF_CLAUSE = new ErlangCompositeElementType("ERL_IF_CLAUSE"); IElementType ERL_IF_EXPRESSION = new ErlangCompositeElementType("ERL_IF_EXPRESSION"); IElementType ERL_IMPORT_DIRECTIVE = new ErlangCompositeElementType("ERL_IMPORT_DIRECTIVE"); IElementType ERL_IMPORT_FUNCTION = new ErlangCompositeElementType("ERL_IMPORT_FUNCTION"); IElementType ERL_IMPORT_FUNCTIONS = new ErlangCompositeElementType("ERL_IMPORT_FUNCTIONS"); IElementType ERL_INCLUDE = ErlangElementTypeFactory.factory("ERL_INCLUDE"); IElementType ERL_INCLUDE_LIB = ErlangElementTypeFactory.factory("ERL_INCLUDE_LIB"); IElementType ERL_INCLUDE_STRING = new ErlangCompositeElementType("ERL_INCLUDE_STRING"); IElementType ERL_INT_TYPE = new ErlangCompositeElementType("ERL_INT_TYPE"); IElementType ERL_LC_EXPRESSION = new ErlangCompositeElementType("ERL_LC_EXPRESSION"); IElementType ERL_LIST_COMPREHENSION = new ErlangCompositeElementType("ERL_LIST_COMPREHENSION"); IElementType ERL_LIST_EXPRESSION = new ErlangCompositeElementType("ERL_LIST_EXPRESSION"); IElementType ERL_LIST_OP_EXPRESSION = new ErlangCompositeElementType("ERL_LIST_OP_EXPRESSION"); IElementType ERL_MACROS = new ErlangCompositeElementType("ERL_MACROS"); IElementType ERL_MACROS_ARG = new ErlangCompositeElementType("ERL_MACROS_ARG"); IElementType ERL_MACROS_BODY = new ErlangCompositeElementType("ERL_MACROS_BODY"); IElementType ERL_MACROS_CALL = new ErlangCompositeElementType("ERL_MACROS_CALL"); IElementType ERL_MACROS_DEFINITION = ErlangElementTypeFactory.factory("ERL_MACROS_DEFINITION"); IElementType ERL_MACROS_NAME = new ErlangCompositeElementType("ERL_MACROS_NAME"); IElementType ERL_MAP_ENTRY = new ErlangCompositeElementType("ERL_MAP_ENTRY"); IElementType ERL_MAP_ENTRY_TYPE = new ErlangCompositeElementType("ERL_MAP_ENTRY_TYPE"); IElementType ERL_MAP_EXPRESSION = new ErlangCompositeElementType("ERL_MAP_EXPRESSION"); IElementType ERL_MAP_TUPLE = new ErlangCompositeElementType("ERL_MAP_TUPLE"); IElementType ERL_MAP_TYPE = new ErlangCompositeElementType("ERL_MAP_TYPE"); IElementType ERL_MAX_EXPRESSION = new ErlangCompositeElementType("ERL_MAX_EXPRESSION"); IElementType ERL_MODEL_FIELD_LIST = new ErlangCompositeElementType("ERL_MODEL_FIELD_LIST"); IElementType ERL_MODULE = ErlangElementTypeFactory.factory("ERL_MODULE"); IElementType ERL_MODULE_REF = new ErlangCompositeElementType("ERL_MODULE_REF"); IElementType ERL_MULTIPLICATIVE_EXPRESSION = new ErlangCompositeElementType("ERL_MULTIPLICATIVE_EXPRESSION"); IElementType ERL_OPTIONAL_CALLBACKS = new ErlangCompositeElementType("ERL_OPTIONAL_CALLBACKS"); IElementType ERL_OPTIONAL_CALLBACK_FUNCTIONS = new ErlangCompositeElementType("ERL_OPTIONAL_CALLBACK_FUNCTIONS"); IElementType ERL_OPT_BIT_TYPE_LIST = new ErlangCompositeElementType("ERL_OPT_BIT_TYPE_LIST"); IElementType ERL_ORELSE_EXPRESSION = new ErlangCompositeElementType("ERL_ORELSE_EXPRESSION"); IElementType ERL_PARENTHESIZED_EXPRESSION = new ErlangCompositeElementType("ERL_PARENTHESIZED_EXPRESSION"); IElementType ERL_PREFIX_EXPRESSION = new ErlangCompositeElementType("ERL_PREFIX_EXPRESSION"); IElementType ERL_QUALIFIED_EXPRESSION = new ErlangCompositeElementType("ERL_QUALIFIED_EXPRESSION"); IElementType ERL_Q_ATOM = new ErlangCompositeElementType("ERL_Q_ATOM"); IElementType ERL_Q_VAR = new ErlangCompositeElementType("ERL_Q_VAR"); IElementType ERL_RECEIVE_EXPRESSION = new ErlangCompositeElementType("ERL_RECEIVE_EXPRESSION"); IElementType ERL_RECORD_DEFINITION = ErlangElementTypeFactory.factory("ERL_RECORD_DEFINITION"); IElementType ERL_RECORD_EXPRESSION = new ErlangCompositeElementType("ERL_RECORD_EXPRESSION"); IElementType ERL_RECORD_FIELD = new ErlangCompositeElementType("ERL_RECORD_FIELD"); IElementType ERL_RECORD_LIKE_TYPE = new ErlangCompositeElementType("ERL_RECORD_LIKE_TYPE"); IElementType ERL_RECORD_REF = new ErlangCompositeElementType("ERL_RECORD_REF"); IElementType ERL_RECORD_TUPLE = new ErlangCompositeElementType("ERL_RECORD_TUPLE"); IElementType ERL_RULE = new ErlangCompositeElementType("ERL_RULE"); IElementType ERL_RULE_BODY = new ErlangCompositeElementType("ERL_RULE_BODY"); IElementType ERL_RULE_CLAUSE = new ErlangCompositeElementType("ERL_RULE_CLAUSE"); IElementType ERL_SEND_EXPRESSION = new ErlangCompositeElementType("ERL_SEND_EXPRESSION"); IElementType ERL_SPECIFICATION = ErlangElementTypeFactory.factory("ERL_SPECIFICATION"); IElementType ERL_SPEC_FUN = new ErlangCompositeElementType("ERL_SPEC_FUN"); IElementType ERL_STRING_LITERAL = new ErlangCompositeElementType("ERL_STRING_LITERAL"); IElementType ERL_TOP_TYPE = new ErlangCompositeElementType("ERL_TOP_TYPE"); IElementType ERL_TOP_TYPE_CLAUSE = new ErlangCompositeElementType("ERL_TOP_TYPE_CLAUSE"); IElementType ERL_TRY_CLAUSE = new ErlangCompositeElementType("ERL_TRY_CLAUSE"); IElementType ERL_TRY_CLAUSES = new ErlangCompositeElementType("ERL_TRY_CLAUSES"); IElementType ERL_TRY_EXPRESSION = new ErlangCompositeElementType("ERL_TRY_EXPRESSION"); IElementType ERL_TRY_EXPRESSIONS_CLAUSE = new ErlangCompositeElementType("ERL_TRY_EXPRESSIONS_CLAUSE"); IElementType ERL_TUPLE_EXPRESSION = new ErlangCompositeElementType("ERL_TUPLE_EXPRESSION"); IElementType ERL_TYPE = new ErlangCompositeElementType("ERL_TYPE"); IElementType ERL_TYPED_ATTR_VAL = new ErlangCompositeElementType("ERL_TYPED_ATTR_VAL"); IElementType ERL_TYPED_EXPR = new ErlangCompositeElementType("ERL_TYPED_EXPR"); IElementType ERL_TYPED_RECORD_FIELDS = new ErlangCompositeElementType("ERL_TYPED_RECORD_FIELDS"); IElementType ERL_TYPE_DEFINITION = ErlangElementTypeFactory.factory("ERL_TYPE_DEFINITION"); IElementType ERL_TYPE_GUARD = new ErlangCompositeElementType("ERL_TYPE_GUARD"); IElementType ERL_TYPE_REF = new ErlangCompositeElementType("ERL_TYPE_REF"); IElementType ERL_TYPE_SIG = new ErlangCompositeElementType("ERL_TYPE_SIG"); IElementType ERL_TYPE_SIG_GUARD = new ErlangCompositeElementType("ERL_TYPE_SIG_GUARD"); IElementType ERL_AFTER = new ErlangTokenType("after"); IElementType ERL_AND = new ErlangTokenType("and"); IElementType ERL_ANDALSO = new ErlangTokenType("andalso"); IElementType ERL_ARROW = new ErlangTokenType("->"); IElementType ERL_ASSOC = new ErlangTokenType("=>"); IElementType ERL_ATOM_NAME = new ErlangTokenType("atom_name"); IElementType ERL_BAND = new ErlangTokenType("band"); IElementType ERL_BEGIN = new ErlangTokenType("begin"); IElementType ERL_BIN_END = new ErlangTokenType(">>"); IElementType ERL_BIN_START = new ErlangTokenType("<<"); IElementType ERL_BNOT = new ErlangTokenType("bnot"); IElementType ERL_BOR = new ErlangTokenType("bor"); IElementType ERL_BRACKET_LEFT = new ErlangTokenType("["); IElementType ERL_BRACKET_RIGHT = new ErlangTokenType("]"); IElementType ERL_BSL = new ErlangTokenType("bsl"); IElementType ERL_BSR = new ErlangTokenType("bsr"); IElementType ERL_BXOR = new ErlangTokenType("bxor"); IElementType ERL_CASE = new ErlangTokenType("case"); IElementType ERL_CATCH = new ErlangTokenType("catch"); IElementType ERL_CHAR = new ErlangTokenType("char"); IElementType ERL_COLON = new ErlangTokenType(":"); IElementType ERL_COLON_COLON = new ErlangTokenType("::"); IElementType ERL_COMMA = new ErlangTokenType(","); IElementType ERL_CURLY_LEFT = new ErlangTokenType("{"); IElementType ERL_CURLY_RIGHT = new ErlangTokenType("}"); IElementType ERL_DIV = new ErlangTokenType("div"); IElementType ERL_DOT = new ErlangTokenType("."); IElementType ERL_DOT_DOT = new ErlangTokenType(".."); IElementType ERL_DOT_DOT_DOT = new ErlangTokenType("..."); IElementType ERL_END = new ErlangTokenType("end"); IElementType ERL_FLOAT = new ErlangTokenType("float"); IElementType ERL_FUN = new ErlangTokenType("fun"); IElementType ERL_IF = new ErlangTokenType("if"); IElementType ERL_INTEGER = new ErlangTokenType("integer"); IElementType ERL_MATCH = new ErlangTokenType(":="); IElementType ERL_NOT = new ErlangTokenType("not"); IElementType ERL_OF = new ErlangTokenType("of"); IElementType ERL_OP_AR_DIV = new ErlangTokenType("/"); IElementType ERL_OP_AR_MUL = new ErlangTokenType("*"); IElementType ERL_OP_DIV_EQ = new ErlangTokenType("/="); IElementType ERL_OP_EQ = new ErlangTokenType("="); IElementType ERL_OP_EQ_COL_EQ = new ErlangTokenType("=:="); IElementType ERL_OP_EQ_DIV_EQ = new ErlangTokenType("=/="); IElementType ERL_OP_EQ_EQ = new ErlangTokenType("=="); IElementType ERL_OP_EQ_LT = new ErlangTokenType("=<"); IElementType ERL_OP_EXL = new ErlangTokenType("!"); IElementType ERL_OP_GT = new ErlangTokenType(">"); IElementType ERL_OP_GT_EQ = new ErlangTokenType(">="); IElementType ERL_OP_LT = new ErlangTokenType("<"); IElementType ERL_OP_LT_EQ = new ErlangTokenType("<="); IElementType ERL_OP_LT_MINUS = new ErlangTokenType("<-"); IElementType ERL_OP_MINUS = new ErlangTokenType("-"); IElementType ERL_OP_MINUS_MINUS = new ErlangTokenType("--"); IElementType ERL_OP_OR = new ErlangTokenType("|"); IElementType ERL_OP_PLUS = new ErlangTokenType("+"); IElementType ERL_OP_PLUS_PLUS = new ErlangTokenType("++"); IElementType ERL_OR = new ErlangTokenType("or"); IElementType ERL_ORELSE = new ErlangTokenType("orelse"); IElementType ERL_OR_OR = new ErlangTokenType("||"); IElementType ERL_PAR_LEFT = new ErlangTokenType("("); IElementType ERL_PAR_RIGHT = new ErlangTokenType(")"); IElementType ERL_QMARK = new ErlangTokenType("?"); IElementType ERL_RADIX = new ErlangTokenType("#"); IElementType ERL_RECEIVE = new ErlangTokenType("receive"); IElementType ERL_REM = new ErlangTokenType("rem"); IElementType ERL_SEMI = new ErlangTokenType(";"); IElementType ERL_SINGLE_QUOTE = new ErlangTokenType("single_quote"); IElementType ERL_STRING = new ErlangTokenType("string"); IElementType ERL_TRY = new ErlangTokenType("try"); IElementType ERL_VAR = new ErlangTokenType("var"); IElementType ERL_WHEN = new ErlangTokenType("when"); IElementType ERL_XOR = new ErlangTokenType("xor"); class Factory { public static PsiElement createElement(ASTNode node) { IElementType type = node.getElementType(); if (type == ERL_ADDITIVE_EXPRESSION) { return new ErlangAdditiveExpressionImpl(node); } else if (type == ERL_AFTER_CLAUSE_BODY) { return new ErlangAfterClauseBodyImpl(node); } else if (type == ERL_ANDALSO_EXPRESSION) { return new ErlangAndalsoExpressionImpl(node); } else if (type == ERL_ANONYMOUS_CALL_EXPRESSION) { return new ErlangAnonymousCallExpressionImpl(node); } else if (type == ERL_ARGUMENT_DEFINITION) { return new ErlangArgumentDefinitionImpl(node); } else if (type == ERL_ARGUMENT_DEFINITION_LIST) { return new ErlangArgumentDefinitionListImpl(node); } else if (type == ERL_ARGUMENT_LIST) { return new ErlangArgumentListImpl(node); } else if (type == ERL_ASSIGNMENT_EXPRESSION) { return new ErlangAssignmentExpressionImpl(node); } else if (type == ERL_ATOM) { return new ErlangAtomImpl(node); } else if (type == ERL_ATOM_ATTRIBUTE) { return new ErlangAtomAttributeImpl(node); } else if (type == ERL_ATOM_WITH_ARITY_EXPRESSION) { return new ErlangAtomWithArityExpressionImpl(node); } else if (type == ERL_ATTRIBUTE) { return new ErlangAttributeImpl(node); } else if (type == ERL_ATTR_VAL) { return new ErlangAttrValImpl(node); } else if (type == ERL_BEGIN_END_BODY) { return new ErlangBeginEndBodyImpl(node); } else if (type == ERL_BEGIN_END_EXPRESSION) { return new ErlangBeginEndExpressionImpl(node); } else if (type == ERL_BEHAVIOUR) { return new ErlangBehaviourImpl(node); } else if (type == ERL_BINARY_EXPRESSION) { return new ErlangBinaryExpressionImpl(node); } else if (type == ERL_BINARY_TYPE) { return new ErlangBinaryTypeImpl(node); } else if (type == ERL_BIN_BASE_TYPE) { return new ErlangBinBaseTypeImpl(node); } else if (type == ERL_BIN_ELEMENT) { return new ErlangBinElementImpl(node); } else if (type == ERL_BIN_UNIT_TYPE) { return new ErlangBinUnitTypeImpl(node); } else if (type == ERL_BIT_TYPE) { return new ErlangBitTypeImpl(node); } else if (type == ERL_CALLBACK_FUNCTION) { return new ErlangCallbackFunctionImpl(node); } else if (type == ERL_CALLBACK_SPEC) { return new ErlangCallbackSpecImpl(node); } else if (type == ERL_CASE_EXPRESSION) { return new ErlangCaseExpressionImpl(node); } else if (type == ERL_CATCH_EXPRESSION) { return new ErlangCatchExpressionImpl(node); } else if (type == ERL_CLAUSE_BODY) { return new ErlangClauseBodyImpl(node); } else if (type == ERL_CLAUSE_GUARD) { return new ErlangClauseGuardImpl(node); } else if (type == ERL_COLON_QUALIFIED_EXPRESSION) { return new ErlangColonQualifiedExpressionImpl(node); } else if (type == ERL_COMP_OP_EXPRESSION) { return new ErlangCompOpExpressionImpl(node); } else if (type == ERL_CONFIG_CALL_EXPRESSION) { return new ErlangConfigCallExpressionImpl(node); } else if (type == ERL_CONFIG_EXPRESSION) { return new ErlangConfigExpressionImpl(node); } else if (type == ERL_CR_CLAUSE) { return new ErlangCrClauseImpl(node); } else if (type == ERL_EXPORT) { return new ErlangExportImpl(node); } else if (type == ERL_EXPORT_FUNCTION) { return new ErlangExportFunctionImpl(node); } else if (type == ERL_EXPORT_FUNCTIONS) { return new ErlangExportFunctionsImpl(node); } else if (type == ERL_EXPORT_TYPE) { return new ErlangExportTypeImpl(node); } else if (type == ERL_EXPORT_TYPES) { return new ErlangExportTypesImpl(node); } else if (type == ERL_EXPORT_TYPE_ATTRIBUTE) { return new ErlangExportTypeAttributeImpl(node); } else if (type == ERL_EXPRESSION) { return new ErlangExpressionImpl(node); } else if (type == ERL_FIELD_TYPE) { return new ErlangFieldTypeImpl(node); } else if (type == ERL_FUNCTION) { return new ErlangFunctionImpl(node); } else if (type == ERL_FUNCTION_CALL_EXPRESSION) { return new ErlangFunctionCallExpressionImpl(node); } else if (type == ERL_FUNCTION_CLAUSE) { return new ErlangFunctionClauseImpl(node); } else if (type == ERL_FUNCTION_WITH_ARITY) { return new ErlangFunctionWithArityImpl(node); } else if (type == ERL_FUNCTION_WITH_ARITY_VARIABLES) { return new ErlangFunctionWithArityVariablesImpl(node); } else if (type == ERL_FUN_CLAUSE) { return new ErlangFunClauseImpl(node); } else if (type == ERL_FUN_CLAUSES) { return new ErlangFunClausesImpl(node); } else if (type == ERL_FUN_EXPRESSION) { return new ErlangFunExpressionImpl(node); } else if (type == ERL_FUN_TYPE) { return new ErlangFunTypeImpl(node); } else if (type == ERL_FUN_TYPE_100_T) { return new ErlangFunType100TImpl(node); } else if (type == ERL_FUN_TYPE_ARGUMENTS) { return new ErlangFunTypeArgumentsImpl(node); } else if (type == ERL_FUN_TYPE_SIGS) { return new ErlangFunTypeSigsImpl(node); } else if (type == ERL_FUN_TYPE_SIGS_BRACES) { return new ErlangFunTypeSigsBracesImpl(node); } else if (type == ERL_GENERIC_FUNCTION_CALL_EXPRESSION) { return new ErlangGenericFunctionCallExpressionImpl(node); } else if (type == ERL_GLOBAL_FUNCTION_CALL_EXPRESSION) { return new ErlangGlobalFunctionCallExpressionImpl(node); } else if (type == ERL_GUARD) { return new ErlangGuardImpl(node); } else if (type == ERL_IF_CLAUSE) { return new ErlangIfClauseImpl(node); } else if (type == ERL_IF_EXPRESSION) { return new ErlangIfExpressionImpl(node); } else if (type == ERL_IMPORT_DIRECTIVE) { return new ErlangImportDirectiveImpl(node); } else if (type == ERL_IMPORT_FUNCTION) { return new ErlangImportFunctionImpl(node); } else if (type == ERL_IMPORT_FUNCTIONS) { return new ErlangImportFunctionsImpl(node); } else if (type == ERL_INCLUDE) { return new ErlangIncludeImpl(node); } else if (type == ERL_INCLUDE_LIB) { return new ErlangIncludeLibImpl(node); } else if (type == ERL_INCLUDE_STRING) { return new ErlangIncludeStringImpl(node); } else if (type == ERL_INT_TYPE) { return new ErlangIntTypeImpl(node); } else if (type == ERL_LC_EXPRESSION) { return new ErlangLcExpressionImpl(node); } else if (type == ERL_LIST_COMPREHENSION) { return new ErlangListComprehensionImpl(node); } else if (type == ERL_LIST_EXPRESSION) { return new ErlangListExpressionImpl(node); } else if (type == ERL_LIST_OP_EXPRESSION) { return new ErlangListOpExpressionImpl(node); } else if (type == ERL_MACROS) { return new ErlangMacrosImpl(node); } else if (type == ERL_MACROS_ARG) { return new ErlangMacrosArgImpl(node); } else if (type == ERL_MACROS_BODY) { return new ErlangMacrosBodyImpl(node); } else if (type == ERL_MACROS_CALL) { return new ErlangMacrosCallImpl(node); } else if (type == ERL_MACROS_DEFINITION) { return new ErlangMacrosDefinitionImpl(node); } else if (type == ERL_MACROS_NAME) { return new ErlangMacrosNameImpl(node); } else if (type == ERL_MAP_ENTRY) { return new ErlangMapEntryImpl(node); } else if (type == ERL_MAP_ENTRY_TYPE) { return new ErlangMapEntryTypeImpl(node); } else if (type == ERL_MAP_EXPRESSION) { return new ErlangMapExpressionImpl(node); } else if (type == ERL_MAP_TUPLE) { return new ErlangMapTupleImpl(node); } else if (type == ERL_MAP_TYPE) { return new ErlangMapTypeImpl(node); } else if (type == ERL_MAX_EXPRESSION) { return new ErlangMaxExpressionImpl(node); } else if (type == ERL_MODEL_FIELD_LIST) { return new ErlangModelFieldListImpl(node); } else if (type == ERL_MODULE) { return new ErlangModuleImpl(node); } else if (type == ERL_MODULE_REF) { return new ErlangModuleRefImpl(node); } else if (type == ERL_MULTIPLICATIVE_EXPRESSION) { return new ErlangMultiplicativeExpressionImpl(node); } else if (type == ERL_OPTIONAL_CALLBACKS) { return new ErlangOptionalCallbacksImpl(node); } else if (type == ERL_OPTIONAL_CALLBACK_FUNCTIONS) { return new ErlangOptionalCallbackFunctionsImpl(node); } else if (type == ERL_OPT_BIT_TYPE_LIST) { return new ErlangOptBitTypeListImpl(node); } else if (type == ERL_ORELSE_EXPRESSION) { return new ErlangOrelseExpressionImpl(node); } else if (type == ERL_PARENTHESIZED_EXPRESSION) { return new ErlangParenthesizedExpressionImpl(node); } else if (type == ERL_PREFIX_EXPRESSION) { return new ErlangPrefixExpressionImpl(node); } else if (type == ERL_QUALIFIED_EXPRESSION) { return new ErlangQualifiedExpressionImpl(node); } else if (type == ERL_Q_ATOM) { return new ErlangQAtomImpl(node); } else if (type == ERL_Q_VAR) { return new ErlangQVarImpl(node); } else if (type == ERL_RECEIVE_EXPRESSION) { return new ErlangReceiveExpressionImpl(node); } else if (type == ERL_RECORD_DEFINITION) { return new ErlangRecordDefinitionImpl(node); } else if (type == ERL_RECORD_EXPRESSION) { return new ErlangRecordExpressionImpl(node); } else if (type == ERL_RECORD_FIELD) { return new ErlangRecordFieldImpl(node); } else if (type == ERL_RECORD_LIKE_TYPE) { return new ErlangRecordLikeTypeImpl(node); } else if (type == ERL_RECORD_REF) { return new ErlangRecordRefImpl(node); } else if (type == ERL_RECORD_TUPLE) { return new ErlangRecordTupleImpl(node); } else if (type == ERL_RULE) { return new ErlangRuleImpl(node); } else if (type == ERL_RULE_BODY) { return new ErlangRuleBodyImpl(node); } else if (type == ERL_RULE_CLAUSE) { return new ErlangRuleClauseImpl(node); } else if (type == ERL_SEND_EXPRESSION) { return new ErlangSendExpressionImpl(node); } else if (type == ERL_SPECIFICATION) { return new ErlangSpecificationImpl(node); } else if (type == ERL_SPEC_FUN) { return new ErlangSpecFunImpl(node); } else if (type == ERL_STRING_LITERAL) { return new ErlangStringLiteralImpl(node); } else if (type == ERL_TOP_TYPE) { return new ErlangTopTypeImpl(node); } else if (type == ERL_TOP_TYPE_CLAUSE) { return new ErlangTopTypeClauseImpl(node); } else if (type == ERL_TRY_CLAUSE) { return new ErlangTryClauseImpl(node); } else if (type == ERL_TRY_CLAUSES) { return new ErlangTryClausesImpl(node); } else if (type == ERL_TRY_EXPRESSION) { return new ErlangTryExpressionImpl(node); } else if (type == ERL_TRY_EXPRESSIONS_CLAUSE) { return new ErlangTryExpressionsClauseImpl(node); } else if (type == ERL_TUPLE_EXPRESSION) { return new ErlangTupleExpressionImpl(node); } else if (type == ERL_TYPE) { return new ErlangTypeImpl(node); } else if (type == ERL_TYPED_ATTR_VAL) { return new ErlangTypedAttrValImpl(node); } else if (type == ERL_TYPED_EXPR) { return new ErlangTypedExprImpl(node); } else if (type == ERL_TYPED_RECORD_FIELDS) { return new ErlangTypedRecordFieldsImpl(node); } else if (type == ERL_TYPE_DEFINITION) { return new ErlangTypeDefinitionImpl(node); } else if (type == ERL_TYPE_GUARD) { return new ErlangTypeGuardImpl(node); } else if (type == ERL_TYPE_REF) { return new ErlangTypeRefImpl(node); } else if (type == ERL_TYPE_SIG) { return new ErlangTypeSigImpl(node); } else if (type == ERL_TYPE_SIG_GUARD) { return new ErlangTypeSigGuardImpl(node); } throw new AssertionError("Unknown element type: " + type); } } }