/* * Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // This is a generated file. Not intended for manual editing. package com.goide; import com.intellij.psi.tree.IElementType; import com.intellij.psi.PsiElement; import com.intellij.lang.ASTNode; import com.goide.psi.GoCompositeElementType; import com.goide.stubs.GoElementTypeFactory; import com.goide.psi.GoTokenType; import com.goide.psi.impl.*; public interface GoTypes { IElementType ADD_EXPR = new GoCompositeElementType("ADD_EXPR"); IElementType AND_EXPR = new GoCompositeElementType("AND_EXPR"); IElementType ANONYMOUS_FIELD_DEFINITION = GoElementTypeFactory.stubFactory("ANONYMOUS_FIELD_DEFINITION"); IElementType ARGUMENT_LIST = new GoCompositeElementType("ARGUMENT_LIST"); IElementType ARRAY_OR_SLICE_TYPE = GoElementTypeFactory.stubFactory("ARRAY_OR_SLICE_TYPE"); IElementType ASSIGNMENT_STATEMENT = new GoCompositeElementType("ASSIGNMENT_STATEMENT"); IElementType ASSIGN_OP = new GoCompositeElementType("ASSIGN_OP"); IElementType BLOCK = new GoCompositeElementType("BLOCK"); IElementType BREAK_STATEMENT = new GoCompositeElementType("BREAK_STATEMENT"); IElementType BUILTIN_ARGUMENT_LIST = new GoCompositeElementType("BUILTIN_ARGUMENT_LIST"); IElementType BUILTIN_CALL_EXPR = new GoCompositeElementType("BUILTIN_CALL_EXPR"); IElementType CALL_EXPR = new GoCompositeElementType("CALL_EXPR"); IElementType CHANNEL_TYPE = GoElementTypeFactory.stubFactory("CHANNEL_TYPE"); IElementType COMM_CASE = new GoCompositeElementType("COMM_CASE"); IElementType COMM_CLAUSE = new GoCompositeElementType("COMM_CLAUSE"); IElementType COMPOSITE_LIT = new GoCompositeElementType("COMPOSITE_LIT"); IElementType CONDITIONAL_EXPR = new GoCompositeElementType("CONDITIONAL_EXPR"); IElementType CONST_DECLARATION = new GoCompositeElementType("CONST_DECLARATION"); IElementType CONST_DEFINITION = GoElementTypeFactory.stubFactory("CONST_DEFINITION"); IElementType CONST_SPEC = GoElementTypeFactory.stubFactory("CONST_SPEC"); IElementType CONTINUE_STATEMENT = new GoCompositeElementType("CONTINUE_STATEMENT"); IElementType CONVERSION_EXPR = new GoCompositeElementType("CONVERSION_EXPR"); IElementType DEFER_STATEMENT = new GoCompositeElementType("DEFER_STATEMENT"); IElementType ELEMENT = new GoCompositeElementType("ELEMENT"); IElementType ELSE_STATEMENT = new GoCompositeElementType("ELSE_STATEMENT"); IElementType EXPRESSION = new GoCompositeElementType("EXPRESSION"); IElementType EXPR_CASE_CLAUSE = new GoCompositeElementType("EXPR_CASE_CLAUSE"); IElementType EXPR_SWITCH_STATEMENT = new GoCompositeElementType("EXPR_SWITCH_STATEMENT"); IElementType FALLTHROUGH_STATEMENT = new GoCompositeElementType("FALLTHROUGH_STATEMENT"); IElementType FIELD_DECLARATION = new GoCompositeElementType("FIELD_DECLARATION"); IElementType FIELD_DEFINITION = GoElementTypeFactory.stubFactory("FIELD_DEFINITION"); IElementType FIELD_NAME = new GoCompositeElementType("FIELD_NAME"); IElementType FOR_CLAUSE = new GoCompositeElementType("FOR_CLAUSE"); IElementType FOR_STATEMENT = new GoCompositeElementType("FOR_STATEMENT"); IElementType FUNCTION_DECLARATION = GoElementTypeFactory.stubFactory("FUNCTION_DECLARATION"); IElementType FUNCTION_LIT = new GoCompositeElementType("FUNCTION_LIT"); IElementType FUNCTION_TYPE = GoElementTypeFactory.stubFactory("FUNCTION_TYPE"); IElementType GOTO_STATEMENT = new GoCompositeElementType("GOTO_STATEMENT"); IElementType GO_STATEMENT = new GoCompositeElementType("GO_STATEMENT"); IElementType IF_STATEMENT = new GoCompositeElementType("IF_STATEMENT"); IElementType IMPORT_DECLARATION = new GoCompositeElementType("IMPORT_DECLARATION"); IElementType IMPORT_LIST = new GoCompositeElementType("IMPORT_LIST"); IElementType IMPORT_SPEC = GoElementTypeFactory.stubFactory("IMPORT_SPEC"); IElementType IMPORT_STRING = new GoCompositeElementType("IMPORT_STRING"); IElementType INC_DEC_STATEMENT = new GoCompositeElementType("INC_DEC_STATEMENT"); IElementType INDEX_OR_SLICE_EXPR = new GoCompositeElementType("INDEX_OR_SLICE_EXPR"); IElementType INTERFACE_TYPE = GoElementTypeFactory.stubFactory("INTERFACE_TYPE"); IElementType KEY = new GoCompositeElementType("KEY"); IElementType LABELED_STATEMENT = new GoCompositeElementType("LABELED_STATEMENT"); IElementType LABEL_DEFINITION = GoElementTypeFactory.stubFactory("LABEL_DEFINITION"); IElementType LABEL_REF = new GoCompositeElementType("LABEL_REF"); IElementType LEFT_HAND_EXPR_LIST = new GoCompositeElementType("LEFT_HAND_EXPR_LIST"); IElementType LITERAL = new GoCompositeElementType("LITERAL"); IElementType LITERAL_TYPE_EXPR = new GoCompositeElementType("LITERAL_TYPE_EXPR"); IElementType LITERAL_VALUE = new GoCompositeElementType("LITERAL_VALUE"); IElementType MAP_TYPE = GoElementTypeFactory.stubFactory("MAP_TYPE"); IElementType METHOD_DECLARATION = GoElementTypeFactory.stubFactory("METHOD_DECLARATION"); IElementType METHOD_SPEC = GoElementTypeFactory.stubFactory("METHOD_SPEC"); IElementType MUL_EXPR = new GoCompositeElementType("MUL_EXPR"); IElementType OR_EXPR = new GoCompositeElementType("OR_EXPR"); IElementType PACKAGE_CLAUSE = GoElementTypeFactory.stubFactory("PACKAGE_CLAUSE"); IElementType PARAMETERS = GoElementTypeFactory.stubFactory("PARAMETERS"); IElementType PARAMETER_DECLARATION = GoElementTypeFactory.stubFactory("PARAMETER_DECLARATION"); IElementType PARAM_DEFINITION = GoElementTypeFactory.stubFactory("PARAM_DEFINITION"); IElementType PARENTHESES_EXPR = new GoCompositeElementType("PARENTHESES_EXPR"); IElementType PAR_TYPE = GoElementTypeFactory.stubFactory("PAR_TYPE"); IElementType POINTER_TYPE = GoElementTypeFactory.stubFactory("POINTER_TYPE"); IElementType RANGE_CLAUSE = GoElementTypeFactory.stubFactory("RANGE_CLAUSE"); IElementType RECEIVER = GoElementTypeFactory.stubFactory("RECEIVER"); IElementType RECV_STATEMENT = GoElementTypeFactory.stubFactory("RECV_STATEMENT"); IElementType REFERENCE_EXPRESSION = new GoCompositeElementType("REFERENCE_EXPRESSION"); IElementType RESULT = GoElementTypeFactory.stubFactory("RESULT"); IElementType RETURN_STATEMENT = new GoCompositeElementType("RETURN_STATEMENT"); IElementType SELECTOR_EXPR = new GoCompositeElementType("SELECTOR_EXPR"); IElementType SELECT_STATEMENT = new GoCompositeElementType("SELECT_STATEMENT"); IElementType SEND_STATEMENT = new GoCompositeElementType("SEND_STATEMENT"); IElementType SHORT_VAR_DECLARATION = GoElementTypeFactory.stubFactory("SHORT_VAR_DECLARATION"); IElementType SIGNATURE = GoElementTypeFactory.stubFactory("SIGNATURE"); IElementType SIMPLE_STATEMENT = new GoCompositeElementType("SIMPLE_STATEMENT"); IElementType SPEC_TYPE = GoElementTypeFactory.stubFactory("SPEC_TYPE"); IElementType STATEMENT = new GoCompositeElementType("STATEMENT"); IElementType STRING_LITERAL = new GoCompositeElementType("STRING_LITERAL"); IElementType STRUCT_TYPE = GoElementTypeFactory.stubFactory("STRUCT_TYPE"); IElementType SWITCH_START = new GoCompositeElementType("SWITCH_START"); IElementType SWITCH_STATEMENT = new GoCompositeElementType("SWITCH_STATEMENT"); IElementType TAG = new GoCompositeElementType("TAG"); IElementType TYPE = GoElementTypeFactory.stubFactory("TYPE"); IElementType TYPE_ASSERTION_EXPR = new GoCompositeElementType("TYPE_ASSERTION_EXPR"); IElementType TYPE_CASE_CLAUSE = new GoCompositeElementType("TYPE_CASE_CLAUSE"); IElementType TYPE_DECLARATION = new GoCompositeElementType("TYPE_DECLARATION"); IElementType TYPE_GUARD = new GoCompositeElementType("TYPE_GUARD"); IElementType TYPE_LIST = GoElementTypeFactory.stubFactory("TYPE_LIST"); IElementType TYPE_REFERENCE_EXPRESSION = new GoCompositeElementType("TYPE_REFERENCE_EXPRESSION"); IElementType TYPE_SPEC = GoElementTypeFactory.stubFactory("TYPE_SPEC"); IElementType TYPE_SWITCH_GUARD = new GoCompositeElementType("TYPE_SWITCH_GUARD"); IElementType TYPE_SWITCH_STATEMENT = new GoCompositeElementType("TYPE_SWITCH_STATEMENT"); IElementType UNARY_EXPR = new GoCompositeElementType("UNARY_EXPR"); IElementType VALUE = new GoCompositeElementType("VALUE"); IElementType VAR_DECLARATION = new GoCompositeElementType("VAR_DECLARATION"); IElementType VAR_DEFINITION = GoElementTypeFactory.stubFactory("VAR_DEFINITION"); IElementType VAR_SPEC = GoElementTypeFactory.stubFactory("VAR_SPEC"); IElementType ASSIGN = new GoTokenType("="); IElementType BIT_AND = new GoTokenType("&"); IElementType BIT_AND_ASSIGN = new GoTokenType("&="); IElementType BIT_CLEAR = new GoTokenType("&^"); IElementType BIT_CLEAR_ASSIGN = new GoTokenType("&^="); IElementType BIT_OR = new GoTokenType("|"); IElementType BIT_OR_ASSIGN = new GoTokenType("|="); IElementType BIT_XOR = new GoTokenType("^"); IElementType BIT_XOR_ASSIGN = new GoTokenType("^="); IElementType BREAK = new GoTokenType("break"); IElementType CASE = new GoTokenType("case"); IElementType CHAN = new GoTokenType("chan"); IElementType CHAR = new GoTokenType("char"); IElementType COLON = new GoTokenType(":"); IElementType COMMA = new GoTokenType(","); IElementType COND_AND = new GoTokenType("&&"); IElementType COND_OR = new GoTokenType("||"); IElementType CONST = new GoTokenType("const"); IElementType CONTINUE = new GoTokenType("continue"); IElementType DECIMALI = new GoTokenType("decimali"); IElementType DEFAULT = new GoTokenType("default"); IElementType DEFER = new GoTokenType("defer"); IElementType DOT = new GoTokenType("."); IElementType ELSE = new GoTokenType("else"); IElementType EQ = new GoTokenType("=="); IElementType FALLTHROUGH = new GoTokenType("fallthrough"); IElementType FLOAT = new GoTokenType("float"); IElementType FLOATI = new GoTokenType("floati"); IElementType FOR = new GoTokenType("for"); IElementType FUNC = new GoTokenType("func"); IElementType GO = new GoTokenType("go"); IElementType GOTO = new GoTokenType("goto"); IElementType GREATER = new GoTokenType(">"); IElementType GREATER_OR_EQUAL = new GoTokenType(">="); IElementType HEX = new GoTokenType("hex"); IElementType IDENTIFIER = new GoTokenType("identifier"); IElementType IF = new GoTokenType("if"); IElementType IMPORT = new GoTokenType("import"); IElementType INT = new GoTokenType("int"); IElementType INTERFACE = new GoTokenType("interface"); IElementType LBRACE = new GoTokenType("{"); IElementType LBRACK = new GoTokenType("["); IElementType LESS = new GoTokenType("<"); IElementType LESS_OR_EQUAL = new GoTokenType("<="); IElementType LPAREN = new GoTokenType("("); IElementType MAP = new GoTokenType("map"); IElementType MINUS = new GoTokenType("-"); IElementType MINUS_ASSIGN = new GoTokenType("-="); IElementType MINUS_MINUS = new GoTokenType("--"); IElementType MUL = new GoTokenType("*"); IElementType MUL_ASSIGN = new GoTokenType("*="); IElementType NOT = new GoTokenType("!"); IElementType NOT_EQ = new GoTokenType("!="); IElementType OCT = new GoTokenType("oct"); IElementType PACKAGE = new GoTokenType("package"); IElementType PLUS = new GoTokenType("+"); IElementType PLUS_ASSIGN = new GoTokenType("+="); IElementType PLUS_PLUS = new GoTokenType("++"); IElementType QUOTIENT = new GoTokenType("/"); IElementType QUOTIENT_ASSIGN = new GoTokenType("/="); IElementType RANGE = new GoTokenType("range"); IElementType RAW_STRING = new GoTokenType("raw_string"); IElementType RBRACE = new GoTokenType("}"); IElementType RBRACK = new GoTokenType("]"); IElementType REMAINDER = new GoTokenType("%"); IElementType REMAINDER_ASSIGN = new GoTokenType("%="); IElementType RETURN = new GoTokenType("return"); IElementType RPAREN = new GoTokenType(")"); IElementType SELECT = new GoTokenType("select"); IElementType SEMICOLON = new GoTokenType(";"); IElementType SEMICOLON_SYNTHETIC = new GoTokenType("<NL>"); IElementType SEND_CHANNEL = new GoTokenType("<-"); IElementType SHIFT_LEFT = new GoTokenType("<<"); IElementType SHIFT_LEFT_ASSIGN = new GoTokenType("<<="); IElementType SHIFT_RIGHT = new GoTokenType(">>"); IElementType SHIFT_RIGHT_ASSIGN = new GoTokenType(">>="); IElementType STRING = new GoTokenType("string"); IElementType STRUCT = new GoTokenType("struct"); IElementType SWITCH = new GoTokenType("switch"); IElementType TRIPLE_DOT = new GoTokenType("..."); IElementType TYPE_ = new GoTokenType("type"); IElementType VAR = new GoTokenType("var"); IElementType VAR_ASSIGN = new GoTokenType(":="); class Factory { public static PsiElement createElement(ASTNode node) { IElementType type = node.getElementType(); if (type == ADD_EXPR) { return new GoAddExprImpl(node); } else if (type == AND_EXPR) { return new GoAndExprImpl(node); } else if (type == ANONYMOUS_FIELD_DEFINITION) { return new GoAnonymousFieldDefinitionImpl(node); } else if (type == ARGUMENT_LIST) { return new GoArgumentListImpl(node); } else if (type == ARRAY_OR_SLICE_TYPE) { return new GoArrayOrSliceTypeImpl(node); } else if (type == ASSIGNMENT_STATEMENT) { return new GoAssignmentStatementImpl(node); } else if (type == ASSIGN_OP) { return new GoAssignOpImpl(node); } else if (type == BLOCK) { return new GoBlockImpl(node); } else if (type == BREAK_STATEMENT) { return new GoBreakStatementImpl(node); } else if (type == BUILTIN_ARGUMENT_LIST) { return new GoBuiltinArgumentListImpl(node); } else if (type == BUILTIN_CALL_EXPR) { return new GoBuiltinCallExprImpl(node); } else if (type == CALL_EXPR) { return new GoCallExprImpl(node); } else if (type == CHANNEL_TYPE) { return new GoChannelTypeImpl(node); } else if (type == COMM_CASE) { return new GoCommCaseImpl(node); } else if (type == COMM_CLAUSE) { return new GoCommClauseImpl(node); } else if (type == COMPOSITE_LIT) { return new GoCompositeLitImpl(node); } else if (type == CONDITIONAL_EXPR) { return new GoConditionalExprImpl(node); } else if (type == CONST_DECLARATION) { return new GoConstDeclarationImpl(node); } else if (type == CONST_DEFINITION) { return new GoConstDefinitionImpl(node); } else if (type == CONST_SPEC) { return new GoConstSpecImpl(node); } else if (type == CONTINUE_STATEMENT) { return new GoContinueStatementImpl(node); } else if (type == CONVERSION_EXPR) { return new GoConversionExprImpl(node); } else if (type == DEFER_STATEMENT) { return new GoDeferStatementImpl(node); } else if (type == ELEMENT) { return new GoElementImpl(node); } else if (type == ELSE_STATEMENT) { return new GoElseStatementImpl(node); } else if (type == EXPRESSION) { return new GoExpressionImpl(node); } else if (type == EXPR_CASE_CLAUSE) { return new GoExprCaseClauseImpl(node); } else if (type == EXPR_SWITCH_STATEMENT) { return new GoExprSwitchStatementImpl(node); } else if (type == FALLTHROUGH_STATEMENT) { return new GoFallthroughStatementImpl(node); } else if (type == FIELD_DECLARATION) { return new GoFieldDeclarationImpl(node); } else if (type == FIELD_DEFINITION) { return new GoFieldDefinitionImpl(node); } else if (type == FIELD_NAME) { return new GoFieldNameImpl(node); } else if (type == FOR_CLAUSE) { return new GoForClauseImpl(node); } else if (type == FOR_STATEMENT) { return new GoForStatementImpl(node); } else if (type == FUNCTION_DECLARATION) { return new GoFunctionDeclarationImpl(node); } else if (type == FUNCTION_LIT) { return new GoFunctionLitImpl(node); } else if (type == FUNCTION_TYPE) { return new GoFunctionTypeImpl(node); } else if (type == GOTO_STATEMENT) { return new GoGotoStatementImpl(node); } else if (type == GO_STATEMENT) { return new GoGoStatementImpl(node); } else if (type == IF_STATEMENT) { return new GoIfStatementImpl(node); } else if (type == IMPORT_DECLARATION) { return new GoImportDeclarationImpl(node); } else if (type == IMPORT_LIST) { return new GoImportListImpl(node); } else if (type == IMPORT_SPEC) { return new GoImportSpecImpl(node); } else if (type == IMPORT_STRING) { return new GoImportStringImpl(node); } else if (type == INC_DEC_STATEMENT) { return new GoIncDecStatementImpl(node); } else if (type == INDEX_OR_SLICE_EXPR) { return new GoIndexOrSliceExprImpl(node); } else if (type == INTERFACE_TYPE) { return new GoInterfaceTypeImpl(node); } else if (type == KEY) { return new GoKeyImpl(node); } else if (type == LABELED_STATEMENT) { return new GoLabeledStatementImpl(node); } else if (type == LABEL_DEFINITION) { return new GoLabelDefinitionImpl(node); } else if (type == LABEL_REF) { return new GoLabelRefImpl(node); } else if (type == LEFT_HAND_EXPR_LIST) { return new GoLeftHandExprListImpl(node); } else if (type == LITERAL) { return new GoLiteralImpl(node); } else if (type == LITERAL_TYPE_EXPR) { return new GoLiteralTypeExprImpl(node); } else if (type == LITERAL_VALUE) { return new GoLiteralValueImpl(node); } else if (type == MAP_TYPE) { return new GoMapTypeImpl(node); } else if (type == METHOD_DECLARATION) { return new GoMethodDeclarationImpl(node); } else if (type == METHOD_SPEC) { return new GoMethodSpecImpl(node); } else if (type == MUL_EXPR) { return new GoMulExprImpl(node); } else if (type == OR_EXPR) { return new GoOrExprImpl(node); } else if (type == PACKAGE_CLAUSE) { return new GoPackageClauseImpl(node); } else if (type == PARAMETERS) { return new GoParametersImpl(node); } else if (type == PARAMETER_DECLARATION) { return new GoParameterDeclarationImpl(node); } else if (type == PARAM_DEFINITION) { return new GoParamDefinitionImpl(node); } else if (type == PARENTHESES_EXPR) { return new GoParenthesesExprImpl(node); } else if (type == PAR_TYPE) { return new GoParTypeImpl(node); } else if (type == POINTER_TYPE) { return new GoPointerTypeImpl(node); } else if (type == RANGE_CLAUSE) { return new GoRangeClauseImpl(node); } else if (type == RECEIVER) { return new GoReceiverImpl(node); } else if (type == RECV_STATEMENT) { return new GoRecvStatementImpl(node); } else if (type == REFERENCE_EXPRESSION) { return new GoReferenceExpressionImpl(node); } else if (type == RESULT) { return new GoResultImpl(node); } else if (type == RETURN_STATEMENT) { return new GoReturnStatementImpl(node); } else if (type == SELECTOR_EXPR) { return new GoSelectorExprImpl(node); } else if (type == SELECT_STATEMENT) { return new GoSelectStatementImpl(node); } else if (type == SEND_STATEMENT) { return new GoSendStatementImpl(node); } else if (type == SHORT_VAR_DECLARATION) { return new GoShortVarDeclarationImpl(node); } else if (type == SIGNATURE) { return new GoSignatureImpl(node); } else if (type == SIMPLE_STATEMENT) { return new GoSimpleStatementImpl(node); } else if (type == SPEC_TYPE) { return new GoSpecTypeImpl(node); } else if (type == STATEMENT) { return new GoStatementImpl(node); } else if (type == STRING_LITERAL) { return new GoStringLiteralImpl(node); } else if (type == STRUCT_TYPE) { return new GoStructTypeImpl(node); } else if (type == SWITCH_START) { return new GoSwitchStartImpl(node); } else if (type == SWITCH_STATEMENT) { return new GoSwitchStatementImpl(node); } else if (type == TAG) { return new GoTagImpl(node); } else if (type == TYPE) { return new GoTypeImpl(node); } else if (type == TYPE_ASSERTION_EXPR) { return new GoTypeAssertionExprImpl(node); } else if (type == TYPE_CASE_CLAUSE) { return new GoTypeCaseClauseImpl(node); } else if (type == TYPE_DECLARATION) { return new GoTypeDeclarationImpl(node); } else if (type == TYPE_GUARD) { return new GoTypeGuardImpl(node); } else if (type == TYPE_LIST) { return new GoTypeListImpl(node); } else if (type == TYPE_REFERENCE_EXPRESSION) { return new GoTypeReferenceExpressionImpl(node); } else if (type == TYPE_SPEC) { return new GoTypeSpecImpl(node); } else if (type == TYPE_SWITCH_GUARD) { return new GoTypeSwitchGuardImpl(node); } else if (type == TYPE_SWITCH_STATEMENT) { return new GoTypeSwitchStatementImpl(node); } else if (type == UNARY_EXPR) { return new GoUnaryExprImpl(node); } else if (type == VALUE) { return new GoValueImpl(node); } else if (type == VAR_DECLARATION) { return new GoVarDeclarationImpl(node); } else if (type == VAR_DEFINITION) { return new GoVarDefinitionImpl(node); } else if (type == VAR_SPEC) { return new GoVarSpecImpl(node); } throw new AssertionError("Unknown element type: " + type); } } }