// This is a generated file. Not intended for manual editing.
package org.elixir_lang.psi;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;
import org.elixir_lang.ElementTypeFactory;
import org.elixir_lang.psi.impl.*;
public interface ElixirTypes {
IElementType ACCESS_EXPRESSION = new ElixirElementType("ACCESS_EXPRESSION");
IElementType ADDITION_INFIX_OPERATOR = new ElixirElementType("ADDITION_INFIX_OPERATOR");
IElementType ALIAS = new ElixirElementType("ALIAS");
IElementType AND_INFIX_OPERATOR = new ElixirElementType("AND_INFIX_OPERATOR");
IElementType ANONYMOUS_FUNCTION = new ElixirElementType("ANONYMOUS_FUNCTION");
IElementType ARROW_INFIX_OPERATOR = new ElixirElementType("ARROW_INFIX_OPERATOR");
IElementType ASSOCIATIONS = new ElixirElementType("ASSOCIATIONS");
IElementType ASSOCIATIONS_BASE = new ElixirElementType("ASSOCIATIONS_BASE");
IElementType ATOM = new ElixirElementType("ATOM");
IElementType ATOM_KEYWORD = new ElixirElementType("ATOM_KEYWORD");
IElementType AT_IDENTIFIER = new ElixirElementType("AT_IDENTIFIER");
IElementType AT_NUMERIC_OPERATION = new ElixirElementType("AT_NUMERIC_OPERATION");
IElementType AT_PREFIX_OPERATOR = new ElixirElementType("AT_PREFIX_OPERATOR");
IElementType BINARY_DIGITS = new ElixirElementType("BINARY_DIGITS");
IElementType BINARY_WHOLE_NUMBER = new ElixirElementType("BINARY_WHOLE_NUMBER");
IElementType BIT_STRING = new ElixirElementType("BIT_STRING");
IElementType BLOCK_IDENTIFIER = new ElixirElementType("BLOCK_IDENTIFIER");
IElementType BLOCK_ITEM = new ElixirElementType("BLOCK_ITEM");
IElementType BLOCK_LIST = new ElixirElementType("BLOCK_LIST");
IElementType BRACKET_ARGUMENTS = new ElixirElementType("BRACKET_ARGUMENTS");
IElementType CAPTURE_NUMERIC_OPERATION = new ElixirElementType("CAPTURE_NUMERIC_OPERATION");
IElementType CAPTURE_PREFIX_OPERATOR = new ElixirElementType("CAPTURE_PREFIX_OPERATOR");
IElementType CHAR_LIST_HEREDOC = new ElixirElementType("CHAR_LIST_HEREDOC");
IElementType CHAR_LIST_HEREDOC_LINE = new ElixirElementType("CHAR_LIST_HEREDOC_LINE");
IElementType CHAR_LIST_LINE = new ElixirElementType("CHAR_LIST_LINE");
IElementType CHAR_TOKEN = new ElixirElementType("CHAR_TOKEN");
IElementType COMPARISON_INFIX_OPERATOR = new ElixirElementType("COMPARISON_INFIX_OPERATOR");
IElementType CONTAINER_ASSOCIATION_OPERATION = new ElixirElementType("CONTAINER_ASSOCIATION_OPERATION");
IElementType DECIMAL_DIGITS = new ElixirElementType("DECIMAL_DIGITS");
IElementType DECIMAL_FLOAT = new ElixirElementType("DECIMAL_FLOAT");
IElementType DECIMAL_FLOAT_EXPONENT = new ElixirElementType("DECIMAL_FLOAT_EXPONENT");
IElementType DECIMAL_FLOAT_EXPONENT_SIGN = new ElixirElementType("DECIMAL_FLOAT_EXPONENT_SIGN");
IElementType DECIMAL_FLOAT_FRACTIONAL = new ElixirElementType("DECIMAL_FLOAT_FRACTIONAL");
IElementType DECIMAL_FLOAT_INTEGRAL = new ElixirElementType("DECIMAL_FLOAT_INTEGRAL");
IElementType DECIMAL_WHOLE_NUMBER = new ElixirElementType("DECIMAL_WHOLE_NUMBER");
IElementType DOT_INFIX_OPERATOR = new ElixirElementType("DOT_INFIX_OPERATOR");
IElementType DO_BLOCK = new ElixirElementType("DO_BLOCK");
IElementType EMPTY_PARENTHESES = new ElixirElementType("EMPTY_PARENTHESES");
IElementType ENCLOSED_HEXADECIMAL_ESCAPE_SEQUENCE = new ElixirElementType("ENCLOSED_HEXADECIMAL_ESCAPE_SEQUENCE");
IElementType END_OF_EXPRESSION = new ElixirElementType("END_OF_EXPRESSION");
IElementType ESCAPED_CHARACTER = new ElixirElementType("ESCAPED_CHARACTER");
IElementType ESCAPED_EOL = new ElixirElementType("ESCAPED_EOL");
IElementType HEREDOC_LINE_PREFIX = new ElixirElementType("HEREDOC_LINE_PREFIX");
IElementType HEREDOC_PREFIX = new ElixirElementType("HEREDOC_PREFIX");
IElementType HEXADECIMAL_DIGITS = new ElixirElementType("HEXADECIMAL_DIGITS");
IElementType HEXADECIMAL_ESCAPE_PREFIX = new ElixirElementType("HEXADECIMAL_ESCAPE_PREFIX");
IElementType HEXADECIMAL_WHOLE_NUMBER = new ElixirElementType("HEXADECIMAL_WHOLE_NUMBER");
IElementType IDENTIFIER = new ElixirElementType("IDENTIFIER");
IElementType INTERPOLATED_CHAR_LIST_BODY = new ElixirElementType("INTERPOLATED_CHAR_LIST_BODY");
IElementType INTERPOLATED_CHAR_LIST_HEREDOC_LINE = new ElixirElementType("INTERPOLATED_CHAR_LIST_HEREDOC_LINE");
IElementType INTERPOLATED_CHAR_LIST_SIGIL_HEREDOC = new ElixirElementType("INTERPOLATED_CHAR_LIST_SIGIL_HEREDOC");
IElementType INTERPOLATED_CHAR_LIST_SIGIL_LINE = new ElixirElementType("INTERPOLATED_CHAR_LIST_SIGIL_LINE");
IElementType INTERPOLATED_REGEX_BODY = new ElixirElementType("INTERPOLATED_REGEX_BODY");
IElementType INTERPOLATED_REGEX_HEREDOC = new ElixirElementType("INTERPOLATED_REGEX_HEREDOC");
IElementType INTERPOLATED_REGEX_HEREDOC_LINE = new ElixirElementType("INTERPOLATED_REGEX_HEREDOC_LINE");
IElementType INTERPOLATED_REGEX_LINE = new ElixirElementType("INTERPOLATED_REGEX_LINE");
IElementType INTERPOLATED_SIGIL_BODY = new ElixirElementType("INTERPOLATED_SIGIL_BODY");
IElementType INTERPOLATED_SIGIL_HEREDOC = new ElixirElementType("INTERPOLATED_SIGIL_HEREDOC");
IElementType INTERPOLATED_SIGIL_HEREDOC_LINE = new ElixirElementType("INTERPOLATED_SIGIL_HEREDOC_LINE");
IElementType INTERPOLATED_SIGIL_LINE = new ElixirElementType("INTERPOLATED_SIGIL_LINE");
IElementType INTERPOLATED_STRING_BODY = new ElixirElementType("INTERPOLATED_STRING_BODY");
IElementType INTERPOLATED_STRING_HEREDOC_LINE = new ElixirElementType("INTERPOLATED_STRING_HEREDOC_LINE");
IElementType INTERPOLATED_STRING_SIGIL_HEREDOC = new ElixirElementType("INTERPOLATED_STRING_SIGIL_HEREDOC");
IElementType INTERPOLATED_STRING_SIGIL_LINE = new ElixirElementType("INTERPOLATED_STRING_SIGIL_LINE");
IElementType INTERPOLATED_WORDS_BODY = new ElixirElementType("INTERPOLATED_WORDS_BODY");
IElementType INTERPOLATED_WORDS_HEREDOC = new ElixirElementType("INTERPOLATED_WORDS_HEREDOC");
IElementType INTERPOLATED_WORDS_HEREDOC_LINE = new ElixirElementType("INTERPOLATED_WORDS_HEREDOC_LINE");
IElementType INTERPOLATED_WORDS_LINE = new ElixirElementType("INTERPOLATED_WORDS_LINE");
IElementType INTERPOLATION = new ElixirElementType("INTERPOLATION");
IElementType IN_INFIX_OPERATOR = new ElixirElementType("IN_INFIX_OPERATOR");
IElementType IN_MATCH_INFIX_OPERATOR = new ElixirElementType("IN_MATCH_INFIX_OPERATOR");
IElementType KEYWORDS = new ElixirElementType("KEYWORDS");
IElementType KEYWORD_KEY = new ElixirElementType("KEYWORD_KEY");
IElementType KEYWORD_PAIR = new ElixirElementType("KEYWORD_PAIR");
IElementType LIST = new ElixirElementType("LIST");
IElementType LITERAL_CHAR_LIST_BODY = new ElixirElementType("LITERAL_CHAR_LIST_BODY");
IElementType LITERAL_CHAR_LIST_HEREDOC_LINE = new ElixirElementType("LITERAL_CHAR_LIST_HEREDOC_LINE");
IElementType LITERAL_CHAR_LIST_SIGIL_HEREDOC = new ElixirElementType("LITERAL_CHAR_LIST_SIGIL_HEREDOC");
IElementType LITERAL_CHAR_LIST_SIGIL_LINE = new ElixirElementType("LITERAL_CHAR_LIST_SIGIL_LINE");
IElementType LITERAL_REGEX_BODY = new ElixirElementType("LITERAL_REGEX_BODY");
IElementType LITERAL_REGEX_HEREDOC = new ElixirElementType("LITERAL_REGEX_HEREDOC");
IElementType LITERAL_REGEX_HEREDOC_LINE = new ElixirElementType("LITERAL_REGEX_HEREDOC_LINE");
IElementType LITERAL_REGEX_LINE = new ElixirElementType("LITERAL_REGEX_LINE");
IElementType LITERAL_SIGIL_BODY = new ElixirElementType("LITERAL_SIGIL_BODY");
IElementType LITERAL_SIGIL_HEREDOC = new ElixirElementType("LITERAL_SIGIL_HEREDOC");
IElementType LITERAL_SIGIL_HEREDOC_LINE = new ElixirElementType("LITERAL_SIGIL_HEREDOC_LINE");
IElementType LITERAL_SIGIL_LINE = new ElixirElementType("LITERAL_SIGIL_LINE");
IElementType LITERAL_STRING_BODY = new ElixirElementType("LITERAL_STRING_BODY");
IElementType LITERAL_STRING_HEREDOC_LINE = new ElixirElementType("LITERAL_STRING_HEREDOC_LINE");
IElementType LITERAL_STRING_SIGIL_HEREDOC = new ElixirElementType("LITERAL_STRING_SIGIL_HEREDOC");
IElementType LITERAL_STRING_SIGIL_LINE = new ElixirElementType("LITERAL_STRING_SIGIL_LINE");
IElementType LITERAL_WORDS_BODY = new ElixirElementType("LITERAL_WORDS_BODY");
IElementType LITERAL_WORDS_HEREDOC = new ElixirElementType("LITERAL_WORDS_HEREDOC");
IElementType LITERAL_WORDS_HEREDOC_LINE = new ElixirElementType("LITERAL_WORDS_HEREDOC_LINE");
IElementType LITERAL_WORDS_LINE = new ElixirElementType("LITERAL_WORDS_LINE");
IElementType MAP_ARGUMENTS = new ElixirElementType("MAP_ARGUMENTS");
IElementType MAP_CONSTRUCTION_ARGUMENTS = new ElixirElementType("MAP_CONSTRUCTION_ARGUMENTS");
IElementType MAP_OPERATION = new ElixirElementType("MAP_OPERATION");
IElementType MAP_PREFIX_OPERATOR = new ElixirElementType("MAP_PREFIX_OPERATOR");
IElementType MAP_UPDATE_ARGUMENTS = new ElixirElementType("MAP_UPDATE_ARGUMENTS");
IElementType MATCHED_ADDITION_OPERATION = new ElixirElementType("MATCHED_ADDITION_OPERATION");
IElementType MATCHED_AND_OPERATION = new ElixirElementType("MATCHED_AND_OPERATION");
IElementType MATCHED_ARROW_OPERATION = new ElixirElementType("MATCHED_ARROW_OPERATION");
IElementType MATCHED_AT_NON_NUMERIC_OPERATION = new ElixirElementType("MATCHED_AT_NON_NUMERIC_OPERATION");
IElementType MATCHED_AT_UNQUALIFIED_BRACKET_OPERATION = new ElixirElementType("MATCHED_AT_UNQUALIFIED_BRACKET_OPERATION");
IElementType MATCHED_AT_UNQUALIFIED_NO_PARENTHESES_CALL = ElementTypeFactory.factory("MATCHED_AT_UNQUALIFIED_NO_PARENTHESES_CALL");
IElementType MATCHED_BRACKET_OPERATION = new ElixirElementType("MATCHED_BRACKET_OPERATION");
IElementType MATCHED_CAPTURE_NON_NUMERIC_OPERATION = new ElixirElementType("MATCHED_CAPTURE_NON_NUMERIC_OPERATION");
IElementType MATCHED_COMPARISON_OPERATION = new ElixirElementType("MATCHED_COMPARISON_OPERATION");
IElementType MATCHED_DOT_CALL = ElementTypeFactory.factory("MATCHED_DOT_CALL");
IElementType MATCHED_EXPRESSION = new ElixirElementType("MATCHED_EXPRESSION");
IElementType MATCHED_IN_MATCH_OPERATION = new ElixirElementType("MATCHED_IN_MATCH_OPERATION");
IElementType MATCHED_IN_OPERATION = new ElixirElementType("MATCHED_IN_OPERATION");
IElementType MATCHED_MATCH_OPERATION = new ElixirElementType("MATCHED_MATCH_OPERATION");
IElementType MATCHED_MULTIPLICATION_OPERATION = new ElixirElementType("MATCHED_MULTIPLICATION_OPERATION");
IElementType MATCHED_OR_OPERATION = new ElixirElementType("MATCHED_OR_OPERATION");
IElementType MATCHED_PARENTHESES_ARGUMENTS = new ElixirElementType("MATCHED_PARENTHESES_ARGUMENTS");
IElementType MATCHED_PIPE_OPERATION = new ElixirElementType("MATCHED_PIPE_OPERATION");
IElementType MATCHED_QUALIFIED_ALIAS = new ElixirElementType("MATCHED_QUALIFIED_ALIAS");
IElementType MATCHED_QUALIFIED_BRACKET_OPERATION = new ElixirElementType("MATCHED_QUALIFIED_BRACKET_OPERATION");
IElementType MATCHED_QUALIFIED_MULTIPLE_ALIASES = new ElixirElementType("MATCHED_QUALIFIED_MULTIPLE_ALIASES");
IElementType MATCHED_QUALIFIED_NO_ARGUMENTS_CALL = ElementTypeFactory.factory("MATCHED_QUALIFIED_NO_ARGUMENTS_CALL");
IElementType MATCHED_QUALIFIED_NO_PARENTHESES_CALL = ElementTypeFactory.factory("MATCHED_QUALIFIED_NO_PARENTHESES_CALL");
IElementType MATCHED_QUALIFIED_PARENTHESES_CALL = ElementTypeFactory.factory("MATCHED_QUALIFIED_PARENTHESES_CALL");
IElementType MATCHED_RELATIONAL_OPERATION = new ElixirElementType("MATCHED_RELATIONAL_OPERATION");
IElementType MATCHED_THREE_OPERATION = new ElixirElementType("MATCHED_THREE_OPERATION");
IElementType MATCHED_TWO_OPERATION = new ElixirElementType("MATCHED_TWO_OPERATION");
IElementType MATCHED_TYPE_OPERATION = new ElixirElementType("MATCHED_TYPE_OPERATION");
IElementType MATCHED_UNARY_NON_NUMERIC_OPERATION = new ElixirElementType("MATCHED_UNARY_NON_NUMERIC_OPERATION");
IElementType MATCHED_UNQUALIFIED_BRACKET_OPERATION = new ElixirElementType("MATCHED_UNQUALIFIED_BRACKET_OPERATION");
IElementType MATCHED_UNQUALIFIED_NO_ARGUMENTS_CALL = ElementTypeFactory.factory("MATCHED_UNQUALIFIED_NO_ARGUMENTS_CALL");
IElementType MATCHED_UNQUALIFIED_NO_PARENTHESES_CALL = ElementTypeFactory.factory("MATCHED_UNQUALIFIED_NO_PARENTHESES_CALL");
IElementType MATCHED_UNQUALIFIED_PARENTHESES_CALL = ElementTypeFactory.factory("MATCHED_UNQUALIFIED_PARENTHESES_CALL");
IElementType MATCHED_WHEN_OPERATION = new ElixirElementType("MATCHED_WHEN_OPERATION");
IElementType MATCH_INFIX_OPERATOR = new ElixirElementType("MATCH_INFIX_OPERATOR");
IElementType MULTIPLE_ALIASES = new ElixirElementType("MULTIPLE_ALIASES");
IElementType MULTIPLICATION_INFIX_OPERATOR = new ElixirElementType("MULTIPLICATION_INFIX_OPERATOR");
IElementType NO_PARENTHESES_ARGUMENTS = new ElixirElementType("NO_PARENTHESES_ARGUMENTS");
IElementType NO_PARENTHESES_KEYWORDS = new ElixirElementType("NO_PARENTHESES_KEYWORDS");
IElementType NO_PARENTHESES_KEYWORD_PAIR = new ElixirElementType("NO_PARENTHESES_KEYWORD_PAIR");
IElementType NO_PARENTHESES_MANY_STRICT_NO_PARENTHESES_EXPRESSION = new ElixirElementType("NO_PARENTHESES_MANY_STRICT_NO_PARENTHESES_EXPRESSION");
IElementType NO_PARENTHESES_ONE_ARGUMENT = new ElixirElementType("NO_PARENTHESES_ONE_ARGUMENT");
IElementType NO_PARENTHESES_STRICT = new ElixirElementType("NO_PARENTHESES_STRICT");
IElementType OCTAL_DIGITS = new ElixirElementType("OCTAL_DIGITS");
IElementType OCTAL_WHOLE_NUMBER = new ElixirElementType("OCTAL_WHOLE_NUMBER");
IElementType OPEN_HEXADECIMAL_ESCAPE_SEQUENCE = new ElixirElementType("OPEN_HEXADECIMAL_ESCAPE_SEQUENCE");
IElementType OR_INFIX_OPERATOR = new ElixirElementType("OR_INFIX_OPERATOR");
IElementType PARENTHESES_ARGUMENTS = new ElixirElementType("PARENTHESES_ARGUMENTS");
IElementType PARENTHETICAL_STAB = new ElixirElementType("PARENTHETICAL_STAB");
IElementType PIPE_INFIX_OPERATOR = new ElixirElementType("PIPE_INFIX_OPERATOR");
IElementType QUOTE_CHAR_LIST_BODY = new ElixirElementType("QUOTE_CHAR_LIST_BODY");
IElementType QUOTE_HEXADECIMAL_ESCAPE_SEQUENCE = new ElixirElementType("QUOTE_HEXADECIMAL_ESCAPE_SEQUENCE");
IElementType QUOTE_STRING_BODY = new ElixirElementType("QUOTE_STRING_BODY");
IElementType RELATIONAL_INFIX_OPERATOR = new ElixirElementType("RELATIONAL_INFIX_OPERATOR");
IElementType RELATIVE_IDENTIFIER = new ElixirElementType("RELATIVE_IDENTIFIER");
IElementType SIGIL_HEXADECIMAL_ESCAPE_SEQUENCE = new ElixirElementType("SIGIL_HEXADECIMAL_ESCAPE_SEQUENCE");
IElementType SIGIL_MODIFIERS = new ElixirElementType("SIGIL_MODIFIERS");
IElementType STAB = new ElixirElementType("STAB");
IElementType STAB_BODY = new ElixirElementType("STAB_BODY");
IElementType STAB_INFIX_OPERATOR = new ElixirElementType("STAB_INFIX_OPERATOR");
IElementType STAB_NO_PARENTHESES_SIGNATURE = new ElixirElementType("STAB_NO_PARENTHESES_SIGNATURE");
IElementType STAB_OPERATION = new ElixirElementType("STAB_OPERATION");
IElementType STAB_PARENTHESES_SIGNATURE = new ElixirElementType("STAB_PARENTHESES_SIGNATURE");
IElementType STRING_HEREDOC = new ElixirElementType("STRING_HEREDOC");
IElementType STRING_HEREDOC_LINE = new ElixirElementType("STRING_HEREDOC_LINE");
IElementType STRING_LINE = new ElixirElementType("STRING_LINE");
IElementType STRUCT_OPERATION = new ElixirElementType("STRUCT_OPERATION");
IElementType THREE_INFIX_OPERATOR = new ElixirElementType("THREE_INFIX_OPERATOR");
IElementType TUPLE = new ElixirElementType("TUPLE");
IElementType TWO_INFIX_OPERATOR = new ElixirElementType("TWO_INFIX_OPERATOR");
IElementType TYPE_INFIX_OPERATOR = new ElixirElementType("TYPE_INFIX_OPERATOR");
IElementType UNARY_NUMERIC_OPERATION = new ElixirElementType("UNARY_NUMERIC_OPERATION");
IElementType UNARY_PREFIX_OPERATOR = new ElixirElementType("UNARY_PREFIX_OPERATOR");
IElementType UNKNOWN_BASE_DIGITS = new ElixirElementType("UNKNOWN_BASE_DIGITS");
IElementType UNKNOWN_BASE_WHOLE_NUMBER = new ElixirElementType("UNKNOWN_BASE_WHOLE_NUMBER");
IElementType UNMATCHED_ADDITION_OPERATION = new ElixirElementType("UNMATCHED_ADDITION_OPERATION");
IElementType UNMATCHED_AND_OPERATION = new ElixirElementType("UNMATCHED_AND_OPERATION");
IElementType UNMATCHED_ARROW_OPERATION = new ElixirElementType("UNMATCHED_ARROW_OPERATION");
IElementType UNMATCHED_AT_NON_NUMERIC_OPERATION = new ElixirElementType("UNMATCHED_AT_NON_NUMERIC_OPERATION");
IElementType UNMATCHED_AT_UNQUALIFIED_BRACKET_OPERATION = new ElixirElementType("UNMATCHED_AT_UNQUALIFIED_BRACKET_OPERATION");
IElementType UNMATCHED_AT_UNQUALIFIED_NO_PARENTHESES_CALL = ElementTypeFactory.factory("UNMATCHED_AT_UNQUALIFIED_NO_PARENTHESES_CALL");
IElementType UNMATCHED_BRACKET_OPERATION = new ElixirElementType("UNMATCHED_BRACKET_OPERATION");
IElementType UNMATCHED_CAPTURE_NON_NUMERIC_OPERATION = new ElixirElementType("UNMATCHED_CAPTURE_NON_NUMERIC_OPERATION");
IElementType UNMATCHED_COMPARISON_OPERATION = new ElixirElementType("UNMATCHED_COMPARISON_OPERATION");
IElementType UNMATCHED_DOT_CALL = ElementTypeFactory.factory("UNMATCHED_DOT_CALL");
IElementType UNMATCHED_EXPRESSION = new ElixirElementType("UNMATCHED_EXPRESSION");
IElementType UNMATCHED_IN_MATCH_OPERATION = new ElixirElementType("UNMATCHED_IN_MATCH_OPERATION");
IElementType UNMATCHED_IN_OPERATION = new ElixirElementType("UNMATCHED_IN_OPERATION");
IElementType UNMATCHED_MATCH_OPERATION = new ElixirElementType("UNMATCHED_MATCH_OPERATION");
IElementType UNMATCHED_MULTIPLICATION_OPERATION = new ElixirElementType("UNMATCHED_MULTIPLICATION_OPERATION");
IElementType UNMATCHED_OR_OPERATION = new ElixirElementType("UNMATCHED_OR_OPERATION");
IElementType UNMATCHED_PIPE_OPERATION = new ElixirElementType("UNMATCHED_PIPE_OPERATION");
IElementType UNMATCHED_QUALIFIED_ALIAS = new ElixirElementType("UNMATCHED_QUALIFIED_ALIAS");
IElementType UNMATCHED_QUALIFIED_BRACKET_OPERATION = new ElixirElementType("UNMATCHED_QUALIFIED_BRACKET_OPERATION");
IElementType UNMATCHED_QUALIFIED_MULTIPLE_ALIASES = new ElixirElementType("UNMATCHED_QUALIFIED_MULTIPLE_ALIASES");
IElementType UNMATCHED_QUALIFIED_NO_ARGUMENTS_CALL = ElementTypeFactory.factory("UNMATCHED_QUALIFIED_NO_ARGUMENTS_CALL");
IElementType UNMATCHED_QUALIFIED_NO_PARENTHESES_CALL = ElementTypeFactory.factory("UNMATCHED_QUALIFIED_NO_PARENTHESES_CALL");
IElementType UNMATCHED_QUALIFIED_PARENTHESES_CALL = ElementTypeFactory.factory("UNMATCHED_QUALIFIED_PARENTHESES_CALL");
IElementType UNMATCHED_RELATIONAL_OPERATION = new ElixirElementType("UNMATCHED_RELATIONAL_OPERATION");
IElementType UNMATCHED_THREE_OPERATION = new ElixirElementType("UNMATCHED_THREE_OPERATION");
IElementType UNMATCHED_TWO_OPERATION = new ElixirElementType("UNMATCHED_TWO_OPERATION");
IElementType UNMATCHED_TYPE_OPERATION = new ElixirElementType("UNMATCHED_TYPE_OPERATION");
IElementType UNMATCHED_UNARY_NON_NUMERIC_OPERATION = new ElixirElementType("UNMATCHED_UNARY_NON_NUMERIC_OPERATION");
IElementType UNMATCHED_UNQUALIFIED_BRACKET_OPERATION = new ElixirElementType("UNMATCHED_UNQUALIFIED_BRACKET_OPERATION");
IElementType UNMATCHED_UNQUALIFIED_NO_ARGUMENTS_CALL = ElementTypeFactory.factory("UNMATCHED_UNQUALIFIED_NO_ARGUMENTS_CALL");
IElementType UNMATCHED_UNQUALIFIED_NO_PARENTHESES_CALL = ElementTypeFactory.factory("UNMATCHED_UNQUALIFIED_NO_PARENTHESES_CALL");
IElementType UNMATCHED_UNQUALIFIED_PARENTHESES_CALL = ElementTypeFactory.factory("UNMATCHED_UNQUALIFIED_PARENTHESES_CALL");
IElementType UNMATCHED_WHEN_OPERATION = new ElixirElementType("UNMATCHED_WHEN_OPERATION");
IElementType UNQUALIFIED_NO_PARENTHESES_MANY_ARGUMENTS_CALL = ElementTypeFactory.factory("UNQUALIFIED_NO_PARENTHESES_MANY_ARGUMENTS_CALL");
IElementType VARIABLE = new ElixirElementType("VARIABLE");
IElementType WHEN_INFIX_OPERATOR = new ElixirElementType("WHEN_INFIX_OPERATOR");
IElementType AFTER = new ElixirTokenType("after");
IElementType ALIAS_TOKEN = new ElixirTokenType("Alias");
IElementType AND_OPERATOR = new ElixirTokenType("&&&, `and`, &&");
IElementType ARROW_OPERATOR = new ElixirTokenType("<<<, <<~, <|>, <~>, >>>, ~>>, <~, |>, ~>");
IElementType ASSOCIATION_OPERATOR = new ElixirTokenType("=>");
IElementType ATOM_FRAGMENT = new ElixirTokenType("A-Z, a-z, _, @, 0-9. ?, !");
IElementType AT_OPERATOR = new ElixirTokenType("@");
IElementType BASE_WHOLE_NUMBER_PREFIX = new ElixirTokenType("0");
IElementType BINARY_WHOLE_NUMBER_BASE = new ElixirTokenType("b");
IElementType BIT_STRING_OPERATOR = new ElixirTokenType("<<>>");
IElementType CALL = new ElixirTokenType("<zero-width-call>");
IElementType CAPTURE_OPERATOR = new ElixirTokenType("&");
IElementType CATCH = new ElixirTokenType("catch");
IElementType CHAR_LIST_FRAGMENT = new ElixirTokenType("Char List Fragment");
IElementType CHAR_LIST_HEREDOC_PROMOTER = new ElixirTokenType("Char List Heredoc Promoter (''')");
IElementType CHAR_LIST_HEREDOC_TERMINATOR = new ElixirTokenType("Char List Heredoc Terminator (''')");
IElementType CHAR_LIST_PROMOTER = new ElixirTokenType("Char List Promoter (')");
IElementType CHAR_LIST_SIGIL_HEREDOC_PROMOTER = new ElixirTokenType("Char List Sigil Heredoc Promoter (\"\"\", ''')");
IElementType CHAR_LIST_SIGIL_HEREDOC_TERMINATOR = new ElixirTokenType("Char List Sigil Heredoc Terminator (\"\"\", ''')");
IElementType CHAR_LIST_SIGIL_PROMOTER = new ElixirTokenType("Char List Sigil Promoter ({, [, <, \", /, (, |, ')");
IElementType CHAR_LIST_SIGIL_TERMINATOR = new ElixirTokenType("Char List Sigil Terminator ({, [, <, \", /, (, |, ')");
IElementType CHAR_LIST_TERMINATOR = new ElixirTokenType("Char List Terminator (')");
IElementType CHAR_TOKENIZER = new ElixirTokenType("?");
IElementType CLOSING_BIT = new ElixirTokenType(">>");
IElementType CLOSING_BRACKET = new ElixirTokenType("]");
IElementType CLOSING_CURLY = new ElixirTokenType("}");
IElementType CLOSING_PARENTHESIS = new ElixirTokenType(")");
IElementType COLON = new ElixirTokenType(":");
IElementType COMMA = new ElixirTokenType(",");
IElementType COMMENT = new ElixirTokenType("#");
IElementType COMPARISON_OPERATOR = new ElixirTokenType("!==, ===, !=, ==, =~");
IElementType DECIMAL_MARK = new ElixirTokenType("Decimal Mark (.)");
IElementType DECIMAL_SEPARATOR = new ElixirTokenType("_");
IElementType DO = new ElixirTokenType("do");
IElementType DOT_OPERATOR = new ElixirTokenType(".");
IElementType DUAL_OPERATOR = new ElixirTokenType("+, -");
IElementType ELSE = new ElixirTokenType("else");
IElementType END = new ElixirTokenType("end");
IElementType EOL = new ElixirTokenType("\\\\n, \\\\r\\\\n");
IElementType ESCAPE = new ElixirTokenType("\\\\");
IElementType ESCAPED_CHARACTER_TOKEN = new ElixirTokenType("\\\\<character>, \\\\x{<hexadecimal-digit>}, \\\\x<hexadecimal-digit>, \\\\\\\\n, \\\\\\\\r\\\\n");
IElementType EXPONENT_MARK = new ElixirTokenType("E, e");
IElementType FALSE = new ElixirTokenType("false");
IElementType FN = new ElixirTokenType("fn");
IElementType HEREDOC_LINE_WHITE_SPACE_TOKEN = new ElixirTokenType("Whitespace at beginning of line of heredoc");
IElementType HEREDOC_PREFIX_WHITE_SPACE = new ElixirTokenType("Whitespace at beginning of last line of heredoc before terminator");
IElementType HEXADECIMAL_WHOLE_NUMBER_BASE = new ElixirTokenType("x");
IElementType IDENTIFIER_TOKEN = new ElixirTokenType("identifier");
IElementType INTERPOLATING_CHAR_LIST_SIGIL_NAME = new ElixirTokenType("c");
IElementType INTERPOLATING_REGEX_SIGIL_NAME = new ElixirTokenType("r");
IElementType INTERPOLATING_SIGIL_NAME = new ElixirTokenType("a-b, d-q, t-v, x-z");
IElementType INTERPOLATING_STRING_SIGIL_NAME = new ElixirTokenType("s");
IElementType INTERPOLATING_WORDS_SIGIL_NAME = new ElixirTokenType("w");
IElementType INTERPOLATION_END = new ElixirTokenType("Interpolation End (})");
IElementType INTERPOLATION_START = new ElixirTokenType("Interpolation Start (#{)");
IElementType INVALID_BINARY_DIGITS = new ElixirTokenType("A-Z, a-z, 2-9");
IElementType INVALID_DECIMAL_DIGITS = new ElixirTokenType("A-Z, a-z");
IElementType INVALID_HEXADECIMAL_DIGITS = new ElixirTokenType("G-Z, g-z");
IElementType INVALID_OCTAL_DIGITS = new ElixirTokenType("A-Z, a-z, 8-9");
IElementType INVALID_UNKNOWN_BASE_DIGITS = new ElixirTokenType("A-Z, a-z, 0-9");
IElementType IN_MATCH_OPERATOR = new ElixirTokenType("<-, \\\\\\\\");
IElementType IN_OPERATOR = new ElixirTokenType("in");
IElementType KEYWORD_PAIR_COLON = new ElixirTokenType("Keyword Pair Colon (:)");
IElementType LITERAL_CHAR_LIST_SIGIL_NAME = new ElixirTokenType("C");
IElementType LITERAL_REGEX_SIGIL_NAME = new ElixirTokenType("R");
IElementType LITERAL_SIGIL_NAME = new ElixirTokenType("A-B, D-Q, T-V, X-Z");
IElementType LITERAL_STRING_SIGIL_NAME = new ElixirTokenType("S");
IElementType LITERAL_WORDS_SIGIL_NAME = new ElixirTokenType("W");
IElementType MAP_OPERATOR = new ElixirTokenType("%{}");
IElementType MATCH_OPERATOR = new ElixirTokenType("=");
IElementType MULTIPLICATION_OPERATOR = new ElixirTokenType("*, /");
IElementType NIL = new ElixirTokenType("nil");
IElementType OBSOLETE_BINARY_WHOLE_NUMBER_BASE = new ElixirTokenType("B");
IElementType OBSOLETE_HEXADECIMAL_WHOLE_NUMBER_BASE = new ElixirTokenType("X");
IElementType OCTAL_WHOLE_NUMBER_BASE = new ElixirTokenType("o");
IElementType OPENING_BIT = new ElixirTokenType("<<");
IElementType OPENING_BRACKET = new ElixirTokenType("[");
IElementType OPENING_CURLY = new ElixirTokenType("{");
IElementType OPENING_PARENTHESIS = new ElixirTokenType("(");
IElementType OR_OPERATOR = new ElixirTokenType("|||, `or`, ||");
IElementType PIPE_OPERATOR = new ElixirTokenType("|");
IElementType REGEX_FRAGMENT = new ElixirTokenType("Regex Fragment");
IElementType REGEX_HEREDOC_PROMOTER = new ElixirTokenType("Regex Heredoc Promoter (\"\"\", ''')");
IElementType REGEX_HEREDOC_TERMINATOR = new ElixirTokenType("Regex Heredoc Terminator (\"\"\", ''')");
IElementType REGEX_PROMOTER = new ElixirTokenType("Regex Promoter ({, [, <, \", /, (, |, ')");
IElementType REGEX_TERMINATOR = new ElixirTokenType("Regex Terminator ({, [, <, \", /, (, |, ')");
IElementType RELATIONAL_OPERATOR = new ElixirTokenType("<, <=, >=, >");
IElementType RESCUE = new ElixirTokenType("rescue");
IElementType SEMICOLON = new ElixirTokenType(";");
IElementType SIGIL_FRAGMENT = new ElixirTokenType("Sigil Fragment");
IElementType SIGIL_HEREDOC_PROMOTER = new ElixirTokenType("Sigil Heredoc Promoter (\"\"\", ''')");
IElementType SIGIL_HEREDOC_TERMINATOR = new ElixirTokenType("Sigil Heredoc Terminator (\"\"\", ''')");
IElementType SIGIL_MODIFIER = new ElixirTokenType("a-z");
IElementType SIGIL_PROMOTER = new ElixirTokenType("Sigil Promoter ({, [, <, \", /, (, |, ')");
IElementType SIGIL_TERMINATOR = new ElixirTokenType("Sigil Terminator ({, [, <, \", /, (, |, ')");
IElementType SIGNIFICANT_WHITE_SPACE = new ElixirTokenType("<significant-space>");
IElementType STAB_OPERATOR = new ElixirTokenType("->");
IElementType STRING_FRAGMENT = new ElixirTokenType("String Fragment");
IElementType STRING_HEREDOC_PROMOTER = new ElixirTokenType("String Heredoc Promoter (\"\"\")");
IElementType STRING_HEREDOC_TERMINATOR = new ElixirTokenType("String Heredoc Terminator (\"\"\")");
IElementType STRING_PROMOTER = new ElixirTokenType("String Promoter (\")");
IElementType STRING_SIGIL_HEREDOC_PROMOTER = new ElixirTokenType("String Sigil Heredoc Promoter (\"\"\", ''')");
IElementType STRING_SIGIL_HEREDOC_TERMINATOR = new ElixirTokenType("String Sigil Heredoc Terminator (\"\"\", ''')");
IElementType STRING_SIGIL_PROMOTER = new ElixirTokenType("String Sigil Promoter ({, [, <, \", /, (, |, ')");
IElementType STRING_SIGIL_TERMINATOR = new ElixirTokenType("String Sigil Terminator ({, [, <, \", /, (, |, ')");
IElementType STRING_TERMINATOR = new ElixirTokenType("String Terminator (\")");
IElementType STRUCT_OPERATOR = new ElixirTokenType("%");
IElementType THREE_OPERATOR = new ElixirTokenType("^^^");
IElementType TILDE = new ElixirTokenType("~");
IElementType TRUE = new ElixirTokenType("true");
IElementType TUPLE_OPERATOR = new ElixirTokenType("{}");
IElementType TWO_OPERATOR = new ElixirTokenType("++, --, .., <>");
IElementType TYPE_OPERATOR = new ElixirTokenType("::");
IElementType UNARY_OPERATOR = new ElixirTokenType("not, ~~~, !, ^");
IElementType UNICODE_ESCAPE_CHARACTER = new ElixirTokenType("u");
IElementType UNKNOWN_WHOLE_NUMBER_BASE = new ElixirTokenType("A-Z, a, c-n, p-w, z");
IElementType VALID_BINARY_DIGITS = new ElixirTokenType("0-1");
IElementType VALID_DECIMAL_DIGITS = new ElixirTokenType("0-9");
IElementType VALID_HEXADECIMAL_DIGITS = new ElixirTokenType("A-F, a-f, 0-9");
IElementType VALID_OCTAL_DIGITS = new ElixirTokenType("0-7");
IElementType WHEN_OPERATOR = new ElixirTokenType("when");
IElementType WORDS_FRAGMENT = new ElixirTokenType("Words Fragment");
IElementType WORDS_HEREDOC_PROMOTER = new ElixirTokenType("Words Heredoc Promoter (\"\"\", ''')");
IElementType WORDS_HEREDOC_TERMINATOR = new ElixirTokenType("Words Heredoc Terminator (\"\"\", ''')");
IElementType WORDS_PROMOTER = new ElixirTokenType("Words Promoter ({, [, <, \", /, (, |, ')");
IElementType WORDS_TERMINATOR = new ElixirTokenType("Words Terminator ({, [, <, \", /, (, |, ')");
class Factory {
public static PsiElement createElement(ASTNode node) {
IElementType type = node.getElementType();
if (type == ACCESS_EXPRESSION) {
return new ElixirAccessExpressionImpl(node);
}
else if (type == ADDITION_INFIX_OPERATOR) {
return new ElixirAdditionInfixOperatorImpl(node);
}
else if (type == ALIAS) {
return new ElixirAliasImpl(node);
}
else if (type == AND_INFIX_OPERATOR) {
return new ElixirAndInfixOperatorImpl(node);
}
else if (type == ANONYMOUS_FUNCTION) {
return new ElixirAnonymousFunctionImpl(node);
}
else if (type == ARROW_INFIX_OPERATOR) {
return new ElixirArrowInfixOperatorImpl(node);
}
else if (type == ASSOCIATIONS) {
return new ElixirAssociationsImpl(node);
}
else if (type == ASSOCIATIONS_BASE) {
return new ElixirAssociationsBaseImpl(node);
}
else if (type == ATOM) {
return new ElixirAtomImpl(node);
}
else if (type == ATOM_KEYWORD) {
return new ElixirAtomKeywordImpl(node);
}
else if (type == AT_IDENTIFIER) {
return new ElixirAtIdentifierImpl(node);
}
else if (type == AT_NUMERIC_OPERATION) {
return new ElixirAtNumericOperationImpl(node);
}
else if (type == AT_PREFIX_OPERATOR) {
return new ElixirAtPrefixOperatorImpl(node);
}
else if (type == BINARY_DIGITS) {
return new ElixirBinaryDigitsImpl(node);
}
else if (type == BINARY_WHOLE_NUMBER) {
return new ElixirBinaryWholeNumberImpl(node);
}
else if (type == BIT_STRING) {
return new ElixirBitStringImpl(node);
}
else if (type == BLOCK_IDENTIFIER) {
return new ElixirBlockIdentifierImpl(node);
}
else if (type == BLOCK_ITEM) {
return new ElixirBlockItemImpl(node);
}
else if (type == BLOCK_LIST) {
return new ElixirBlockListImpl(node);
}
else if (type == BRACKET_ARGUMENTS) {
return new ElixirBracketArgumentsImpl(node);
}
else if (type == CAPTURE_NUMERIC_OPERATION) {
return new ElixirCaptureNumericOperationImpl(node);
}
else if (type == CAPTURE_PREFIX_OPERATOR) {
return new ElixirCapturePrefixOperatorImpl(node);
}
else if (type == CHAR_LIST_HEREDOC) {
return new ElixirCharListHeredocImpl(node);
}
else if (type == CHAR_LIST_HEREDOC_LINE) {
return new ElixirCharListHeredocLineImpl(node);
}
else if (type == CHAR_LIST_LINE) {
return new ElixirCharListLineImpl(node);
}
else if (type == CHAR_TOKEN) {
return new ElixirCharTokenImpl(node);
}
else if (type == COMPARISON_INFIX_OPERATOR) {
return new ElixirComparisonInfixOperatorImpl(node);
}
else if (type == CONTAINER_ASSOCIATION_OPERATION) {
return new ElixirContainerAssociationOperationImpl(node);
}
else if (type == DECIMAL_DIGITS) {
return new ElixirDecimalDigitsImpl(node);
}
else if (type == DECIMAL_FLOAT) {
return new ElixirDecimalFloatImpl(node);
}
else if (type == DECIMAL_FLOAT_EXPONENT) {
return new ElixirDecimalFloatExponentImpl(node);
}
else if (type == DECIMAL_FLOAT_EXPONENT_SIGN) {
return new ElixirDecimalFloatExponentSignImpl(node);
}
else if (type == DECIMAL_FLOAT_FRACTIONAL) {
return new ElixirDecimalFloatFractionalImpl(node);
}
else if (type == DECIMAL_FLOAT_INTEGRAL) {
return new ElixirDecimalFloatIntegralImpl(node);
}
else if (type == DECIMAL_WHOLE_NUMBER) {
return new ElixirDecimalWholeNumberImpl(node);
}
else if (type == DOT_INFIX_OPERATOR) {
return new ElixirDotInfixOperatorImpl(node);
}
else if (type == DO_BLOCK) {
return new ElixirDoBlockImpl(node);
}
else if (type == EMPTY_PARENTHESES) {
return new ElixirEmptyParenthesesImpl(node);
}
else if (type == ENCLOSED_HEXADECIMAL_ESCAPE_SEQUENCE) {
return new ElixirEnclosedHexadecimalEscapeSequenceImpl(node);
}
else if (type == END_OF_EXPRESSION) {
return new ElixirEndOfExpressionImpl(node);
}
else if (type == ESCAPED_CHARACTER) {
return new ElixirEscapedCharacterImpl(node);
}
else if (type == ESCAPED_EOL) {
return new ElixirEscapedEOLImpl(node);
}
else if (type == HEREDOC_LINE_PREFIX) {
return new ElixirHeredocLinePrefixImpl(node);
}
else if (type == HEREDOC_PREFIX) {
return new ElixirHeredocPrefixImpl(node);
}
else if (type == HEXADECIMAL_DIGITS) {
return new ElixirHexadecimalDigitsImpl(node);
}
else if (type == HEXADECIMAL_ESCAPE_PREFIX) {
return new ElixirHexadecimalEscapePrefixImpl(node);
}
else if (type == HEXADECIMAL_WHOLE_NUMBER) {
return new ElixirHexadecimalWholeNumberImpl(node);
}
else if (type == IDENTIFIER) {
return new ElixirIdentifierImpl(node);
}
else if (type == INTERPOLATED_CHAR_LIST_BODY) {
return new ElixirInterpolatedCharListBodyImpl(node);
}
else if (type == INTERPOLATED_CHAR_LIST_HEREDOC_LINE) {
return new ElixirInterpolatedCharListHeredocLineImpl(node);
}
else if (type == INTERPOLATED_CHAR_LIST_SIGIL_HEREDOC) {
return new ElixirInterpolatedCharListSigilHeredocImpl(node);
}
else if (type == INTERPOLATED_CHAR_LIST_SIGIL_LINE) {
return new ElixirInterpolatedCharListSigilLineImpl(node);
}
else if (type == INTERPOLATED_REGEX_BODY) {
return new ElixirInterpolatedRegexBodyImpl(node);
}
else if (type == INTERPOLATED_REGEX_HEREDOC) {
return new ElixirInterpolatedRegexHeredocImpl(node);
}
else if (type == INTERPOLATED_REGEX_HEREDOC_LINE) {
return new ElixirInterpolatedRegexHeredocLineImpl(node);
}
else if (type == INTERPOLATED_REGEX_LINE) {
return new ElixirInterpolatedRegexLineImpl(node);
}
else if (type == INTERPOLATED_SIGIL_BODY) {
return new ElixirInterpolatedSigilBodyImpl(node);
}
else if (type == INTERPOLATED_SIGIL_HEREDOC) {
return new ElixirInterpolatedSigilHeredocImpl(node);
}
else if (type == INTERPOLATED_SIGIL_HEREDOC_LINE) {
return new ElixirInterpolatedSigilHeredocLineImpl(node);
}
else if (type == INTERPOLATED_SIGIL_LINE) {
return new ElixirInterpolatedSigilLineImpl(node);
}
else if (type == INTERPOLATED_STRING_BODY) {
return new ElixirInterpolatedStringBodyImpl(node);
}
else if (type == INTERPOLATED_STRING_HEREDOC_LINE) {
return new ElixirInterpolatedStringHeredocLineImpl(node);
}
else if (type == INTERPOLATED_STRING_SIGIL_HEREDOC) {
return new ElixirInterpolatedStringSigilHeredocImpl(node);
}
else if (type == INTERPOLATED_STRING_SIGIL_LINE) {
return new ElixirInterpolatedStringSigilLineImpl(node);
}
else if (type == INTERPOLATED_WORDS_BODY) {
return new ElixirInterpolatedWordsBodyImpl(node);
}
else if (type == INTERPOLATED_WORDS_HEREDOC) {
return new ElixirInterpolatedWordsHeredocImpl(node);
}
else if (type == INTERPOLATED_WORDS_HEREDOC_LINE) {
return new ElixirInterpolatedWordsHeredocLineImpl(node);
}
else if (type == INTERPOLATED_WORDS_LINE) {
return new ElixirInterpolatedWordsLineImpl(node);
}
else if (type == INTERPOLATION) {
return new ElixirInterpolationImpl(node);
}
else if (type == IN_INFIX_OPERATOR) {
return new ElixirInInfixOperatorImpl(node);
}
else if (type == IN_MATCH_INFIX_OPERATOR) {
return new ElixirInMatchInfixOperatorImpl(node);
}
else if (type == KEYWORDS) {
return new ElixirKeywordsImpl(node);
}
else if (type == KEYWORD_KEY) {
return new ElixirKeywordKeyImpl(node);
}
else if (type == KEYWORD_PAIR) {
return new ElixirKeywordPairImpl(node);
}
else if (type == LIST) {
return new ElixirListImpl(node);
}
else if (type == LITERAL_CHAR_LIST_BODY) {
return new ElixirLiteralCharListBodyImpl(node);
}
else if (type == LITERAL_CHAR_LIST_HEREDOC_LINE) {
return new ElixirLiteralCharListHeredocLineImpl(node);
}
else if (type == LITERAL_CHAR_LIST_SIGIL_HEREDOC) {
return new ElixirLiteralCharListSigilHeredocImpl(node);
}
else if (type == LITERAL_CHAR_LIST_SIGIL_LINE) {
return new ElixirLiteralCharListSigilLineImpl(node);
}
else if (type == LITERAL_REGEX_BODY) {
return new ElixirLiteralRegexBodyImpl(node);
}
else if (type == LITERAL_REGEX_HEREDOC) {
return new ElixirLiteralRegexHeredocImpl(node);
}
else if (type == LITERAL_REGEX_HEREDOC_LINE) {
return new ElixirLiteralRegexHeredocLineImpl(node);
}
else if (type == LITERAL_REGEX_LINE) {
return new ElixirLiteralRegexLineImpl(node);
}
else if (type == LITERAL_SIGIL_BODY) {
return new ElixirLiteralSigilBodyImpl(node);
}
else if (type == LITERAL_SIGIL_HEREDOC) {
return new ElixirLiteralSigilHeredocImpl(node);
}
else if (type == LITERAL_SIGIL_HEREDOC_LINE) {
return new ElixirLiteralSigilHeredocLineImpl(node);
}
else if (type == LITERAL_SIGIL_LINE) {
return new ElixirLiteralSigilLineImpl(node);
}
else if (type == LITERAL_STRING_BODY) {
return new ElixirLiteralStringBodyImpl(node);
}
else if (type == LITERAL_STRING_HEREDOC_LINE) {
return new ElixirLiteralStringHeredocLineImpl(node);
}
else if (type == LITERAL_STRING_SIGIL_HEREDOC) {
return new ElixirLiteralStringSigilHeredocImpl(node);
}
else if (type == LITERAL_STRING_SIGIL_LINE) {
return new ElixirLiteralStringSigilLineImpl(node);
}
else if (type == LITERAL_WORDS_BODY) {
return new ElixirLiteralWordsBodyImpl(node);
}
else if (type == LITERAL_WORDS_HEREDOC) {
return new ElixirLiteralWordsHeredocImpl(node);
}
else if (type == LITERAL_WORDS_HEREDOC_LINE) {
return new ElixirLiteralWordsHeredocLineImpl(node);
}
else if (type == LITERAL_WORDS_LINE) {
return new ElixirLiteralWordsLineImpl(node);
}
else if (type == MAP_ARGUMENTS) {
return new ElixirMapArgumentsImpl(node);
}
else if (type == MAP_CONSTRUCTION_ARGUMENTS) {
return new ElixirMapConstructionArgumentsImpl(node);
}
else if (type == MAP_OPERATION) {
return new ElixirMapOperationImpl(node);
}
else if (type == MAP_PREFIX_OPERATOR) {
return new ElixirMapPrefixOperatorImpl(node);
}
else if (type == MAP_UPDATE_ARGUMENTS) {
return new ElixirMapUpdateArgumentsImpl(node);
}
else if (type == MATCHED_ADDITION_OPERATION) {
return new ElixirMatchedAdditionOperationImpl(node);
}
else if (type == MATCHED_AND_OPERATION) {
return new ElixirMatchedAndOperationImpl(node);
}
else if (type == MATCHED_ARROW_OPERATION) {
return new ElixirMatchedArrowOperationImpl(node);
}
else if (type == MATCHED_AT_NON_NUMERIC_OPERATION) {
return new ElixirMatchedAtNonNumericOperationImpl(node);
}
else if (type == MATCHED_AT_UNQUALIFIED_BRACKET_OPERATION) {
return new ElixirMatchedAtUnqualifiedBracketOperationImpl(node);
}
else if (type == MATCHED_AT_UNQUALIFIED_NO_PARENTHESES_CALL) {
return new ElixirMatchedAtUnqualifiedNoParenthesesCallImpl(node);
}
else if (type == MATCHED_BRACKET_OPERATION) {
return new ElixirMatchedBracketOperationImpl(node);
}
else if (type == MATCHED_CAPTURE_NON_NUMERIC_OPERATION) {
return new ElixirMatchedCaptureNonNumericOperationImpl(node);
}
else if (type == MATCHED_COMPARISON_OPERATION) {
return new ElixirMatchedComparisonOperationImpl(node);
}
else if (type == MATCHED_DOT_CALL) {
return new ElixirMatchedDotCallImpl(node);
}
else if (type == MATCHED_IN_MATCH_OPERATION) {
return new ElixirMatchedInMatchOperationImpl(node);
}
else if (type == MATCHED_IN_OPERATION) {
return new ElixirMatchedInOperationImpl(node);
}
else if (type == MATCHED_MATCH_OPERATION) {
return new ElixirMatchedMatchOperationImpl(node);
}
else if (type == MATCHED_MULTIPLICATION_OPERATION) {
return new ElixirMatchedMultiplicationOperationImpl(node);
}
else if (type == MATCHED_OR_OPERATION) {
return new ElixirMatchedOrOperationImpl(node);
}
else if (type == MATCHED_PARENTHESES_ARGUMENTS) {
return new ElixirMatchedParenthesesArgumentsImpl(node);
}
else if (type == MATCHED_PIPE_OPERATION) {
return new ElixirMatchedPipeOperationImpl(node);
}
else if (type == MATCHED_QUALIFIED_ALIAS) {
return new ElixirMatchedQualifiedAliasImpl(node);
}
else if (type == MATCHED_QUALIFIED_BRACKET_OPERATION) {
return new ElixirMatchedQualifiedBracketOperationImpl(node);
}
else if (type == MATCHED_QUALIFIED_MULTIPLE_ALIASES) {
return new ElixirMatchedQualifiedMultipleAliasesImpl(node);
}
else if (type == MATCHED_QUALIFIED_NO_ARGUMENTS_CALL) {
return new ElixirMatchedQualifiedNoArgumentsCallImpl(node);
}
else if (type == MATCHED_QUALIFIED_NO_PARENTHESES_CALL) {
return new ElixirMatchedQualifiedNoParenthesesCallImpl(node);
}
else if (type == MATCHED_QUALIFIED_PARENTHESES_CALL) {
return new ElixirMatchedQualifiedParenthesesCallImpl(node);
}
else if (type == MATCHED_RELATIONAL_OPERATION) {
return new ElixirMatchedRelationalOperationImpl(node);
}
else if (type == MATCHED_THREE_OPERATION) {
return new ElixirMatchedThreeOperationImpl(node);
}
else if (type == MATCHED_TWO_OPERATION) {
return new ElixirMatchedTwoOperationImpl(node);
}
else if (type == MATCHED_TYPE_OPERATION) {
return new ElixirMatchedTypeOperationImpl(node);
}
else if (type == MATCHED_UNARY_NON_NUMERIC_OPERATION) {
return new ElixirMatchedUnaryNonNumericOperationImpl(node);
}
else if (type == MATCHED_UNQUALIFIED_BRACKET_OPERATION) {
return new ElixirMatchedUnqualifiedBracketOperationImpl(node);
}
else if (type == MATCHED_UNQUALIFIED_NO_ARGUMENTS_CALL) {
return new ElixirMatchedUnqualifiedNoArgumentsCallImpl(node);
}
else if (type == MATCHED_UNQUALIFIED_NO_PARENTHESES_CALL) {
return new ElixirMatchedUnqualifiedNoParenthesesCallImpl(node);
}
else if (type == MATCHED_UNQUALIFIED_PARENTHESES_CALL) {
return new ElixirMatchedUnqualifiedParenthesesCallImpl(node);
}
else if (type == MATCHED_WHEN_OPERATION) {
return new ElixirMatchedWhenOperationImpl(node);
}
else if (type == MATCH_INFIX_OPERATOR) {
return new ElixirMatchInfixOperatorImpl(node);
}
else if (type == MULTIPLE_ALIASES) {
return new ElixirMultipleAliasesImpl(node);
}
else if (type == MULTIPLICATION_INFIX_OPERATOR) {
return new ElixirMultiplicationInfixOperatorImpl(node);
}
else if (type == NO_PARENTHESES_ARGUMENTS) {
return new ElixirNoParenthesesArgumentsImpl(node);
}
else if (type == NO_PARENTHESES_KEYWORDS) {
return new ElixirNoParenthesesKeywordsImpl(node);
}
else if (type == NO_PARENTHESES_KEYWORD_PAIR) {
return new ElixirNoParenthesesKeywordPairImpl(node);
}
else if (type == NO_PARENTHESES_MANY_STRICT_NO_PARENTHESES_EXPRESSION) {
return new ElixirNoParenthesesManyStrictNoParenthesesExpressionImpl(node);
}
else if (type == NO_PARENTHESES_ONE_ARGUMENT) {
return new ElixirNoParenthesesOneArgumentImpl(node);
}
else if (type == NO_PARENTHESES_STRICT) {
return new ElixirNoParenthesesStrictImpl(node);
}
else if (type == OCTAL_DIGITS) {
return new ElixirOctalDigitsImpl(node);
}
else if (type == OCTAL_WHOLE_NUMBER) {
return new ElixirOctalWholeNumberImpl(node);
}
else if (type == OPEN_HEXADECIMAL_ESCAPE_SEQUENCE) {
return new ElixirOpenHexadecimalEscapeSequenceImpl(node);
}
else if (type == OR_INFIX_OPERATOR) {
return new ElixirOrInfixOperatorImpl(node);
}
else if (type == PARENTHESES_ARGUMENTS) {
return new ElixirParenthesesArgumentsImpl(node);
}
else if (type == PARENTHETICAL_STAB) {
return new ElixirParentheticalStabImpl(node);
}
else if (type == PIPE_INFIX_OPERATOR) {
return new ElixirPipeInfixOperatorImpl(node);
}
else if (type == QUOTE_CHAR_LIST_BODY) {
return new ElixirQuoteCharListBodyImpl(node);
}
else if (type == QUOTE_HEXADECIMAL_ESCAPE_SEQUENCE) {
return new ElixirQuoteHexadecimalEscapeSequenceImpl(node);
}
else if (type == QUOTE_STRING_BODY) {
return new ElixirQuoteStringBodyImpl(node);
}
else if (type == RELATIONAL_INFIX_OPERATOR) {
return new ElixirRelationalInfixOperatorImpl(node);
}
else if (type == RELATIVE_IDENTIFIER) {
return new ElixirRelativeIdentifierImpl(node);
}
else if (type == SIGIL_HEXADECIMAL_ESCAPE_SEQUENCE) {
return new ElixirSigilHexadecimalEscapeSequenceImpl(node);
}
else if (type == SIGIL_MODIFIERS) {
return new ElixirSigilModifiersImpl(node);
}
else if (type == STAB) {
return new ElixirStabImpl(node);
}
else if (type == STAB_BODY) {
return new ElixirStabBodyImpl(node);
}
else if (type == STAB_INFIX_OPERATOR) {
return new ElixirStabInfixOperatorImpl(node);
}
else if (type == STAB_NO_PARENTHESES_SIGNATURE) {
return new ElixirStabNoParenthesesSignatureImpl(node);
}
else if (type == STAB_OPERATION) {
return new ElixirStabOperationImpl(node);
}
else if (type == STAB_PARENTHESES_SIGNATURE) {
return new ElixirStabParenthesesSignatureImpl(node);
}
else if (type == STRING_HEREDOC) {
return new ElixirStringHeredocImpl(node);
}
else if (type == STRING_HEREDOC_LINE) {
return new ElixirStringHeredocLineImpl(node);
}
else if (type == STRING_LINE) {
return new ElixirStringLineImpl(node);
}
else if (type == STRUCT_OPERATION) {
return new ElixirStructOperationImpl(node);
}
else if (type == THREE_INFIX_OPERATOR) {
return new ElixirThreeInfixOperatorImpl(node);
}
else if (type == TUPLE) {
return new ElixirTupleImpl(node);
}
else if (type == TWO_INFIX_OPERATOR) {
return new ElixirTwoInfixOperatorImpl(node);
}
else if (type == TYPE_INFIX_OPERATOR) {
return new ElixirTypeInfixOperatorImpl(node);
}
else if (type == UNARY_NUMERIC_OPERATION) {
return new ElixirUnaryNumericOperationImpl(node);
}
else if (type == UNARY_PREFIX_OPERATOR) {
return new ElixirUnaryPrefixOperatorImpl(node);
}
else if (type == UNKNOWN_BASE_DIGITS) {
return new ElixirUnknownBaseDigitsImpl(node);
}
else if (type == UNKNOWN_BASE_WHOLE_NUMBER) {
return new ElixirUnknownBaseWholeNumberImpl(node);
}
else if (type == UNMATCHED_ADDITION_OPERATION) {
return new ElixirUnmatchedAdditionOperationImpl(node);
}
else if (type == UNMATCHED_AND_OPERATION) {
return new ElixirUnmatchedAndOperationImpl(node);
}
else if (type == UNMATCHED_ARROW_OPERATION) {
return new ElixirUnmatchedArrowOperationImpl(node);
}
else if (type == UNMATCHED_AT_NON_NUMERIC_OPERATION) {
return new ElixirUnmatchedAtNonNumericOperationImpl(node);
}
else if (type == UNMATCHED_AT_UNQUALIFIED_BRACKET_OPERATION) {
return new ElixirUnmatchedAtUnqualifiedBracketOperationImpl(node);
}
else if (type == UNMATCHED_AT_UNQUALIFIED_NO_PARENTHESES_CALL) {
return new ElixirUnmatchedAtUnqualifiedNoParenthesesCallImpl(node);
}
else if (type == UNMATCHED_BRACKET_OPERATION) {
return new ElixirUnmatchedBracketOperationImpl(node);
}
else if (type == UNMATCHED_CAPTURE_NON_NUMERIC_OPERATION) {
return new ElixirUnmatchedCaptureNonNumericOperationImpl(node);
}
else if (type == UNMATCHED_COMPARISON_OPERATION) {
return new ElixirUnmatchedComparisonOperationImpl(node);
}
else if (type == UNMATCHED_DOT_CALL) {
return new ElixirUnmatchedDotCallImpl(node);
}
else if (type == UNMATCHED_IN_MATCH_OPERATION) {
return new ElixirUnmatchedInMatchOperationImpl(node);
}
else if (type == UNMATCHED_IN_OPERATION) {
return new ElixirUnmatchedInOperationImpl(node);
}
else if (type == UNMATCHED_MATCH_OPERATION) {
return new ElixirUnmatchedMatchOperationImpl(node);
}
else if (type == UNMATCHED_MULTIPLICATION_OPERATION) {
return new ElixirUnmatchedMultiplicationOperationImpl(node);
}
else if (type == UNMATCHED_OR_OPERATION) {
return new ElixirUnmatchedOrOperationImpl(node);
}
else if (type == UNMATCHED_PIPE_OPERATION) {
return new ElixirUnmatchedPipeOperationImpl(node);
}
else if (type == UNMATCHED_QUALIFIED_ALIAS) {
return new ElixirUnmatchedQualifiedAliasImpl(node);
}
else if (type == UNMATCHED_QUALIFIED_BRACKET_OPERATION) {
return new ElixirUnmatchedQualifiedBracketOperationImpl(node);
}
else if (type == UNMATCHED_QUALIFIED_MULTIPLE_ALIASES) {
return new ElixirUnmatchedQualifiedMultipleAliasesImpl(node);
}
else if (type == UNMATCHED_QUALIFIED_NO_ARGUMENTS_CALL) {
return new ElixirUnmatchedQualifiedNoArgumentsCallImpl(node);
}
else if (type == UNMATCHED_QUALIFIED_NO_PARENTHESES_CALL) {
return new ElixirUnmatchedQualifiedNoParenthesesCallImpl(node);
}
else if (type == UNMATCHED_QUALIFIED_PARENTHESES_CALL) {
return new ElixirUnmatchedQualifiedParenthesesCallImpl(node);
}
else if (type == UNMATCHED_RELATIONAL_OPERATION) {
return new ElixirUnmatchedRelationalOperationImpl(node);
}
else if (type == UNMATCHED_THREE_OPERATION) {
return new ElixirUnmatchedThreeOperationImpl(node);
}
else if (type == UNMATCHED_TWO_OPERATION) {
return new ElixirUnmatchedTwoOperationImpl(node);
}
else if (type == UNMATCHED_TYPE_OPERATION) {
return new ElixirUnmatchedTypeOperationImpl(node);
}
else if (type == UNMATCHED_UNARY_NON_NUMERIC_OPERATION) {
return new ElixirUnmatchedUnaryNonNumericOperationImpl(node);
}
else if (type == UNMATCHED_UNQUALIFIED_BRACKET_OPERATION) {
return new ElixirUnmatchedUnqualifiedBracketOperationImpl(node);
}
else if (type == UNMATCHED_UNQUALIFIED_NO_ARGUMENTS_CALL) {
return new ElixirUnmatchedUnqualifiedNoArgumentsCallImpl(node);
}
else if (type == UNMATCHED_UNQUALIFIED_NO_PARENTHESES_CALL) {
return new ElixirUnmatchedUnqualifiedNoParenthesesCallImpl(node);
}
else if (type == UNMATCHED_UNQUALIFIED_PARENTHESES_CALL) {
return new ElixirUnmatchedUnqualifiedParenthesesCallImpl(node);
}
else if (type == UNMATCHED_WHEN_OPERATION) {
return new ElixirUnmatchedWhenOperationImpl(node);
}
else if (type == UNQUALIFIED_NO_PARENTHESES_MANY_ARGUMENTS_CALL) {
return new ElixirUnqualifiedNoParenthesesManyArgumentsCallImpl(node);
}
else if (type == VARIABLE) {
return new ElixirVariableImpl(node);
}
else if (type == WHEN_INFIX_OPERATOR) {
return new ElixirWhenInfixOperatorImpl(node);
}
throw new AssertionError("Unknown element type: " + type);
}
}
}