// This is a generated file. Not intended for manual editing.
package org.dlangplugin.psi;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.PsiElement;
import com.intellij.lang.ASTNode;
import org.dlangplugin.psi.impl.*;
public interface DTokenTypes {
IElementType AGGREGATE_BODY = new DElementType("AGGREGATE_BODY");
IElementType ALIAS_DECLARATION = new DElementType("ALIAS_DECLARATION");
IElementType ALIAS_INITIALIZER = new DElementType("ALIAS_INITIALIZER");
IElementType ALIAS_INITIALIZER_LIST = new DElementType("ALIAS_INITIALIZER_LIST");
IElementType ALIAS_THIS = new DElementType("ALIAS_THIS");
IElementType ALIAS_THIS_DECLARATION = new DElementType("ALIAS_THIS_DECLARATION");
IElementType ALIGN_ATTRIBUTE = new DElementType("ALIGN_ATTRIBUTE");
IElementType ALLOCATOR = new DElementType("ALLOCATOR");
IElementType ARGUMENT_LIST = new DElementType("ARGUMENT_LIST");
IElementType ARRAY_INITIALIZER = new DElementType("ARRAY_INITIALIZER");
IElementType ARRAY_LITERAL = new DElementType("ARRAY_LITERAL");
IElementType ARRAY_MEMBER_INITIALIZATION = new DElementType("ARRAY_MEMBER_INITIALIZATION");
IElementType ASM_INSTRUCTION = new DElementType("ASM_INSTRUCTION");
IElementType ASM_STATEMENT = new DElementType("ASM_STATEMENT");
IElementType ASSERT_EXPRESSION = new DElementType("ASSERT_EXPRESSION");
IElementType ASSOC_ARRAY_LITERAL = new DElementType("ASSOC_ARRAY_LITERAL");
IElementType ATTRIBUTE_SPECIFIER = new DElementType("ATTRIBUTE_SPECIFIER");
IElementType AUTO_DECLARATION = new DElementType("AUTO_DECLARATION");
IElementType BASE_CLASS_LIST = new DElementType("BASE_CLASS_LIST");
IElementType BASE_INTERFACE_LIST = new DElementType("BASE_INTERFACE_LIST");
IElementType BASIC_TYPE = new DElementType("BASIC_TYPE");
IElementType BASIC_TYPE_2 = new DElementType("BASIC_TYPE_2");
IElementType BASIC_TYPE_X = new DElementType("BASIC_TYPE_X");
IElementType BLOCK_STATEMENT = new DElementType("BLOCK_STATEMENT");
IElementType BODY_STATEMENT = new DElementType("BODY_STATEMENT");
IElementType BREAK_STATEMENT = new DElementType("BREAK_STATEMENT");
IElementType CASE_RANGE_STATEMENT = new DElementType("CASE_RANGE_STATEMENT");
IElementType CASE_STATEMENT = new DElementType("CASE_STATEMENT");
IElementType CAST_PREFIX = new DElementType("CAST_PREFIX");
IElementType CATCH = new DElementType("CATCH");
IElementType CATCHES = new DElementType("CATCHES");
IElementType CLASS_DECLARATION = new DElementType("CLASS_DECLARATION");
IElementType CLASS_TEMPLATE_DECLARATION = new DElementType("CLASS_TEMPLATE_DECLARATION");
IElementType COMMA_EXPRESSION = new DElementType("COMMA_EXPRESSION");
IElementType COMMENT = new DElementType("COMMENT");
IElementType COMPONENT_NAME = new DElementType("COMPONENT_NAME");
IElementType CONDITION = new DElementType("CONDITION");
IElementType CONDITIONAL_DECLARATION = new DElementType("CONDITIONAL_DECLARATION");
IElementType CONDITIONAL_STATEMENT = new DElementType("CONDITIONAL_STATEMENT");
IElementType CONSTRAINT = new DElementType("CONSTRAINT");
IElementType CONSTRUCTOR = new DElementType("CONSTRUCTOR");
IElementType CONSTRUCTOR_TEMPLATE = new DElementType("CONSTRUCTOR_TEMPLATE");
IElementType CONTINUE_STATEMENT = new DElementType("CONTINUE_STATEMENT");
IElementType DEALLOCATOR = new DElementType("DEALLOCATOR");
IElementType DEBUG_CONDITION = new DElementType("DEBUG_CONDITION");
IElementType DEBUG_SPECIFICATION = new DElementType("DEBUG_SPECIFICATION");
IElementType DECL = new DElementType("DECL");
IElementType DECLARATION = new DElementType("DECLARATION");
IElementType DECLARATION_BLOCK = new DElementType("DECLARATION_BLOCK");
IElementType DECLARATOR = new DElementType("DECLARATOR");
IElementType DECLARATORS = new DElementType("DECLARATORS");
IElementType DECLARATOR_2 = new DElementType("DECLARATOR_2");
IElementType DECLARATOR_IDENTIFIER = new DElementType("DECLARATOR_IDENTIFIER");
IElementType DECLARATOR_IDENTIFIER_LIST = new DElementType("DECLARATOR_IDENTIFIER_LIST");
IElementType DECLARATOR_INITIALIZER = new DElementType("DECLARATOR_INITIALIZER");
IElementType DECLARATOR_SUFFIX = new DElementType("DECLARATOR_SUFFIX");
IElementType DECL_DEF = new DElementType("DECL_DEF");
IElementType DEFAULT_INITIALIZER_EXPRESSION = new DElementType("DEFAULT_INITIALIZER_EXPRESSION");
IElementType DEFAULT_STATEMENT = new DElementType("DEFAULT_STATEMENT");
IElementType DEPRECATED_ATTRIBUTE = new DElementType("DEPRECATED_ATTRIBUTE");
IElementType DESTRUCTOR = new DElementType("DESTRUCTOR");
IElementType DO_STATEMENT = new DElementType("DO_STATEMENT");
IElementType ENUM_BODY = new DElementType("ENUM_BODY");
IElementType ENUM_DECLARATION = new DElementType("ENUM_DECLARATION");
IElementType ENUM_MEMBER = new DElementType("ENUM_MEMBER");
IElementType EXPRESSION = new DElementType("EXPRESSION");
IElementType EXP_INITIALIZER = new DElementType("EXP_INITIALIZER");
IElementType FINALLY_STATEMENT = new DElementType("FINALLY_STATEMENT");
IElementType FOREACH_RANGE_STATEMENT = new DElementType("FOREACH_RANGE_STATEMENT");
IElementType FOREACH_STATEMENT = new DElementType("FOREACH_STATEMENT");
IElementType FOREACH_TYPE = new DElementType("FOREACH_TYPE");
IElementType FOREACH_TYPES = new DElementType("FOREACH_TYPES");
IElementType FOR_STATEMENT = new DElementType("FOR_STATEMENT");
IElementType FUNCTION_ATTRIBUTE = new DElementType("FUNCTION_ATTRIBUTE");
IElementType FUNCTION_ATTRIBUTES = new DElementType("FUNCTION_ATTRIBUTES");
IElementType FUNCTION_BODY = new DElementType("FUNCTION_BODY");
IElementType FUNCTION_LITERAL = new DElementType("FUNCTION_LITERAL");
IElementType GOTO_STATEMENT = new DElementType("GOTO_STATEMENT");
IElementType IDENTIFIER = new DElementType("IDENTIFIER");
IElementType IDENTIFIER_LIST = new DElementType("IDENTIFIER_LIST");
IElementType IF_CONDITION = new DElementType("IF_CONDITION");
IElementType IF_STATEMENT = new DElementType("IF_STATEMENT");
IElementType IMPORT = new DElementType("IMPORT");
IElementType IMPORT_BIND = new DElementType("IMPORT_BIND");
IElementType IMPORT_BINDINGS = new DElementType("IMPORT_BINDINGS");
IElementType IMPORT_DECLARATION = new DElementType("IMPORT_DECLARATION");
IElementType IMPORT_EXPRESSION = new DElementType("IMPORT_EXPRESSION");
IElementType IMPORT_LIST = new DElementType("IMPORT_LIST");
IElementType INITIALIZER = new DElementType("INITIALIZER");
IElementType INTERFACE_DECLARATION = new DElementType("INTERFACE_DECLARATION");
IElementType INTERFACE_TEMPLATE_DECLARATION = new DElementType("INTERFACE_TEMPLATE_DECLARATION");
IElementType INVARIANT = new DElementType("INVARIANT");
IElementType IN_OUT_X = new DElementType("IN_OUT_X");
IElementType IN_STATEMENT = new DElementType("IN_STATEMENT");
IElementType IS_EXPRESSION = new DElementType("IS_EXPRESSION");
IElementType KEY_VALUE_PAIR = new DElementType("KEY_VALUE_PAIR");
IElementType LAMBDA = new DElementType("LAMBDA");
IElementType LAST_CATCH = new DElementType("LAST_CATCH");
IElementType LINKAGE_ATTRIBUTE = new DElementType("LINKAGE_ATTRIBUTE");
IElementType MEMBER_FUNCTION_ATTRIBUTES = new DElementType("MEMBER_FUNCTION_ATTRIBUTES");
IElementType MIXIN_DECLARATION = new DElementType("MIXIN_DECLARATION");
IElementType MIXIN_STATEMENT = new DElementType("MIXIN_STATEMENT");
IElementType MIXIN_TEMPLATE_NAME = new DElementType("MIXIN_TEMPLATE_NAME");
IElementType MODULE_DECLARATION = new DElementType("MODULE_DECLARATION");
IElementType MODULE_FULLY_QUALIFIED_NAME = new DElementType("MODULE_FULLY_QUALIFIED_NAME");
IElementType NEW_EXPRESSION = new DElementType("NEW_EXPRESSION");
IElementType NEW_EXPRESSION_WITH_ARGS = new DElementType("NEW_EXPRESSION_WITH_ARGS");
IElementType OUT_STATEMENT = new DElementType("OUT_STATEMENT");
IElementType PARAMETER = new DElementType("PARAMETER");
IElementType PARAMETERS = new DElementType("PARAMETERS");
IElementType POSTBLIT = new DElementType("POSTBLIT");
IElementType PRAGMA = new DElementType("PRAGMA");
IElementType PRAGMA_STATEMENT = new DElementType("PRAGMA_STATEMENT");
IElementType PROPERTY = new DElementType("PROPERTY");
IElementType PROTECTION_ATTRIBUTE = new DElementType("PROTECTION_ATTRIBUTE");
IElementType QUALIFIED_IDENTIFIER_LIST = new DElementType("QUALIFIED_IDENTIFIER_LIST");
IElementType REFERENCE_EXPRESSION = new DElementType("REFERENCE_EXPRESSION");
IElementType RETURN_STATEMENT = new DElementType("RETURN_STATEMENT");
IElementType SCOPE_GUARD_STATEMENT = new DElementType("SCOPE_GUARD_STATEMENT");
IElementType SCOPE_STATEMENT = new DElementType("SCOPE_STATEMENT");
IElementType SHARED_STATIC_CONSTRUCTOR = new DElementType("SHARED_STATIC_CONSTRUCTOR");
IElementType SHARED_STATIC_DESTRUCTOR = new DElementType("SHARED_STATIC_DESTRUCTOR");
IElementType SPECIAL_KEYWORD = new DElementType("SPECIAL_KEYWORD");
IElementType STATEMENT = new DElementType("STATEMENT");
IElementType STATIC_ASSERT = new DElementType("STATIC_ASSERT");
IElementType STATIC_CONSTRUCTOR = new DElementType("STATIC_CONSTRUCTOR");
IElementType STATIC_DESTRUCTOR = new DElementType("STATIC_DESTRUCTOR");
IElementType STATIC_IF_CONDITION = new DElementType("STATIC_IF_CONDITION");
IElementType STORAGE_CLASS = new DElementType("STORAGE_CLASS");
IElementType STRING = new DElementType("STRING");
IElementType STRUCT_DECLARATION = new DElementType("STRUCT_DECLARATION");
IElementType STRUCT_INITIALIZER = new DElementType("STRUCT_INITIALIZER");
IElementType STRUCT_MEMBER_INITIALIZER = new DElementType("STRUCT_MEMBER_INITIALIZER");
IElementType STRUCT_TEMPLATE_DECLARATION = new DElementType("STRUCT_TEMPLATE_DECLARATION");
IElementType SWITCH_STATEMENT = new DElementType("SWITCH_STATEMENT");
IElementType SYMBOL = new DElementType("SYMBOL");
IElementType SYNCHRONIZED_STATEMENT = new DElementType("SYNCHRONIZED_STATEMENT");
IElementType TEMPLATE_ALIAS_PARAMETER = new DElementType("TEMPLATE_ALIAS_PARAMETER");
IElementType TEMPLATE_ARGUMENT = new DElementType("TEMPLATE_ARGUMENT");
IElementType TEMPLATE_ARGUMENTS = new DElementType("TEMPLATE_ARGUMENTS");
IElementType TEMPLATE_DECLARATION = new DElementType("TEMPLATE_DECLARATION");
IElementType TEMPLATE_INSTANCE = new DElementType("TEMPLATE_INSTANCE");
IElementType TEMPLATE_MIXIN = new DElementType("TEMPLATE_MIXIN");
IElementType TEMPLATE_MIXIN_DECLARATION = new DElementType("TEMPLATE_MIXIN_DECLARATION");
IElementType TEMPLATE_PARAMETER = new DElementType("TEMPLATE_PARAMETER");
IElementType TEMPLATE_PARAMETER_LIST = new DElementType("TEMPLATE_PARAMETER_LIST");
IElementType TEMPLATE_SINGLE_ARGUMENT = new DElementType("TEMPLATE_SINGLE_ARGUMENT");
IElementType TEMPLATE_THIS_PARAMETER = new DElementType("TEMPLATE_THIS_PARAMETER");
IElementType TEMPLATE_TUPLE_PARAMETER = new DElementType("TEMPLATE_TUPLE_PARAMETER");
IElementType TEMPLATE_TYPE_PARAMETER = new DElementType("TEMPLATE_TYPE_PARAMETER");
IElementType TEMPLATE_VALUE_PARAMETER = new DElementType("TEMPLATE_VALUE_PARAMETER");
IElementType THROW_STATEMENT = new DElementType("THROW_STATEMENT");
IElementType TRAITS_ARGUMENTS = new DElementType("TRAITS_ARGUMENTS");
IElementType TRAITS_EXPRESSION = new DElementType("TRAITS_EXPRESSION");
IElementType TRY_STATEMENT = new DElementType("TRY_STATEMENT");
IElementType TYPE = new DElementType("TYPE");
IElementType TYPEID_EXPRESSION = new DElementType("TYPEID_EXPRESSION");
IElementType TYPEOF = new DElementType("TYPEOF");
IElementType TYPE_CISI = new DElementType("TYPE_CISI");
IElementType TYPE_CTOR = new DElementType("TYPE_CTOR");
IElementType TYPE_CTORS = new DElementType("TYPE_CTORS");
IElementType TYPE_SPECIALIZATION = new DElementType("TYPE_SPECIALIZATION");
IElementType UNARY_EXPRESSION = new DElementType("UNARY_EXPRESSION");
IElementType UNION_DECLARATION = new DElementType("UNION_DECLARATION");
IElementType UNION_TEMPLATE_DECLARATION = new DElementType("UNION_TEMPLATE_DECLARATION");
IElementType UNIT_TEST = new DElementType("UNIT_TEST");
IElementType USER_DEFINED_ATTRIBUTE = new DElementType("USER_DEFINED_ATTRIBUTE");
IElementType VERSION_CONDITION = new DElementType("VERSION_CONDITION");
IElementType VERSION_SPECIFICATION = new DElementType("VERSION_SPECIFICATION");
IElementType WHILE_STATEMENT = new DElementType("WHILE_STATEMENT");
IElementType WITH_STATEMENT = new DElementType("WITH_STATEMENT");
IElementType ALTERNATE_WYSIWYG_STRING = new DTokenType("ALTERNATE_WYSIWYG_STRING");
IElementType BLOCK_COMMENT = new DTokenType("BLOCK_COMMENT");
IElementType CHARACTER_LITERAL = new DTokenType("CHARACTER_LITERAL");
IElementType CLASSNAME = new DTokenType("ClassName");
IElementType DELIMITED_STRING = new DTokenType("DELIMITED_STRING");
IElementType DOUBLE_QUOTED_STRING = new DTokenType("DOUBLE_QUOTED_STRING");
IElementType FLOAT_LITERAL = new DTokenType("FLOAT_LITERAL");
IElementType HEX_STRING = new DTokenType("HEX_STRING");
IElementType ID = new DTokenType("ID");
IElementType INTEGER_LITERAL = new DTokenType("INTEGER_LITERAL");
IElementType KEYWORD = new DTokenType("KEYWORD");
IElementType KW_ABSTRACT = new DTokenType("KW_ABSTRACT");
IElementType KW_ALIAS = new DTokenType("KW_ALIAS");
IElementType KW_ALIGN = new DTokenType("KW_ALIGN");
IElementType KW_ASM = new DTokenType("KW_ASM");
IElementType KW_ASSERT = new DTokenType("KW_ASSERT");
IElementType KW_AUTO = new DTokenType("KW_AUTO");
IElementType KW_BODY = new DTokenType("KW_BODY");
IElementType KW_BOOL = new DTokenType("KW_BOOL");
IElementType KW_BREAK = new DTokenType("KW_BREAK");
IElementType KW_BYTE = new DTokenType("KW_BYTE");
IElementType KW_CASE = new DTokenType("KW_CASE");
IElementType KW_CAST = new DTokenType("KW_CAST");
IElementType KW_CATCH = new DTokenType("KW_CATCH");
IElementType KW_CDOUBLE = new DTokenType("KW_CDOUBLE");
IElementType KW_CFLOAT = new DTokenType("KW_CFLOAT");
IElementType KW_CHAR = new DTokenType("KW_CHAR");
IElementType KW_CLASS = new DTokenType("KW_CLASS");
IElementType KW_CONST = new DTokenType("KW_CONST");
IElementType KW_CONTINUE = new DTokenType("KW_CONTINUE");
IElementType KW_CREAL = new DTokenType("KW_CREAL");
IElementType KW_DCHAR = new DTokenType("KW_DCHAR");
IElementType KW_DEBUG = new DTokenType("KW_DEBUG");
IElementType KW_DEFAULT = new DTokenType("KW_DEFAULT");
IElementType KW_DELEGATE = new DTokenType("KW_DELEGATE");
IElementType KW_DELETE = new DTokenType("KW_DELETE");
IElementType KW_DEPRECATED = new DTokenType("KW_DEPRECATED");
IElementType KW_DISABLE = new DTokenType("KW_DISABLE");
IElementType KW_DO = new DTokenType("KW_DO");
IElementType KW_DOUBLE = new DTokenType("KW_DOUBLE");
IElementType KW_ELSE = new DTokenType("KW_ELSE");
IElementType KW_ENUM = new DTokenType("KW_ENUM");
IElementType KW_EXPORT = new DTokenType("KW_EXPORT");
IElementType KW_EXTERN = new DTokenType("KW_EXTERN");
IElementType KW_FALSE = new DTokenType("KW_FALSE");
IElementType KW_FINAL = new DTokenType("KW_FINAL");
IElementType KW_FINALLY = new DTokenType("KW_FINALLY");
IElementType KW_FLOAT = new DTokenType("KW_FLOAT");
IElementType KW_FOR = new DTokenType("KW_FOR");
IElementType KW_FOREACH = new DTokenType("KW_FOREACH");
IElementType KW_FOREACH_REVERSE = new DTokenType("KW_FOREACH_REVERSE");
IElementType KW_FUNCTION = new DTokenType("KW_FUNCTION");
IElementType KW_GOTO = new DTokenType("KW_GOTO");
IElementType KW_IDOUBLE = new DTokenType("KW_IDOUBLE");
IElementType KW_IF = new DTokenType("KW_IF");
IElementType KW_IFLOAT = new DTokenType("KW_IFLOAT");
IElementType KW_IMMUTABLE = new DTokenType("KW_IMMUTABLE");
IElementType KW_IMPORT = new DTokenType("KW_IMPORT");
IElementType KW_IN = new DTokenType("KW_IN");
IElementType KW_INOUT = new DTokenType("KW_INOUT");
IElementType KW_INT = new DTokenType("KW_INT");
IElementType KW_INTERFACE = new DTokenType("KW_INTERFACE");
IElementType KW_INVARIANT = new DTokenType("KW_INVARIANT");
IElementType KW_IREAL = new DTokenType("KW_IREAL");
IElementType KW_IS = new DTokenType("KW_IS");
IElementType KW_LAZY = new DTokenType("KW_LAZY");
IElementType KW_LONG = new DTokenType("KW_LONG");
IElementType KW_MIXIN = new DTokenType("KW_MIXIN");
IElementType KW_MODULE = new DTokenType("KW_MODULE");
IElementType KW_NEW = new DTokenType("KW_NEW");
IElementType KW_NOGC = new DTokenType("KW_NOGC");
IElementType KW_NOTHROW = new DTokenType("KW_NOTHROW");
IElementType KW_NULL = new DTokenType("KW_NULL");
IElementType KW_OUT = new DTokenType("KW_OUT");
IElementType KW_OVERRIDE = new DTokenType("KW_OVERRIDE");
IElementType KW_PACKAGE = new DTokenType("KW_PACKAGE");
IElementType KW_PRAGMA = new DTokenType("KW_PRAGMA");
IElementType KW_PRIVATE = new DTokenType("KW_PRIVATE");
IElementType KW_PROPERTY = new DTokenType("KW_PROPERTY");
IElementType KW_PROTECTED = new DTokenType("KW_PROTECTED");
IElementType KW_PUBLIC = new DTokenType("KW_PUBLIC");
IElementType KW_PURE = new DTokenType("KW_PURE");
IElementType KW_REAL = new DTokenType("KW_REAL");
IElementType KW_REF = new DTokenType("KW_REF");
IElementType KW_RETURN = new DTokenType("KW_RETURN");
IElementType KW_SAFE = new DTokenType("KW_SAFE");
IElementType KW_SCOPE = new DTokenType("KW_SCOPE");
IElementType KW_SHARED = new DTokenType("KW_SHARED");
IElementType KW_SHORT = new DTokenType("KW_SHORT");
IElementType KW_STATIC = new DTokenType("KW_STATIC");
IElementType KW_STRUCT = new DTokenType("KW_STRUCT");
IElementType KW_SUPER = new DTokenType("KW_SUPER");
IElementType KW_SWITCH = new DTokenType("KW_SWITCH");
IElementType KW_SYNCHRONIZED = new DTokenType("KW_SYNCHRONIZED");
IElementType KW_SYSTEM = new DTokenType("KW_SYSTEM");
IElementType KW_TEMPLATE = new DTokenType("KW_TEMPLATE");
IElementType KW_THIS = new DTokenType("KW_THIS");
IElementType KW_THROW = new DTokenType("KW_THROW");
IElementType KW_TRUE = new DTokenType("KW_TRUE");
IElementType KW_TRUSTED = new DTokenType("KW_TRUSTED");
IElementType KW_TRY = new DTokenType("KW_TRY");
IElementType KW_TYPEID = new DTokenType("KW_TYPEID");
IElementType KW_TYPEOF = new DTokenType("KW_TYPEOF");
IElementType KW_UBYTE = new DTokenType("KW_UBYTE");
IElementType KW_UINT = new DTokenType("KW_UINT");
IElementType KW_ULONG = new DTokenType("KW_ULONG");
IElementType KW_UNION = new DTokenType("KW_UNION");
IElementType KW_UNITTEST = new DTokenType("KW_UNITTEST");
IElementType KW_USHORT = new DTokenType("KW_USHORT");
IElementType KW_VERSION = new DTokenType("KW_VERSION");
IElementType KW_VOID = new DTokenType("KW_VOID");
IElementType KW_WCHAR = new DTokenType("KW_WCHAR");
IElementType KW_WHILE = new DTokenType("KW_WHILE");
IElementType KW_WITH = new DTokenType("KW_WITH");
IElementType KW___FILE__ = new DTokenType("KW___FILE__");
IElementType KW___FUNCTION__ = new DTokenType("KW___FUNCTION__");
IElementType KW___GSHARED = new DTokenType("KW___GSHARED");
IElementType KW___LINE__ = new DTokenType("KW___LINE__");
IElementType KW___MODULE__ = new DTokenType("KW___MODULE__");
IElementType KW___PARAMETERS = new DTokenType("KW___PARAMETERS");
IElementType KW___PRETTY_FUNCTION__ = new DTokenType("KW___PRETTY_FUNCTION__");
IElementType KW___TRAITS = new DTokenType("KW___TRAITS");
IElementType LINE_COMMENT = new DTokenType("LINE_COMMENT");
IElementType NESTING_BLOCK_COMMENT = new DTokenType("NESTING_BLOCK_COMMENT");
IElementType OP_AND = new DTokenType("OP_AND");
IElementType OP_AND_EQ = new DTokenType("OP_AND_EQ");
IElementType OP_ASTERISK = new DTokenType("OP_ASTERISK");
IElementType OP_AT = new DTokenType("OP_AT");
IElementType OP_BOOL_AND = new DTokenType("OP_BOOL_AND");
IElementType OP_BOOL_OR = new DTokenType("OP_BOOL_OR");
IElementType OP_BRACES_LEFT = new DTokenType("OP_BRACES_LEFT");
IElementType OP_BRACES_RIGHT = new DTokenType("OP_BRACES_RIGHT");
IElementType OP_BRACKET_LEFT = new DTokenType("OP_BRACKET_LEFT");
IElementType OP_BRACKET_RIGHT = new DTokenType("OP_BRACKET_RIGHT");
IElementType OP_COLON = new DTokenType("OP_COLON");
IElementType OP_COMMA = new DTokenType("OP_COMMA");
IElementType OP_DDOT = new DTokenType("OP_DDOT");
IElementType OP_DIV = new DTokenType("OP_DIV");
IElementType OP_DIV_EQ = new DTokenType("OP_DIV_EQ");
IElementType OP_DOLLAR = new DTokenType("OP_DOLLAR");
IElementType OP_DOT = new DTokenType("OP_DOT");
IElementType OP_EQ = new DTokenType("OP_EQ");
IElementType OP_EQ_EQ = new DTokenType("OP_EQ_EQ");
IElementType OP_GT = new DTokenType("OP_GT");
IElementType OP_GT_EQ = new DTokenType("OP_GT_EQ");
IElementType OP_LAMBDA_ARROW = new DTokenType("OP_LAMBDA_ARROW");
IElementType OP_LESS = new DTokenType("OP_LESS");
IElementType OP_LESS_EQ = new DTokenType("OP_LESS_EQ");
IElementType OP_LESS_GR = new DTokenType("OP_LESS_GR");
IElementType OP_LESS_GR_EQ = new DTokenType("OP_LESS_GR_EQ");
IElementType OP_MINUS = new DTokenType("OP_MINUS");
IElementType OP_MINUS_EQ = new DTokenType("OP_MINUS_EQ");
IElementType OP_MINUS_MINUS = new DTokenType("OP_MINUS_MINUS");
IElementType OP_MOD = new DTokenType("OP_MOD");
IElementType OP_MOD_EQ = new DTokenType("OP_MOD_EQ");
IElementType OP_MUL_EQ = new DTokenType("OP_MUL_EQ");
IElementType OP_NOT = new DTokenType("OP_NOT");
IElementType OP_NOT_EQ = new DTokenType("OP_NOT_EQ");
IElementType OP_NOT_GR = new DTokenType("OP_NOT_GR");
IElementType OP_NOT_GR_EQ = new DTokenType("OP_NOT_GR_EQ");
IElementType OP_NOT_LESS = new DTokenType("OP_NOT_LESS");
IElementType OP_NOT_LESS_EQ = new DTokenType("OP_NOT_LESS_EQ");
IElementType OP_OR = new DTokenType("OP_OR");
IElementType OP_OR_EQ = new DTokenType("OP_OR_EQ");
IElementType OP_PAR_LEFT = new DTokenType("OP_PAR_LEFT");
IElementType OP_PAR_RIGHT = new DTokenType("OP_PAR_RIGHT");
IElementType OP_PLUS = new DTokenType("OP_PLUS");
IElementType OP_PLUS_EQ = new DTokenType("OP_PLUS_EQ");
IElementType OP_PLUS_PLUS = new DTokenType("OP_PLUS_PLUS");
IElementType OP_POW = new DTokenType("OP_POW");
IElementType OP_POW_EQ = new DTokenType("OP_POW_EQ");
IElementType OP_QUEST = new DTokenType("OP_QUEST");
IElementType OP_SCOLON = new DTokenType("OP_SCOLON");
IElementType OP_SH_LEFT = new DTokenType("OP_SH_LEFT");
IElementType OP_SH_LEFT_EQ = new DTokenType("OP_SH_LEFT_EQ");
IElementType OP_SH_RIGHT = new DTokenType("OP_SH_RIGHT");
IElementType OP_SH_RIGHT_EQ = new DTokenType("OP_SH_RIGHT_EQ");
IElementType OP_TILDA = new DTokenType("OP_TILDA");
IElementType OP_TILDA_EQ = new DTokenType("OP_TILDA_EQ");
IElementType OP_TRIPLEDOT = new DTokenType("OP_TRIPLEDOT");
IElementType OP_UNORD = new DTokenType("OP_UNORD");
IElementType OP_UNORD_EQ = new DTokenType("OP_UNORD_EQ");
IElementType OP_USH_RIGHT = new DTokenType("OP_USH_RIGHT");
IElementType OP_USH_RIGHT_EQ = new DTokenType("OP_USH_RIGHT_EQ");
IElementType OP_XOR = new DTokenType("OP_XOR");
IElementType OP_XOR_EQ = new DTokenType("OP_XOR_EQ");
IElementType TRAITS_KEYWORD = new DTokenType("TRAITS_KEYWORD");
IElementType WHITE_SPACE = new DTokenType("WHITE_SPACE");
IElementType WYSIWYG_STRING = new DTokenType("WYSIWYG_STRING");
class Factory {
public static PsiElement createElement(ASTNode node) {
IElementType type = node.getElementType();
if (type == AGGREGATE_BODY) {
return new DLangAggregateBodyImpl(node);
}
else if (type == ALIAS_DECLARATION) {
return new DLangAliasDeclarationImpl(node);
}
else if (type == ALIAS_INITIALIZER) {
return new DLangAliasInitializerImpl(node);
}
else if (type == ALIAS_INITIALIZER_LIST) {
return new DLangAliasInitializerListImpl(node);
}
else if (type == ALIAS_THIS) {
return new DLangAliasThisImpl(node);
}
else if (type == ALIAS_THIS_DECLARATION) {
return new DLangAliasThisDeclarationImpl(node);
}
else if (type == ALIGN_ATTRIBUTE) {
return new DLangAlignAttributeImpl(node);
}
else if (type == ALLOCATOR) {
return new DLangAllocatorImpl(node);
}
else if (type == ARGUMENT_LIST) {
return new DLangArgumentListImpl(node);
}
else if (type == ARRAY_INITIALIZER) {
return new DLangArrayInitializerImpl(node);
}
else if (type == ARRAY_LITERAL) {
return new DLangArrayLiteralImpl(node);
}
else if (type == ARRAY_MEMBER_INITIALIZATION) {
return new DLangArrayMemberInitializationImpl(node);
}
else if (type == ASM_INSTRUCTION) {
return new DLangAsmInstructionImpl(node);
}
else if (type == ASM_STATEMENT) {
return new DLangAsmStatementImpl(node);
}
else if (type == ASSERT_EXPRESSION) {
return new DLangAssertExpressionImpl(node);
}
else if (type == ASSOC_ARRAY_LITERAL) {
return new DLangAssocArrayLiteralImpl(node);
}
else if (type == ATTRIBUTE_SPECIFIER) {
return new DLangAttributeSpecifierImpl(node);
}
else if (type == AUTO_DECLARATION) {
return new DLangAutoDeclarationImpl(node);
}
else if (type == BASE_CLASS_LIST) {
return new DLangBaseClassListImpl(node);
}
else if (type == BASE_INTERFACE_LIST) {
return new DLangBaseInterfaceListImpl(node);
}
else if (type == BASIC_TYPE) {
return new DLangBasicTypeImpl(node);
}
else if (type == BASIC_TYPE_2) {
return new DLangBasicType2Impl(node);
}
else if (type == BASIC_TYPE_X) {
return new DLangBasicTypeXImpl(node);
}
else if (type == BLOCK_STATEMENT) {
return new DLangBlockStatementImpl(node);
}
else if (type == BODY_STATEMENT) {
return new DLangBodyStatementImpl(node);
}
else if (type == BREAK_STATEMENT) {
return new DLangBreakStatementImpl(node);
}
else if (type == CASE_RANGE_STATEMENT) {
return new DLangCaseRangeStatementImpl(node);
}
else if (type == CASE_STATEMENT) {
return new DLangCaseStatementImpl(node);
}
else if (type == CAST_PREFIX) {
return new DLangCastPrefixImpl(node);
}
else if (type == CATCH) {
return new DLangCatchImpl(node);
}
else if (type == CATCHES) {
return new DLangCatchesImpl(node);
}
else if (type == CLASS_DECLARATION) {
return new DLangClassDeclarationImpl(node);
}
else if (type == CLASS_TEMPLATE_DECLARATION) {
return new DLangClassTemplateDeclarationImpl(node);
}
else if (type == COMMA_EXPRESSION) {
return new DLangCommaExpressionImpl(node);
}
else if (type == COMMENT) {
return new DLangCommentImpl(node);
}
else if (type == COMPONENT_NAME) {
return new DLangComponentNameImpl(node);
}
else if (type == CONDITION) {
return new DLangConditionImpl(node);
}
else if (type == CONDITIONAL_DECLARATION) {
return new DLangConditionalDeclarationImpl(node);
}
else if (type == CONDITIONAL_STATEMENT) {
return new DLangConditionalStatementImpl(node);
}
else if (type == CONSTRAINT) {
return new DLangConstraintImpl(node);
}
else if (type == CONSTRUCTOR) {
return new DLangConstructorImpl(node);
}
else if (type == CONSTRUCTOR_TEMPLATE) {
return new DLangConstructorTemplateImpl(node);
}
else if (type == CONTINUE_STATEMENT) {
return new DLangContinueStatementImpl(node);
}
else if (type == DEALLOCATOR) {
return new DLangDeallocatorImpl(node);
}
else if (type == DEBUG_CONDITION) {
return new DLangDebugConditionImpl(node);
}
else if (type == DEBUG_SPECIFICATION) {
return new DLangDebugSpecificationImpl(node);
}
else if (type == DECL) {
return new DLangDeclImpl(node);
}
else if (type == DECLARATION) {
return new DLangDeclarationImpl(node);
}
else if (type == DECLARATION_BLOCK) {
return new DLangDeclarationBlockImpl(node);
}
else if (type == DECLARATOR) {
return new DLangDeclaratorImpl(node);
}
else if (type == DECLARATORS) {
return new DLangDeclaratorsImpl(node);
}
else if (type == DECLARATOR_2) {
return new DLangDeclarator2Impl(node);
}
else if (type == DECLARATOR_IDENTIFIER) {
return new DLangDeclaratorIdentifierImpl(node);
}
else if (type == DECLARATOR_IDENTIFIER_LIST) {
return new DLangDeclaratorIdentifierListImpl(node);
}
else if (type == DECLARATOR_INITIALIZER) {
return new DLangDeclaratorInitializerImpl(node);
}
else if (type == DECLARATOR_SUFFIX) {
return new DLangDeclaratorSuffixImpl(node);
}
else if (type == DECL_DEF) {
return new DLangDeclDefImpl(node);
}
else if (type == DEFAULT_INITIALIZER_EXPRESSION) {
return new DLangDefaultInitializerExpressionImpl(node);
}
else if (type == DEFAULT_STATEMENT) {
return new DLangDefaultStatementImpl(node);
}
else if (type == DEPRECATED_ATTRIBUTE) {
return new DLangDeprecatedAttributeImpl(node);
}
else if (type == DESTRUCTOR) {
return new DLangDestructorImpl(node);
}
else if (type == DO_STATEMENT) {
return new DLangDoStatementImpl(node);
}
else if (type == ENUM_BODY) {
return new DLangEnumBodyImpl(node);
}
else if (type == ENUM_DECLARATION) {
return new DLangEnumDeclarationImpl(node);
}
else if (type == ENUM_MEMBER) {
return new DLangEnumMemberImpl(node);
}
else if (type == EXPRESSION) {
return new DLangExpressionImpl(node);
}
else if (type == EXP_INITIALIZER) {
return new DLangExpInitializerImpl(node);
}
else if (type == FINALLY_STATEMENT) {
return new DLangFinallyStatementImpl(node);
}
else if (type == FOREACH_RANGE_STATEMENT) {
return new DLangForeachRangeStatementImpl(node);
}
else if (type == FOREACH_STATEMENT) {
return new DLangForeachStatementImpl(node);
}
else if (type == FOREACH_TYPE) {
return new DLangForeachTypeImpl(node);
}
else if (type == FOREACH_TYPES) {
return new DLangForeachTypesImpl(node);
}
else if (type == FOR_STATEMENT) {
return new DLangForStatementImpl(node);
}
else if (type == FUNCTION_ATTRIBUTE) {
return new DLangFunctionAttributeImpl(node);
}
else if (type == FUNCTION_ATTRIBUTES) {
return new DLangFunctionAttributesImpl(node);
}
else if (type == FUNCTION_BODY) {
return new DLangFunctionBodyImpl(node);
}
else if (type == FUNCTION_LITERAL) {
return new DLangFunctionLiteralImpl(node);
}
else if (type == GOTO_STATEMENT) {
return new DLangGotoStatementImpl(node);
}
else if (type == IDENTIFIER) {
return new DLangIdentifierImpl(node);
}
else if (type == IDENTIFIER_LIST) {
return new DLangIdentifierListImpl(node);
}
else if (type == IF_CONDITION) {
return new DLangIfConditionImpl(node);
}
else if (type == IF_STATEMENT) {
return new DLangIfStatementImpl(node);
}
else if (type == IMPORT) {
return new DLangImportImpl(node);
}
else if (type == IMPORT_BIND) {
return new DLangImportBindImpl(node);
}
else if (type == IMPORT_BINDINGS) {
return new DLangImportBindingsImpl(node);
}
else if (type == IMPORT_DECLARATION) {
return new DLangImportDeclarationImpl(node);
}
else if (type == IMPORT_EXPRESSION) {
return new DLangImportExpressionImpl(node);
}
else if (type == IMPORT_LIST) {
return new DLangImportListImpl(node);
}
else if (type == INITIALIZER) {
return new DLangInitializerImpl(node);
}
else if (type == INTERFACE_DECLARATION) {
return new DLangInterfaceDeclarationImpl(node);
}
else if (type == INTERFACE_TEMPLATE_DECLARATION) {
return new DLangInterfaceTemplateDeclarationImpl(node);
}
else if (type == INVARIANT) {
return new DLangInvariantImpl(node);
}
else if (type == IN_OUT_X) {
return new DLangInOutXImpl(node);
}
else if (type == IN_STATEMENT) {
return new DLangInStatementImpl(node);
}
else if (type == IS_EXPRESSION) {
return new DLangIsExpressionImpl(node);
}
else if (type == KEY_VALUE_PAIR) {
return new DLangKeyValuePairImpl(node);
}
else if (type == LAMBDA) {
return new DLangLambdaImpl(node);
}
else if (type == LAST_CATCH) {
return new DLangLastCatchImpl(node);
}
else if (type == LINKAGE_ATTRIBUTE) {
return new DLangLinkageAttributeImpl(node);
}
else if (type == MEMBER_FUNCTION_ATTRIBUTES) {
return new DLangMemberFunctionAttributesImpl(node);
}
else if (type == MIXIN_DECLARATION) {
return new DLangMixinDeclarationImpl(node);
}
else if (type == MIXIN_STATEMENT) {
return new DLangMixinStatementImpl(node);
}
else if (type == MIXIN_TEMPLATE_NAME) {
return new DLangMixinTemplateNameImpl(node);
}
else if (type == MODULE_DECLARATION) {
return new DLangModuleDeclarationImpl(node);
}
else if (type == MODULE_FULLY_QUALIFIED_NAME) {
return new DLangModuleFullyQualifiedNameImpl(node);
}
else if (type == NEW_EXPRESSION) {
return new DLangNewExpressionImpl(node);
}
else if (type == NEW_EXPRESSION_WITH_ARGS) {
return new DLangNewExpressionWithArgsImpl(node);
}
else if (type == OUT_STATEMENT) {
return new DLangOutStatementImpl(node);
}
else if (type == PARAMETER) {
return new DLangParameterImpl(node);
}
else if (type == PARAMETERS) {
return new DLangParametersImpl(node);
}
else if (type == POSTBLIT) {
return new DLangPostblitImpl(node);
}
else if (type == PRAGMA) {
return new DLangPragmaImpl(node);
}
else if (type == PRAGMA_STATEMENT) {
return new DLangPragmaStatementImpl(node);
}
else if (type == PROPERTY) {
return new DLangPropertyImpl(node);
}
else if (type == PROTECTION_ATTRIBUTE) {
return new DLangProtectionAttributeImpl(node);
}
else if (type == QUALIFIED_IDENTIFIER_LIST) {
return new DLangQualifiedIdentifierListImpl(node);
}
else if (type == REFERENCE_EXPRESSION) {
return new DLangReferenceExpressionImpl(node);
}
else if (type == RETURN_STATEMENT) {
return new DLangReturnStatementImpl(node);
}
else if (type == SCOPE_GUARD_STATEMENT) {
return new DLangScopeGuardStatementImpl(node);
}
else if (type == SCOPE_STATEMENT) {
return new DLangScopeStatementImpl(node);
}
else if (type == SHARED_STATIC_CONSTRUCTOR) {
return new DLangSharedStaticConstructorImpl(node);
}
else if (type == SHARED_STATIC_DESTRUCTOR) {
return new DLangSharedStaticDestructorImpl(node);
}
else if (type == SPECIAL_KEYWORD) {
return new DLangSpecialKeywordImpl(node);
}
else if (type == STATEMENT) {
return new DLangStatementImpl(node);
}
else if (type == STATIC_ASSERT) {
return new DLangStaticAssertImpl(node);
}
else if (type == STATIC_CONSTRUCTOR) {
return new DLangStaticConstructorImpl(node);
}
else if (type == STATIC_DESTRUCTOR) {
return new DLangStaticDestructorImpl(node);
}
else if (type == STATIC_IF_CONDITION) {
return new DLangStaticIfConditionImpl(node);
}
else if (type == STORAGE_CLASS) {
return new DLangStorageClassImpl(node);
}
else if (type == STRING) {
return new DLangStringImpl(node);
}
else if (type == STRUCT_DECLARATION) {
return new DLangStructDeclarationImpl(node);
}
else if (type == STRUCT_INITIALIZER) {
return new DLangStructInitializerImpl(node);
}
else if (type == STRUCT_MEMBER_INITIALIZER) {
return new DLangStructMemberInitializerImpl(node);
}
else if (type == STRUCT_TEMPLATE_DECLARATION) {
return new DLangStructTemplateDeclarationImpl(node);
}
else if (type == SWITCH_STATEMENT) {
return new DLangSwitchStatementImpl(node);
}
else if (type == SYMBOL) {
return new DLangSymbolImpl(node);
}
else if (type == SYNCHRONIZED_STATEMENT) {
return new DLangSynchronizedStatementImpl(node);
}
else if (type == TEMPLATE_ALIAS_PARAMETER) {
return new DLangTemplateAliasParameterImpl(node);
}
else if (type == TEMPLATE_ARGUMENT) {
return new DLangTemplateArgumentImpl(node);
}
else if (type == TEMPLATE_ARGUMENTS) {
return new DLangTemplateArgumentsImpl(node);
}
else if (type == TEMPLATE_DECLARATION) {
return new DLangTemplateDeclarationImpl(node);
}
else if (type == TEMPLATE_INSTANCE) {
return new DLangTemplateInstanceImpl(node);
}
else if (type == TEMPLATE_MIXIN) {
return new DLangTemplateMixinImpl(node);
}
else if (type == TEMPLATE_MIXIN_DECLARATION) {
return new DLangTemplateMixinDeclarationImpl(node);
}
else if (type == TEMPLATE_PARAMETER) {
return new DLangTemplateParameterImpl(node);
}
else if (type == TEMPLATE_PARAMETER_LIST) {
return new DLangTemplateParameterListImpl(node);
}
else if (type == TEMPLATE_SINGLE_ARGUMENT) {
return new DLangTemplateSingleArgumentImpl(node);
}
else if (type == TEMPLATE_THIS_PARAMETER) {
return new DLangTemplateThisParameterImpl(node);
}
else if (type == TEMPLATE_TUPLE_PARAMETER) {
return new DLangTemplateTupleParameterImpl(node);
}
else if (type == TEMPLATE_TYPE_PARAMETER) {
return new DLangTemplateTypeParameterImpl(node);
}
else if (type == TEMPLATE_VALUE_PARAMETER) {
return new DLangTemplateValueParameterImpl(node);
}
else if (type == THROW_STATEMENT) {
return new DLangThrowStatementImpl(node);
}
else if (type == TRAITS_ARGUMENTS) {
return new DLangTraitsArgumentsImpl(node);
}
else if (type == TRAITS_EXPRESSION) {
return new DLangTraitsExpressionImpl(node);
}
else if (type == TRY_STATEMENT) {
return new DLangTryStatementImpl(node);
}
else if (type == TYPE) {
return new DLangTypeImpl(node);
}
else if (type == TYPEID_EXPRESSION) {
return new DLangTypeidExpressionImpl(node);
}
else if (type == TYPEOF) {
return new DLangTypeofImpl(node);
}
else if (type == TYPE_CISI) {
return new DLangTypeCISIImpl(node);
}
else if (type == TYPE_CTOR) {
return new DLangTypeCtorImpl(node);
}
else if (type == TYPE_CTORS) {
return new DLangTypeCtorsImpl(node);
}
else if (type == TYPE_SPECIALIZATION) {
return new DLangTypeSpecializationImpl(node);
}
else if (type == UNARY_EXPRESSION) {
return new DLangUnaryExpressionImpl(node);
}
else if (type == UNION_DECLARATION) {
return new DLangUnionDeclarationImpl(node);
}
else if (type == UNION_TEMPLATE_DECLARATION) {
return new DLangUnionTemplateDeclarationImpl(node);
}
else if (type == UNIT_TEST) {
return new DLangUnitTestImpl(node);
}
else if (type == USER_DEFINED_ATTRIBUTE) {
return new DLangUserDefinedAttributeImpl(node);
}
else if (type == VERSION_CONDITION) {
return new DLangVersionConditionImpl(node);
}
else if (type == VERSION_SPECIFICATION) {
return new DLangVersionSpecificationImpl(node);
}
else if (type == WHILE_STATEMENT) {
return new DLangWhileStatementImpl(node);
}
else if (type == WITH_STATEMENT) {
return new DLangWithStatementImpl(node);
}
throw new AssertionError("Unknown element type: " + type);
}
}
}