diff --git a/src/test/java/com/falsepattern/zigbrains/LICENSE b/src/test/java/com/falsepattern/zigbrains/LICENSE new file mode 100644 index 000000000..4cb800976 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/LICENSE @@ -0,0 +1,32 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +Zigbrains is Copyright (C) 2023-2025 FalsePattern, All Rights Reserved +ZigBrains is licensed under the LGPLv3 license. + +The generated zig parser, lexer, and the following classes: +com.falsepattern.zigbrains.zig.ZigFileType +com.falsepattern.zigbrains.zig.ZigLanguage +com.falsepattern.zigbrains.zig.psi.ZigFile +com.falsepattern.zigbrains.zig.parser.ZigElementType +com.falsepattern.zigbrains.zig.parser.ZigParserDefinition +com.falsepattern.zigbrains.zig.parser.ZigTokenSets +com.falsepattern.zigbrains.zig.parser.ZigTokenType +com.falsepattern.zigbrains.zig.lexer.ZigLexerAdapter + +have been dual-licensed under the EPL2.0 license for use in testing +of the LSP4IJ plugin. +This message, along with the attached signature, signed by +FalsePattern's PGP key, shall serve as proof of this. + +-----BEGIN PGP SIGNATURE----- + +iQEzBAEBCgAdFiEE4S1HwWvKg24eRaEg6TDN7FDFDiMFAmerq5QACgkQ6TDN7FDF +DiN7WAgAvWjmAwupQUup/B9m2vkGBdGXpu600XnWm3vGc8krwhcZXvTY33M9nNis +t2sNbrugBiCqQtkvM3cPXcRaf765ahSBuzmVUfshyDC5HTpaAKSYavq2iT4CE4Xb +4hPGJ6GT25n+BkTGwYr73leYEQYsWfL9uEGZL+bf1sMNRQAGUROmBCYCXYRvwQye +/vSrvGymhHkDvwZMs+p5hzID1Z6Sc9LLQJyyViJf3lZresS1KbxPHz63ACjJaNu/ ++SNNXS+zI05HrJoR01q9ma7BQPMn/elqPinapC3nHAbqYYBjqv8N+9oDQk+RjNdC +PQAkfdgRJkfrGlTHX047mOSoC15VXw== +=S7Yw +-----END PGP SIGNATURE----- \ No newline at end of file diff --git a/src/test/java/com/falsepattern/zigbrains/zig/lexer/ZigFlexLexer.java b/src/test/java/com/falsepattern/zigbrains/zig/lexer/ZigFlexLexer.java new file mode 100644 index 000000000..120761da0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/lexer/ZigFlexLexer.java @@ -0,0 +1,1615 @@ +// Generated by JFlex 1.9.2 http://jflex.de/ (tweaked for IntelliJ platform) +// source: src/main/grammar/Zig.flex + +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ +package com.falsepattern.zigbrains.zig.lexer; + +import com.intellij.lexer.FlexLexer; +import com.intellij.psi.tree.IElementType; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; +import static com.intellij.psi.TokenType.BAD_CHARACTER; +import static com.intellij.psi.TokenType.WHITE_SPACE; + + +class ZigFlexLexer implements FlexLexer { + + /** This character denotes the end of file */ + public static final int YYEOF = -1; + + /** initial size of the lookahead buffer */ + private static final int ZZ_BUFFERSIZE = 16384; + + /** lexical states */ + public static final int YYINITIAL = 0; + public static final int STR_LIT = 2; + public static final int STR_MULT_LINE = 4; + public static final int CHAR_LIT = 6; + public static final int ID_QUOT = 8; + public static final int UNT_SQUOT = 10; + public static final int UNT_DQUOT = 12; + public static final int CDOC_CMT = 14; + public static final int DOC_CMT = 16; + public static final int LINE_CMT = 18; + + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l + * at the beginning of a line + * l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, + 8, 8, 9, 9 + }; + + /** + * Top-level table for translating characters to character classes + */ + private static final int [] ZZ_CMAP_TOP = zzUnpackcmap_top(); + + private static final String ZZ_CMAP_TOP_PACKED_0 = + "\1\0\25\u0100\1\u0200\11\u0100\1\u0300\17\u0100\1\u0400\247\u0100"+ + "\10\u0500\u1020\u0100"; + + private static int [] zzUnpackcmap_top() { + int [] result = new int[4352]; + int offset = 0; + offset = zzUnpackcmap_top(ZZ_CMAP_TOP_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackcmap_top(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + + /** + * Second-level tables for translating characters to character classes + */ + private static final int [] ZZ_CMAP_BLOCKS = zzUnpackcmap_blocks(); + + private static final String ZZ_CMAP_BLOCKS_PACKED_0 = + "\11\0\1\1\1\2\2\3\1\4\22\0\1\5\1\6"+ + "\1\7\2\0\1\10\1\11\1\12\1\13\1\14\1\15"+ + "\1\16\1\17\1\20\1\21\1\22\1\23\1\24\6\25"+ + "\2\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35"+ + "\4\36\1\37\1\36\11\40\1\41\12\40\1\42\1\43"+ + "\1\44\1\45\1\46\1\0\1\47\1\50\1\51\1\52"+ + "\1\53\1\54\1\55\1\56\1\57\1\40\1\60\1\61"+ + "\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71"+ + "\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101"+ + "\1\102\1\103\6\0\1\3\32\0\1\1\u01df\0\1\1"+ + "\177\0\13\1\35\0\2\3\5\0\1\1\57\0\1\1"+ + "\240\0\1\1\u01ff\0"; + + private static int [] zzUnpackcmap_blocks() { + int [] result = new int[1536]; + int offset = 0; + offset = zzUnpackcmap_blocks(ZZ_CMAP_BLOCKS_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackcmap_blocks(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + /** + * Translates DFA states to action switch labels. + */ + private static final int [] ZZ_ACTION = zzUnpackAction(); + + private static final String ZZ_ACTION_PACKED_0 = + "\12\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7"+ + "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17"+ + "\2\20\1\21\1\22\1\23\1\24\1\25\1\26\1\1"+ + "\1\27\1\30\1\1\1\31\1\32\21\27\1\33\1\34"+ + "\1\35\1\36\2\37\1\40\1\37\1\41\1\42\2\43"+ + "\1\44\1\43\1\37\1\45\1\37\1\41\3\46\3\47"+ + "\1\41\1\50\1\41\1\51\1\41\1\52\1\53\1\54"+ + "\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64"+ + "\1\65\1\66\1\67\1\70\1\71\1\72\1\73\1\74"+ + "\1\75\1\76\6\0\1\77\1\100\1\101\1\102\1\103"+ + "\1\104\1\105\1\106\1\107\1\110\15\27\1\111\1\27"+ + "\1\112\4\27\1\113\16\27\1\114\1\115\2\0\1\40"+ + "\4\0\1\44\2\0\1\45\6\0\1\116\1\117\1\120"+ + "\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\0"+ + "\1\127\3\20\1\130\1\131\1\132\3\27\1\133\1\27"+ + "\1\134\15\27\1\135\10\27\1\136\7\27\1\137\3\27"+ + "\1\140\2\27\1\41\2\0\1\141\16\27\1\142\1\143"+ + "\21\27\1\144\6\27\1\127\1\27\1\145\3\27\1\146"+ + "\1\147\1\150\1\27\1\151\1\27\1\152\1\27\1\153"+ + "\1\27\1\154\20\27\1\155\3\27\1\156\10\27\1\157"+ + "\1\160\1\161\4\27\1\162\1\163\1\164\1\165\1\166"+ + "\1\167\1\27\1\170\7\27\1\171\5\27\1\172\2\27"+ + "\1\173\6\27\1\174\1\175\1\176\1\177\1\200\1\27"+ + "\1\201\4\27\1\202\1\203\1\204\1\27\1\205\7\27"+ + "\1\206\1\207\1\210\3\27\1\211"; + + private static int [] zzUnpackAction() { + int [] result = new int[395]; + int offset = 0; + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackAction(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + + /** + * Translates a state to a row index in the transition table + */ + private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); + + private static final String ZZ_ROWMAP_PACKED_0 = + "\0\0\0\104\0\210\0\314\0\u0110\0\u0154\0\u0198\0\u01dc"+ + "\0\u0220\0\u0264\0\u02a8\0\u02ec\0\u0330\0\u02a8\0\u0374\0\u03b8"+ + "\0\u02a8\0\u02a8\0\u02a8\0\u03fc\0\u0440\0\u02a8\0\u0484\0\u04c8"+ + "\0\u050c\0\u0550\0\u0594\0\u02a8\0\u02a8\0\u05d8\0\u061c\0\u0660"+ + "\0\u02a8\0\u06a4\0\u06e8\0\u02a8\0\u072c\0\u02a8\0\u0770\0\u07b4"+ + "\0\u07f8\0\u083c\0\u0880\0\u08c4\0\u0908\0\u094c\0\u0990\0\u09d4"+ + "\0\u0a18\0\u0a5c\0\u0aa0\0\u0ae4\0\u0b28\0\u0b6c\0\u0bb0\0\u0bf4"+ + "\0\u02a8\0\u0c38\0\u02a8\0\u02a8\0\u0c7c\0\u02a8\0\u02a8\0\u0cc0"+ + "\0\u0d04\0\u0d48\0\u0d8c\0\u02a8\0\u02a8\0\u0dd0\0\u0e14\0\u02a8"+ + "\0\u0e58\0\u0e9c\0\u02a8\0\u0e9c\0\u0ee0\0\u02a8\0\u0e9c\0\u0f24"+ + "\0\u0f68\0\u0fac\0\u0ff0\0\u1034\0\u1078\0\u10bc\0\u02a8\0\u02a8"+ + "\0\u02a8\0\u1100\0\u02a8\0\u02a8\0\u1144\0\u1188\0\u02a8\0\u02a8"+ + "\0\u11cc\0\u1210\0\u02a8\0\u02a8\0\u1254\0\u02a8\0\u1298\0\u02a8"+ + "\0\u12dc\0\u02a8\0\u1320\0\u1364\0\u13a8\0\u13ec\0\u1430\0\u1474"+ + "\0\u14b8\0\u02a8\0\u02a8\0\u02a8\0\u02a8\0\u14fc\0\u02a8\0\u1540"+ + "\0\u02a8\0\u02a8\0\u1584\0\u15c8\0\u160c\0\u1650\0\u1694\0\u16d8"+ + "\0\u171c\0\u1760\0\u17a4\0\u17e8\0\u182c\0\u1870\0\u18b4\0\u06e8"+ + "\0\u18f8\0\u06e8\0\u193c\0\u1980\0\u19c4\0\u1a08\0\u1a4c\0\u1a90"+ + "\0\u1ad4\0\u1b18\0\u1b5c\0\u1ba0\0\u1be4\0\u1c28\0\u1c6c\0\u1cb0"+ + "\0\u1cf4\0\u1d38\0\u1d7c\0\u1dc0\0\u1e04\0\u02a8\0\u02a8\0\u0c7c"+ + "\0\u0cc0\0\u0c7c\0\u0d48\0\u1e48\0\u0d8c\0\u0dd0\0\u0d8c\0\u0e14"+ + "\0\u0e58\0\u0e14\0\u0fac\0\u1e8c\0\u1034\0\u1ed0\0\u10bc\0\u1f14"+ + "\0\u02a8\0\u02a8\0\u02a8\0\u02a8\0\u02a8\0\u02a8\0\u02a8\0\u02a8"+ + "\0\u02a8\0\u1f58\0\u1f9c\0\u1fe0\0\u2024\0\u2068\0\u20ac\0\u02a8"+ + "\0\u20f0\0\u02a8\0\u2134\0\u2178\0\u21bc\0\u06e8\0\u2200\0\u06e8"+ + "\0\u2244\0\u2288\0\u22cc\0\u2310\0\u2354\0\u2398\0\u23dc\0\u2420"+ + "\0\u2464\0\u24a8\0\u24ec\0\u2530\0\u2574\0\u06e8\0\u25b8\0\u25fc"+ + "\0\u2640\0\u2684\0\u26c8\0\u270c\0\u2750\0\u2794\0\u06e8\0\u27d8"+ + "\0\u281c\0\u2860\0\u28a4\0\u28e8\0\u292c\0\u2970\0\u06e8\0\u29b4"+ + "\0\u29f8\0\u2a3c\0\u06e8\0\u2a80\0\u2ac4\0\u02a8\0\u2b08\0\u2b4c"+ + "\0\u02a8\0\u2b90\0\u2bd4\0\u2c18\0\u2c5c\0\u2ca0\0\u2ce4\0\u2d28"+ + "\0\u2d6c\0\u2db0\0\u2df4\0\u2e38\0\u2e7c\0\u2ec0\0\u2f04\0\u06e8"+ + "\0\u06e8\0\u2f48\0\u2f8c\0\u2fd0\0\u3014\0\u3058\0\u309c\0\u30e0"+ + "\0\u3124\0\u3168\0\u31ac\0\u31f0\0\u3234\0\u3278\0\u32bc\0\u3300"+ + "\0\u3344\0\u3388\0\u06e8\0\u33cc\0\u3410\0\u3454\0\u3498\0\u34dc"+ + "\0\u3520\0\u3564\0\u35a8\0\u06e8\0\u35ec\0\u3630\0\u3674\0\u06e8"+ + "\0\u06e8\0\u06e8\0\u36b8\0\u06e8\0\u36fc\0\u06e8\0\u3740\0\u06e8"+ + "\0\u3784\0\u06e8\0\u37c8\0\u380c\0\u3850\0\u3894\0\u38d8\0\u391c"+ + "\0\u3960\0\u39a4\0\u39e8\0\u3a2c\0\u3a70\0\u3ab4\0\u3af8\0\u3b3c"+ + "\0\u3b80\0\u3bc4\0\u06e8\0\u3c08\0\u3c4c\0\u3c90\0\u06e8\0\u3cd4"+ + "\0\u3d18\0\u3d5c\0\u3da0\0\u3de4\0\u3e28\0\u3e6c\0\u3eb0\0\u06e8"+ + "\0\u06e8\0\u06e8\0\u3ef4\0\u3f38\0\u3f7c\0\u3fc0\0\u06e8\0\u06e8"+ + "\0\u06e8\0\u06e8\0\u06e8\0\u06e8\0\u4004\0\u06e8\0\u4048\0\u408c"+ + "\0\u40d0\0\u4114\0\u4158\0\u419c\0\u41e0\0\u06e8\0\u4224\0\u4268"+ + "\0\u42ac\0\u42f0\0\u4334\0\u06e8\0\u4378\0\u43bc\0\u06e8\0\u4400"+ + "\0\u4444\0\u4488\0\u44cc\0\u4510\0\u4554\0\u06e8\0\u06e8\0\u06e8"+ + "\0\u06e8\0\u06e8\0\u4598\0\u06e8\0\u45dc\0\u4620\0\u4664\0\u46a8"+ + "\0\u06e8\0\u06e8\0\u06e8\0\u46ec\0\u06e8\0\u4730\0\u4774\0\u47b8"+ + "\0\u47fc\0\u4840\0\u4884\0\u48c8\0\u06e8\0\u06e8\0\u06e8\0\u490c"+ + "\0\u4950\0\u4994\0\u06e8"; + + private static int [] zzUnpackRowMap() { + int [] result = new int[395]; + int offset = 0; + offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackRowMap(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length() - 1; + while (i < l) { + int high = packed.charAt(i++) << 16; + result[j++] = high | packed.charAt(i++); + } + return j; + } + + /** + * The transition table of the DFA + */ + private static final int [] ZZ_TRANS = zzUnpacktrans(); + + private static final String ZZ_TRANS_PACKED_0 = + "\1\13\5\14\1\15\1\16\1\17\1\20\1\21\1\22"+ + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32"+ + "\3\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+ + "\4\43\1\44\1\45\1\46\1\47\1\43\1\50\1\51"+ + "\1\52\1\53\1\54\1\55\2\43\1\56\1\43\1\57"+ + "\1\43\1\60\1\61\1\62\1\43\1\63\1\64\1\65"+ + "\1\66\1\67\1\70\3\43\1\71\1\72\1\73\1\74"+ + "\2\75\1\76\4\75\1\77\33\75\1\100\40\75\2\101"+ + "\1\102\101\101\2\103\1\104\7\103\1\105\30\103\1\106"+ + "\40\103\2\107\1\76\4\107\1\110\33\107\1\111\40\107"+ + "\2\112\1\113\1\114\1\115\101\112\1\116\1\117\1\120"+ + "\77\112\2\121\1\122\101\121\2\123\1\124\101\123\2\125"+ + "\1\126\101\125\105\0\5\14\130\0\1\127\103\0\1\130"+ + "\103\0\1\131\61\0\1\132\4\0\1\133\14\0\1\134"+ + "\46\0\1\135\12\0\1\136\5\0\1\137\13\0\1\140"+ + "\46\0\1\141\12\0\1\142\21\0\1\143\1\144\45\0"+ + "\1\145\17\0\1\146\3\0\1\147\12\0\1\150\71\0"+ + "\1\151\7\0\1\152\72\0\1\153\1\0\4\33\10\0"+ + "\1\154\6\0\1\155\1\0\1\156\2\0\1\154\10\0"+ + "\1\157\10\0\1\160\27\0\1\153\1\0\4\33\10\0"+ + "\1\154\6\0\1\155\4\0\1\154\61\0\1\161\1\162"+ + "\103\0\1\163\1\164\102\0\1\165\1\166\57\0\1\167"+ + "\26\0\4\170\4\0\32\170\27\0\4\43\7\0\4\43"+ + "\4\0\32\43\47\0\1\171\72\0\1\172\74\0\4\43"+ + "\7\0\4\43\4\0\4\43\1\173\6\43\1\174\1\43"+ + "\1\175\4\43\1\176\3\43\1\177\3\43\27\0\4\43"+ + "\7\0\4\43\4\0\21\43\1\200\10\43\27\0\4\43"+ + "\7\0\4\43\4\0\1\43\1\201\14\43\1\202\13\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\203\24\43"+ + "\27\0\4\43\7\0\4\43\4\0\13\43\1\204\1\43"+ + "\1\205\3\43\1\206\5\43\1\207\2\43\27\0\4\43"+ + "\7\0\4\43\4\0\15\43\1\210\1\211\13\43\27\0"+ + "\4\43\7\0\4\43\4\0\6\43\1\212\6\43\1\213"+ + "\14\43\27\0\4\43\7\0\4\43\4\0\11\43\1\214"+ + "\20\43\27\0\4\43\7\0\4\43\4\0\16\43\1\215"+ + "\13\43\27\0\4\43\7\0\4\43\4\0\17\43\1\216"+ + "\1\43\1\217\10\43\27\0\4\43\7\0\4\43\4\0"+ + "\1\43\1\220\22\43\1\221\5\43\27\0\4\43\7\0"+ + "\4\43\4\0\5\43\1\222\24\43\27\0\4\43\7\0"+ + "\4\43\4\0\23\43\1\223\1\224\1\43\1\225\3\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\226\2\43"+ + "\1\227\10\43\1\230\10\43\27\0\4\43\7\0\4\43"+ + "\4\0\15\43\1\231\4\43\1\232\7\43\27\0\4\43"+ + "\7\0\4\43\4\0\1\43\1\233\14\43\1\234\13\43"+ + "\27\0\4\43\7\0\4\43\4\0\10\43\1\235\21\43"+ + "\36\0\1\236\46\0\1\237\2\0\2\240\1\0\4\240"+ + "\1\77\33\240\1\241\42\240\1\0\4\240\1\242\33\240"+ + "\1\241\40\240\2\101\1\243\101\101\2\0\1\243\2\0"+ + "\1\243\35\0\1\244\40\0\2\245\1\0\7\245\1\105"+ + "\30\245\1\246\42\245\1\0\7\245\1\247\30\245\1\246"+ + "\40\245\2\250\1\0\4\250\1\110\33\250\1\251\42\250"+ + "\1\0\4\250\1\252\33\250\1\251\40\250\2\112\1\0"+ + "\103\112\1\113\103\112\1\116\101\112\2\121\1\253\101\121"+ + "\2\0\1\253\2\0\1\253\14\0\1\254\61\0\2\123"+ + "\1\255\101\123\2\0\1\255\2\0\1\255\14\0\1\256"+ + "\61\0\2\125\1\257\101\125\2\0\1\257\2\0\1\257"+ + "\14\0\1\260\113\0\1\261\103\0\1\262\103\0\1\263"+ + "\103\0\1\264\103\0\1\265\103\0\1\266\72\0\1\267"+ + "\70\0\1\270\13\0\1\271\104\0\4\272\73\0\1\273"+ + "\1\0\1\273\2\0\4\274\100\0\4\33\100\0\2\275"+ + "\102\0\3\276\101\0\4\277\7\0\2\277\7\0\6\277"+ + "\61\0\1\300\46\0\1\301\34\0\1\302\74\0\4\170"+ + "\7\0\4\170\4\0\32\170\27\0\4\43\7\0\4\43"+ + "\4\0\4\43\1\303\25\43\27\0\4\43\7\0\4\43"+ + "\4\0\11\43\1\304\1\43\1\305\16\43\27\0\4\43"+ + "\7\0\4\43\4\0\4\43\1\306\23\43\1\307\1\43"+ + "\27\0\4\43\7\0\4\43\4\0\14\43\1\310\13\43"+ + "\1\311\1\43\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\312\30\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\313\24\43\27\0\4\43\7\0\4\43\4\0\13\43"+ + "\1\314\7\43\1\315\6\43\27\0\4\43\7\0\4\43"+ + "\4\0\14\43\1\316\1\317\14\43\27\0\4\43\7\0"+ + "\4\43\4\0\6\43\1\320\23\43\27\0\4\43\7\0"+ + "\4\43\4\0\22\43\1\321\7\43\27\0\4\43\7\0"+ + "\4\43\4\0\24\43\1\322\5\43\27\0\4\43\7\0"+ + "\4\43\4\0\21\43\1\323\10\43\27\0\4\43\7\0"+ + "\4\43\4\0\17\43\1\324\3\43\1\325\6\43\27\0"+ + "\4\43\7\0\4\43\4\0\21\43\1\326\10\43\27\0"+ + "\4\43\7\0\4\43\4\0\13\43\1\327\16\43\27\0"+ + "\4\43\7\0\4\43\4\0\15\43\1\330\14\43\27\0"+ + "\4\43\7\0\4\43\4\0\1\43\1\331\7\43\1\332"+ + "\10\43\1\333\7\43\27\0\4\43\7\0\4\43\4\0"+ + "\1\43\1\334\30\43\27\0\4\43\7\0\4\43\4\0"+ + "\5\43\1\335\24\43\27\0\4\43\7\0\4\43\4\0"+ + "\3\43\1\336\26\43\27\0\4\43\7\0\4\43\4\0"+ + "\2\43\1\337\27\43\27\0\4\43\7\0\4\43\4\0"+ + "\22\43\1\340\1\341\6\43\27\0\4\43\7\0\4\43"+ + "\4\0\21\43\1\342\10\43\27\0\4\43\7\0\4\43"+ + "\4\0\22\43\1\343\7\43\27\0\4\43\7\0\4\43"+ + "\4\0\11\43\1\344\20\43\27\0\4\43\7\0\4\43"+ + "\4\0\22\43\1\345\7\43\27\0\4\43\7\0\4\43"+ + "\4\0\21\43\1\346\10\43\27\0\4\43\7\0\4\43"+ + "\4\0\30\43\1\347\1\43\27\0\4\43\7\0\4\43"+ + "\4\0\11\43\1\350\7\43\1\351\10\43\27\0\4\43"+ + "\7\0\4\43\4\0\11\43\1\352\20\43\27\0\4\43"+ + "\7\0\4\43\4\0\21\43\1\353\10\43\27\0\4\43"+ + "\7\0\4\43\4\0\13\43\1\354\16\43\27\0\4\43"+ + "\7\0\4\43\4\0\11\43\1\355\20\43\47\0\1\356"+ + "\62\0\1\357\103\0\1\260\103\0\1\356\104\0\4\272"+ + "\10\0\1\154\6\0\1\153\4\0\1\154\53\0\4\274"+ + "\100\0\4\274\17\0\1\273\60\0\2\275\21\0\1\156"+ + "\60\0\3\276\20\0\1\157\56\0\1\360\1\0\4\277"+ + "\7\0\2\277\1\0\1\154\4\0\1\160\6\277\10\0"+ + "\1\154\50\0\1\361\74\0\4\43\7\0\4\43\4\0"+ + "\21\43\1\362\10\43\27\0\4\43\7\0\4\43\4\0"+ + "\7\43\1\363\22\43\27\0\4\43\7\0\4\43\4\0"+ + "\16\43\1\364\13\43\27\0\4\43\7\0\4\43\4\0"+ + "\6\43\1\365\14\43\1\366\6\43\27\0\4\43\7\0"+ + "\4\43\4\0\15\43\1\367\14\43\27\0\4\43\7\0"+ + "\4\43\4\0\11\43\1\370\20\43\27\0\4\43\7\0"+ + "\4\43\4\0\1\43\1\371\30\43\27\0\4\43\7\0"+ + "\4\43\4\0\13\43\1\372\16\43\27\0\4\43\7\0"+ + "\4\43\4\0\3\43\1\373\26\43\27\0\4\43\7\0"+ + "\4\43\4\0\17\43\1\374\12\43\27\0\4\43\7\0"+ + "\4\43\4\0\22\43\1\375\1\376\6\43\27\0\4\43"+ + "\7\0\4\43\4\0\5\43\1\377\24\43\27\0\4\43"+ + "\7\0\4\43\4\0\5\43\1\u0100\24\43\27\0\4\43"+ + "\7\0\4\43\4\0\14\43\1\u0101\15\43\27\0\4\43"+ + "\7\0\4\43\4\0\4\43\1\u0102\11\43\1\u0103\13\43"+ + "\27\0\4\43\7\0\4\43\4\0\16\43\1\u0104\13\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\u0105\24\43"+ + "\27\0\4\43\7\0\4\43\4\0\11\43\1\u0106\20\43"+ + "\27\0\4\43\7\0\4\43\4\0\12\43\1\u0107\17\43"+ + "\27\0\4\43\7\0\4\43\4\0\13\43\1\u0108\16\43"+ + "\27\0\4\43\7\0\4\43\4\0\15\43\1\u0109\14\43"+ + "\27\0\4\43\7\0\4\43\4\0\24\43\1\u010a\5\43"+ + "\27\0\4\43\7\0\4\43\4\0\20\43\1\u010b\11\43"+ + "\27\0\4\43\7\0\4\43\4\0\13\43\1\u010c\16\43"+ + "\27\0\4\43\7\0\4\43\4\0\12\43\1\u010d\17\43"+ + "\27\0\4\43\7\0\4\43\4\0\24\43\1\u010e\5\43"+ + "\27\0\4\43\7\0\4\43\4\0\24\43\1\u010f\5\43"+ + "\27\0\4\43\7\0\4\43\4\0\24\43\1\u0110\5\43"+ + "\27\0\4\43\7\0\4\43\4\0\17\43\1\u0111\12\43"+ + "\27\0\4\43\7\0\4\43\4\0\23\43\1\u0112\6\43"+ + "\27\0\4\43\7\0\4\43\4\0\23\43\1\u0113\6\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\u0114\24\43"+ + "\27\0\4\43\7\0\4\43\4\0\16\43\1\u0115\13\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\u0116\24\43"+ + "\27\0\4\43\7\0\4\43\4\0\15\43\1\u0117\14\43"+ + "\27\0\4\43\7\0\4\43\4\0\1\43\1\u0118\30\43"+ + "\27\0\4\43\7\0\4\43\4\0\13\43\1\u0119\16\43"+ + "\12\0\1\356\120\0\4\u011a\7\0\2\u011a\7\0\6\u011a"+ + "\52\0\4\43\7\0\4\43\4\0\22\43\1\u011b\7\43"+ + "\27\0\4\43\7\0\4\43\4\0\15\43\1\u011c\14\43"+ + "\27\0\4\43\7\0\4\43\4\0\26\43\1\u011d\3\43"+ + "\27\0\4\43\7\0\4\43\4\0\21\43\1\u011e\10\43"+ + "\27\0\4\43\7\0\4\43\4\0\30\43\1\u011f\1\43"+ + "\27\0\4\43\7\0\4\43\4\0\3\43\1\u0120\26\43"+ + "\27\0\4\43\7\0\4\43\4\0\23\43\1\u0121\6\43"+ + "\27\0\4\43\7\0\4\43\4\0\12\43\1\u0122\17\43"+ + "\27\0\4\43\7\0\4\43\4\0\3\43\1\u0123\26\43"+ + "\27\0\4\43\7\0\4\43\4\0\10\43\1\u0124\21\43"+ + "\27\0\4\43\7\0\4\43\4\0\23\43\1\u0125\6\43"+ + "\27\0\4\43\7\0\4\43\4\0\23\43\1\u0126\6\43"+ + "\27\0\4\43\7\0\4\43\4\0\11\43\1\u0127\20\43"+ + "\27\0\4\43\7\0\4\43\4\0\21\43\1\u0128\10\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\u0129\24\43"+ + "\27\0\4\43\7\0\4\43\4\0\21\43\1\u012a\10\43"+ + "\27\0\4\43\7\0\4\43\4\0\21\43\1\u012b\10\43"+ + "\27\0\4\43\7\0\4\43\4\0\21\43\1\u012c\10\43"+ + "\27\0\4\43\7\0\4\43\4\0\15\43\1\u012d\14\43"+ + "\27\0\4\43\7\0\4\43\4\0\22\43\1\u012e\7\43"+ + "\27\0\4\43\7\0\4\43\4\0\11\43\1\u012f\20\43"+ + "\27\0\4\43\7\0\4\43\4\0\13\43\1\u0130\16\43"+ + "\27\0\4\43\7\0\4\43\4\0\22\43\1\u0131\7\43"+ + "\27\0\4\43\7\0\4\43\4\0\24\43\1\u0132\5\43"+ + "\27\0\4\43\7\0\4\43\4\0\22\43\1\u0133\7\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\u0134\24\43"+ + "\27\0\4\43\7\0\4\43\4\0\14\43\1\u0135\15\43"+ + "\27\0\4\43\7\0\4\43\4\0\21\43\1\u0136\10\43"+ + "\27\0\4\43\7\0\4\43\4\0\3\43\1\u0137\26\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\u0138\24\43"+ + "\27\0\4\43\7\0\4\43\4\0\3\43\1\u0139\26\43"+ + "\27\0\4\43\7\0\4\43\4\0\1\43\1\u013a\30\43"+ + "\27\0\4\43\7\0\4\43\4\0\15\43\1\u013b\14\43"+ + "\27\0\4\43\7\0\4\43\4\0\1\43\1\u013c\30\43"+ + "\27\0\4\43\7\0\4\43\4\0\7\43\1\u013d\22\43"+ + "\27\0\4\43\7\0\4\43\4\0\23\43\1\u013e\6\43"+ + "\27\0\4\43\7\0\4\43\4\0\5\43\1\u013f\24\43"+ + "\27\0\4\u011a\7\0\2\u011a\1\0\1\154\4\0\1\360"+ + "\6\u011a\10\0\1\154\41\0\4\43\7\0\4\43\4\0"+ + "\17\43\1\u0140\12\43\27\0\4\43\7\0\4\43\4\0"+ + "\31\43\1\u0141\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\u0142\30\43\27\0\4\43\7\0\4\43\4\0\17\43"+ + "\1\u0143\12\43\27\0\4\43\7\0\4\43\4\0\16\43"+ + "\1\u0144\13\43\27\0\4\43\7\0\4\43\4\0\11\43"+ + "\1\u0145\20\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0146\14\43\27\0\4\43\7\0\4\43\4\0\6\43"+ + "\1\u0147\23\43\27\0\4\43\7\0\4\43\4\0\23\43"+ + "\1\u0148\6\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0149\14\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u014a\24\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u014b\24\43\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\u014c\30\43\27\0\4\43\7\0\4\43\4\0\11\43"+ + "\1\u014d\20\43\27\0\4\43\7\0\4\43\4\0\17\43"+ + "\1\u014e\12\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u014f\24\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0150\24\43\27\0\4\43\7\0\4\43\4\0\4\43"+ + "\1\u0151\25\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0152\24\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0153\14\43\27\0\4\43\7\0\4\43\4\0\23\43"+ + "\1\u0154\6\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0155\14\43\27\0\4\43\7\0\4\43\4\0\10\43"+ + "\1\u0156\21\43\27\0\4\43\7\0\4\43\4\0\4\43"+ + "\1\u0157\25\43\27\0\4\43\7\0\4\43\4\0\3\43"+ + "\1\u0158\26\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0159\14\43\27\0\4\43\7\0\4\43\4\0\11\43"+ + "\1\u015a\20\43\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\u015b\30\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u015c\24\43\27\0\4\43\7\0\4\43\4\0\14\43"+ + "\1\u015d\15\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u015e\24\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u015f\14\43\27\0\4\43\7\0\4\43\4\0\14\43"+ + "\1\u0160\15\43\27\0\4\43\7\0\4\43\4\0\24\43"+ + "\1\u0161\5\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0162\24\43\27\0\4\43\7\0\4\43\4\0\3\43"+ + "\1\u0163\26\43\27\0\4\43\7\0\4\43\4\0\22\43"+ + "\1\u0164\7\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0165\14\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0166\24\43\27\0\4\43\7\0\4\43\4\0\4\43"+ + "\1\u0167\25\43\27\0\4\43\7\0\4\43\4\0\13\43"+ + "\1\u0168\16\43\27\0\4\43\7\0\4\43\4\0\10\43"+ + "\1\u0169\21\43\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\u016a\30\43\27\0\4\43\7\0\4\43\4\0\13\43"+ + "\1\u016b\16\43\27\0\4\43\7\0\4\43\4\0\3\43"+ + "\1\u016c\26\43\27\0\4\43\7\0\4\43\4\0\21\43"+ + "\1\u016d\10\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u016e\24\43\27\0\4\43\7\0\4\43\4\0\25\43"+ + "\1\u016f\4\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0170\24\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0171\24\43\27\0\4\43\7\0\4\43\4\0\21\43"+ + "\1\u0172\10\43\27\0\4\43\7\0\4\43\4\0\23\43"+ + "\1\u0173\6\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0174\24\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0175\14\43\27\0\4\43\7\0\4\43\4\0\16\43"+ + "\1\u0176\13\43\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\u0177\30\43\27\0\4\43\7\0\4\43\4\0\14\43"+ + "\1\u0178\15\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0179\24\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u017a\24\43\27\0\4\43\7\0\4\43\4\0\16\43"+ + "\1\u017b\13\43\27\0\4\43\7\0\4\43\4\0\11\43"+ + "\1\u017c\20\43\27\0\4\43\7\0\4\43\4\0\4\43"+ + "\1\u017d\25\43\27\0\4\43\7\0\4\43\4\0\3\43"+ + "\1\u017e\26\43\27\0\4\43\7\0\4\43\4\0\2\43"+ + "\1\u017f\27\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0180\24\43\27\0\4\43\7\0\4\43\4\0\16\43"+ + "\1\u0181\13\43\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\u0182\30\43\27\0\4\43\7\0\4\43\4\0\13\43"+ + "\1\u0183\16\43\27\0\4\43\7\0\4\43\4\0\22\43"+ + "\1\u0184\7\43\27\0\4\43\7\0\4\43\4\0\15\43"+ + "\1\u0185\14\43\27\0\4\43\7\0\4\43\4\0\13\43"+ + "\1\u0186\16\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u0187\24\43\27\0\4\43\7\0\4\43\4\0\17\43"+ + "\1\u0188\12\43\27\0\4\43\7\0\4\43\4\0\1\43"+ + "\1\u0189\30\43\27\0\4\43\7\0\4\43\4\0\3\43"+ + "\1\u018a\26\43\27\0\4\43\7\0\4\43\4\0\5\43"+ + "\1\u018b\24\43\4\0"; + + private static int [] zzUnpacktrans() { + int [] result = new int[18904]; + int offset = 0; + offset = zzUnpacktrans(ZZ_TRANS_PACKED_0, offset, result); + return result; + } + + private static int zzUnpacktrans(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + value--; + do result[j++] = value; while (--count > 0); + } + return j; + } + + + /* error codes */ + private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; + + /* error messages for the codes above */ + private static final String[] ZZ_ERROR_MSG = { + "Unknown internal scanner error", + "Error: could not match input", + "Error: pushback value was too large" + }; + + /** + * ZZ_ATTRIBUTE[aState] contains the attributes of state {@code aState} + */ + private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); + + private static final String ZZ_ATTRIBUTE_PACKED_0 = + "\12\0\1\11\2\1\1\11\2\1\3\11\2\1\1\11"+ + "\5\1\2\11\3\1\1\11\2\1\1\11\1\1\1\11"+ + "\22\1\1\11\1\1\2\11\1\1\2\11\4\1\2\11"+ + "\2\1\1\11\2\1\1\11\2\1\1\11\10\1\3\11"+ + "\1\1\2\11\2\1\2\11\2\1\2\11\1\1\1\11"+ + "\1\1\1\11\1\1\1\11\6\0\1\1\4\11\1\1"+ + "\1\11\1\1\2\11\43\1\2\11\2\0\1\1\4\0"+ + "\1\1\2\0\1\1\6\0\11\11\1\1\1\0\4\1"+ + "\1\11\1\1\1\11\53\1\1\11\2\0\1\11\232\1"; + + private static int [] zzUnpackAttribute() { + int [] result = new int[395]; + int offset = 0; + offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackAttribute(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + /** the input device */ + private java.io.Reader zzReader; + + /** the current state of the DFA */ + private int zzState; + + /** the current lexical state */ + private int zzLexicalState = YYINITIAL; + + /** this buffer contains the current text to be matched and is + the source of the yytext() string */ + private CharSequence zzBuffer = ""; + + /** the textposition at the last accepting state */ + private int zzMarkedPos; + + /** the current text position in the buffer */ + private int zzCurrentPos; + + /** startRead marks the beginning of the yytext() string in the buffer */ + private int zzStartRead; + + /** endRead marks the last character in the buffer, that has been read + from input */ + private int zzEndRead; + + /** zzAtEOF == true <=> the scanner is at the EOF */ + private boolean zzAtEOF; + + /** Number of newlines encountered up to the start of the matched text. */ + @SuppressWarnings("unused") + private int yyline; + + /** Number of characters from the last newline up to the start of the matched text. */ + @SuppressWarnings("unused") + protected int yycolumn; + + /** Number of characters up to the start of the matched text. */ + @SuppressWarnings("unused") + private long yychar; + + /** Whether the scanner is currently at the beginning of a line. */ + @SuppressWarnings("unused") + private boolean zzAtBOL = true; + + /** Whether the user-EOF-code has already been executed. */ + @SuppressWarnings("unused") + private boolean zzEOFDone; + + + /** + * Creates a new scanner + * + * @param in the java.io.Reader to read input from. + */ + ZigFlexLexer(java.io.Reader in) { + this.zzReader = in; + } + + + /** Returns the maximum size of the scanner buffer, which limits the size of tokens. */ + private int zzMaxBufferLen() { + return Integer.MAX_VALUE; + } + + /** Whether the scanner buffer can grow to accommodate a larger token. */ + private boolean zzCanGrow() { + return true; + } + + /** + * Translates raw input code points to DFA table row + */ + private static int zzCMap(int input) { + int offset = input & 255; + return offset == input ? ZZ_CMAP_BLOCKS[offset] : ZZ_CMAP_BLOCKS[ZZ_CMAP_TOP[input >> 8] | offset]; + } + + public final int getTokenStart() { + return zzStartRead; + } + + public final int getTokenEnd() { + return getTokenStart() + yylength(); + } + + public void reset(CharSequence buffer, int start, int end, int initialState) { + zzBuffer = buffer; + zzCurrentPos = zzMarkedPos = zzStartRead = start; + zzAtEOF = false; + zzAtBOL = true; + zzEndRead = end; + yybegin(initialState); + } + + /** + * Refills the input buffer. + * + * @return {@code false}, iff there was new input. + * + * @exception java.io.IOException if any I/O-Error occurs + */ + private boolean zzRefill() throws java.io.IOException { + return true; + } + + + /** + * Returns the current lexical state. + */ + public final int yystate() { + return zzLexicalState; + } + + + /** + * Enters a new lexical state + * + * @param newState the new lexical state + */ + public final void yybegin(int newState) { + zzLexicalState = newState; + } + + + /** + * Returns the text matched by the current regular expression. + */ + public final CharSequence yytext() { + return zzBuffer.subSequence(zzStartRead, zzMarkedPos); + } + + + /** + * Returns the character at position {@code pos} from the + * matched text. + * + * It is equivalent to yytext().charAt(pos), but faster + * + * @param pos the position of the character to fetch. + * A value from 0 to yylength()-1. + * + * @return the character at position pos + */ + public final char yycharat(int pos) { + return zzBuffer.charAt(zzStartRead+pos); + } + + + /** + * Returns the length of the matched text region. + */ + public final int yylength() { + return zzMarkedPos-zzStartRead; + } + + + /** + * Reports an error that occurred while scanning. + * + * In a wellformed scanner (no or only correct usage of + * yypushback(int) and a match-all fallback rule) this method + * will only be called with things that "Can't Possibly Happen". + * If this method is called, something is seriously wrong + * (e.g. a JFlex bug producing a faulty scanner etc.). + * + * Usual syntax/scanner level error handling should be done + * in error fallback rules. + * + * @param errorCode the code of the errormessage to display + */ + private void zzScanError(int errorCode) { + String message; + try { + message = ZZ_ERROR_MSG[errorCode]; + } + catch (ArrayIndexOutOfBoundsException e) { + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; + } + + throw new Error(message); + } + + + /** + * Pushes the specified amount of characters back into the input stream. + * + * They will be read again by then next call of the scanning method + * + * @param number the number of characters to be read again. + * This number must not be greater than yylength()! + */ + public void yypushback(int number) { + if ( number > yylength() ) + zzScanError(ZZ_PUSHBACK_2BIG); + + zzMarkedPos -= number; + } + + + /** + * Resumes scanning until the next regular expression is matched, + * the end of input is encountered or an I/O-Error occurs. + * + * @return the next token + * @exception java.io.IOException if any I/O-Error occurs + */ + public IElementType advance() throws java.io.IOException + { + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + CharSequence zzBufferL = zzBuffer; + + int [] zzTransL = ZZ_TRANS; + int [] zzRowMapL = ZZ_ROWMAP; + int [] zzAttrL = ZZ_ATTRIBUTE; + + while (true) { + zzMarkedPosL = zzMarkedPos; + + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + + zzState = ZZ_LEXSTATE[zzLexicalState]; + + // set up zzAction for empty match case: + int zzAttributes = zzAttrL[zzState]; + if ( (zzAttributes & 1) == 1 ) { + zzAction = zzState; + } + + + zzForAction: { + while (true) { + + if (zzCurrentPosL < zzEndReadL) { + zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL); + zzCurrentPosL += Character.charCount(zzInput); + } + else if (zzAtEOF) { + zzInput = YYEOF; + break zzForAction; + } + else { + // store back cached positions + zzCurrentPos = zzCurrentPosL; + zzMarkedPos = zzMarkedPosL; + boolean eof = zzRefill(); + // get translated positions and possibly new buffer + zzCurrentPosL = zzCurrentPos; + zzMarkedPosL = zzMarkedPos; + zzBufferL = zzBuffer; + zzEndReadL = zzEndRead; + if (eof) { + zzInput = YYEOF; + break zzForAction; + } + else { + zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL); + zzCurrentPosL += Character.charCount(zzInput); + } + } + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMap(zzInput) ]; + if (zzNext == -1) break zzForAction; + zzState = zzNext; + + zzAttributes = zzAttrL[zzState]; + if ( (zzAttributes & 1) == 1 ) { + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; + if ( (zzAttributes & 8) == 8 ) break zzForAction; + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; + + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case STR_LIT: { + yybegin(YYINITIAL); return BAD_DQUOT; + } // fall though + case 396: break; + case STR_MULT_LINE: { + yybegin(YYINITIAL); return STRING_LITERAL_MULTI; + } // fall though + case 397: break; + case CHAR_LIT: { + yybegin(YYINITIAL); return BAD_SQUOT; + } // fall though + case 398: break; + case ID_QUOT: { + yybegin(YYINITIAL); return BAD_DQUOT; + } // fall though + case 399: break; + case UNT_SQUOT: { + yybegin(YYINITIAL); return BAD_SQUOT; + } // fall though + case 400: break; + case UNT_DQUOT: { + yybegin(YYINITIAL); return BAD_DQUOT; + } // fall though + case 401: break; + case CDOC_CMT: { + yybegin(YYINITIAL); return CONTAINER_DOC_COMMENT; + } // fall though + case 402: break; + case DOC_CMT: { + yybegin(YYINITIAL); return DOC_COMMENT; + } // fall though + case 403: break; + case LINE_CMT: { + yybegin(YYINITIAL); return LINE_COMMENT; + } // fall though + case 404: break; + default: + return null; + } + } + else { + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { + case 1: + { return BAD_CHARACTER; + } + // fall through + case 138: break; + case 2: + { return WHITE_SPACE; + } + // fall through + case 139: break; + case 3: + { return EXCLAMATIONMARK; + } + // fall through + case 140: break; + case 4: + { yybegin(STR_LIT); + } + // fall through + case 141: break; + case 5: + { return PERCENT; + } + // fall through + case 142: break; + case 6: + { return AMPERSAND; + } + // fall through + case 143: break; + case 7: + { yybegin(CHAR_LIT); + } + // fall through + case 144: break; + case 8: + { return LPAREN; + } + // fall through + case 145: break; + case 9: + { return RPAREN; + } + // fall through + case 146: break; + case 10: + { return ASTERISK; + } + // fall through + case 147: break; + case 11: + { return PLUS; + } + // fall through + case 148: break; + case 12: + { return COMMA; + } + // fall through + case 149: break; + case 13: + { return MINUS; + } + // fall through + case 150: break; + case 14: + { return DOT; + } + // fall through + case 151: break; + case 15: + { return SLASH; + } + // fall through + case 152: break; + case 16: + { return INTEGER; + } + // fall through + case 153: break; + case 17: + { return COLON; + } + // fall through + case 154: break; + case 18: + { return SEMICOLON; + } + // fall through + case 155: break; + case 19: + { return LARROW; + } + // fall through + case 156: break; + case 20: + { return EQUAL; + } + // fall through + case 157: break; + case 21: + { return RARROW; + } + // fall through + case 158: break; + case 22: + { return QUESTIONMARK; + } + // fall through + case 159: break; + case 23: + { return IDENTIFIER; + } + // fall through + case 160: break; + case 24: + { return LBRACKET; + } + // fall through + case 161: break; + case 25: + { return RBRACKET; + } + // fall through + case 162: break; + case 26: + { return CARET; + } + // fall through + case 163: break; + case 27: + { return LBRACE; + } + // fall through + case 164: break; + case 28: + { return PIPE; + } + // fall through + case 165: break; + case 29: + { return RBRACE; + } + // fall through + case 166: break; + case 30: + { return TILDE; + } + // fall through + case 167: break; + case 31: + { yypushback(1); yybegin(UNT_DQUOT); + } + // fall through + case 168: break; + case 32: + { yybegin(YYINITIAL); return STRING_LITERAL_SINGLE; + } + // fall through + case 169: break; + case 33: + { + } + // fall through + case 170: break; + case 34: + { yybegin(YYINITIAL); return STRING_LITERAL_MULTI; + } + // fall through + case 171: break; + case 35: + { yypushback(1); yybegin(UNT_SQUOT); + } + // fall through + case 172: break; + case 36: + { yybegin(YYINITIAL); return CHAR_LITERAL; + } + // fall through + case 173: break; + case 37: + { yybegin(YYINITIAL); return IDENTIFIER; + } + // fall through + case 174: break; + case 38: + { yybegin(YYINITIAL); return BAD_SQUOT; + } + // fall through + case 175: break; + case 39: + { yybegin(YYINITIAL); return BAD_DQUOT; + } + // fall through + case 176: break; + case 40: + { yybegin(YYINITIAL); return CONTAINER_DOC_COMMENT; + } + // fall through + case 177: break; + case 41: + { yybegin(YYINITIAL); return DOC_COMMENT; + } + // fall through + case 178: break; + case 42: + { yybegin(YYINITIAL); return LINE_COMMENT; + } + // fall through + case 179: break; + case 43: + { return EXCLAMATIONMARKEQUAL; + } + // fall through + case 180: break; + case 44: + { return PERCENTEQUAL; + } + // fall through + case 181: break; + case 45: + { return AMPERSANDEQUAL; + } + // fall through + case 182: break; + case 46: + { return ASTERISKPERCENT; + } + // fall through + case 183: break; + case 47: + { return ASTERISK2; + } + // fall through + case 184: break; + case 48: + { return ASTERISKEQUAL; + } + // fall through + case 185: break; + case 49: + { return ASTERISKPIPE; + } + // fall through + case 186: break; + case 50: + { return PLUSPERCENT; + } + // fall through + case 187: break; + case 51: + { return PLUS2; + } + // fall through + case 188: break; + case 52: + { return PLUSEQUAL; + } + // fall through + case 189: break; + case 53: + { return PLUSPIPE; + } + // fall through + case 190: break; + case 54: + { return MINUSPERCENT; + } + // fall through + case 191: break; + case 55: + { return MINUSEQUAL; + } + // fall through + case 192: break; + case 56: + { return MINUSRARROW; + } + // fall through + case 193: break; + case 57: + { return MINUSPIPE; + } + // fall through + case 194: break; + case 58: + { return DOTASTERISK; + } + // fall through + case 195: break; + case 59: + { return DOT2; + } + // fall through + case 196: break; + case 60: + { return DOTQUESTIONMARK; + } + // fall through + case 197: break; + case 61: + { yybegin(LINE_CMT); + } + // fall through + case 198: break; + case 62: + { return SLASHEQUAL; + } + // fall through + case 199: break; + case 63: + { return LARROW2; + } + // fall through + case 200: break; + case 64: + { return LARROWEQUAL; + } + // fall through + case 201: break; + case 65: + { return EQUALEQUAL; + } + // fall through + case 202: break; + case 66: + { return EQUALRARROW; + } + // fall through + case 203: break; + case 67: + { return RARROWEQUAL; + } + // fall through + case 204: break; + case 68: + { return RARROW2; + } + // fall through + case 205: break; + case 69: + { yybegin(ID_QUOT); + } + // fall through + case 206: break; + case 70: + { return BUILTINIDENTIFIER; + } + // fall through + case 207: break; + case 71: + { yybegin(STR_MULT_LINE); + } + // fall through + case 208: break; + case 72: + { return CARETEQUAL; + } + // fall through + case 209: break; + case 73: + { return KEYWORD_FN; + } + // fall through + case 210: break; + case 74: + { return KEYWORD_IF; + } + // fall through + case 211: break; + case 75: + { return KEYWORD_OR; + } + // fall through + case 212: break; + case 76: + { return PIPEEQUAL; + } + // fall through + case 213: break; + case 77: + { return PIPE2; + } + // fall through + case 214: break; + case 78: + { return ASTERISKPERCENTEQUAL; + } + // fall through + case 215: break; + case 79: + { return ASTERISKPIPEEQUAL; + } + // fall through + case 216: break; + case 80: + { return PLUSPERCENTEQUAL; + } + // fall through + case 217: break; + case 81: + { return PLUSPIPEEQUAL; + } + // fall through + case 218: break; + case 82: + { return MINUSPERCENTEQUAL; + } + // fall through + case 219: break; + case 83: + { return MINUSPIPEEQUAL; + } + // fall through + case 220: break; + case 84: + { return DOT3; + } + // fall through + case 221: break; + case 85: + { yybegin(CDOC_CMT); + } + // fall through + case 222: break; + case 86: + { yybegin(DOC_CMT); + } + // fall through + case 223: break; + case 87: + { return FLOAT; + } + // fall through + case 224: break; + case 88: + { return LARROW2EQUAL; + } + // fall through + case 225: break; + case 89: + { return LARROW2PIPE; + } + // fall through + case 226: break; + case 90: + { return RARROW2EQUAL; + } + // fall through + case 227: break; + case 91: + { return KEYWORD_AND; + } + // fall through + case 228: break; + case 92: + { return KEYWORD_ASM; + } + // fall through + case 229: break; + case 93: + { return KEYWORD_FOR; + } + // fall through + case 230: break; + case 94: + { return KEYWORD_PUB; + } + // fall through + case 231: break; + case 95: + { return KEYWORD_TRY; + } + // fall through + case 232: break; + case 96: + { return KEYWORD_VAR; + } + // fall through + case 233: break; + case 97: + { return LARROW2PIPEEQUAL; + } + // fall through + case 234: break; + case 98: + { return KEYWORD_ELSE; + } + // fall through + case 235: break; + case 99: + { return KEYWORD_ENUM; + } + // fall through + case 236: break; + case 100: + { return KEYWORD_TEST; + } + // fall through + case 237: break; + case 101: + { return KEYWORD_ALIGN; + } + // fall through + case 238: break; + case 102: + { return KEYWORD_ASYNC; + } + // fall through + case 239: break; + case 103: + { return KEYWORD_AWAIT; + } + // fall through + case 240: break; + case 104: + { return KEYWORD_BREAK; + } + // fall through + case 241: break; + case 105: + { return KEYWORD_CATCH; + } + // fall through + case 242: break; + case 106: + { return KEYWORD_CONST; + } + // fall through + case 243: break; + case 107: + { return KEYWORD_DEFER; + } + // fall through + case 244: break; + case 108: + { return KEYWORD_ERROR; + } + // fall through + case 245: break; + case 109: + { return KEYWORD_UNION; + } + // fall through + case 246: break; + case 110: + { return KEYWORD_WHILE; + } + // fall through + case 247: break; + case 111: + { return KEYWORD_EXPORT; + } + // fall through + case 248: break; + case 112: + { return KEYWORD_EXTERN; + } + // fall through + case 249: break; + case 113: + { return KEYWORD_INLINE; + } + // fall through + case 250: break; + case 114: + { return KEYWORD_OPAQUE; + } + // fall through + case 251: break; + case 115: + { return KEYWORD_ORELSE; + } + // fall through + case 252: break; + case 116: + { return KEYWORD_PACKED; + } + // fall through + case 253: break; + case 117: + { return KEYWORD_RESUME; + } + // fall through + case 254: break; + case 118: + { return KEYWORD_RETURN; + } + // fall through + case 255: break; + case 119: + { return KEYWORD_STRUCT; + } + // fall through + case 256: break; + case 120: + { return KEYWORD_SWITCH; + } + // fall through + case 257: break; + case 121: + { return KEYWORD_ANYTYPE; + } + // fall through + case 258: break; + case 122: + { return KEYWORD_NOALIAS; + } + // fall through + case 259: break; + case 123: + { return KEYWORD_SUSPEND; + } + // fall through + case 260: break; + case 124: + { return KEYWORD_ANYFRAME; + } + // fall through + case 261: break; + case 125: + { return KEYWORD_CALLCONV; + } + // fall through + case 262: break; + case 126: + { return KEYWORD_COMPTIME; + } + // fall through + case 263: break; + case 127: + { return KEYWORD_CONTINUE; + } + // fall through + case 264: break; + case 128: + { return KEYWORD_ERRDEFER; + } + // fall through + case 265: break; + case 129: + { return KEYWORD_NOINLINE; + } + // fall through + case 266: break; + case 130: + { return KEYWORD_VOLATILE; + } + // fall through + case 267: break; + case 131: + { return KEYWORD_ADDRSPACE; + } + // fall through + case 268: break; + case 132: + { return KEYWORD_ALLOWZERO; + } + // fall through + case 269: break; + case 133: + { return KEYWORD_NOSUSPEND; + } + // fall through + case 270: break; + case 134: + { return KEYWORD_LINKSECTION; + } + // fall through + case 271: break; + case 135: + { return KEYWORD_THREADLOCAL; + } + // fall through + case 272: break; + case 136: + { return KEYWORD_UNREACHABLE; + } + // fall through + case 273: break; + case 137: + { return KEYWORD_USINGNAMESPACE; + } + // fall through + case 274: break; + default: + zzScanError(ZZ_NO_MATCH); + } + } + } + } + + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/parser/ZigParser.java b/src/test/java/com/falsepattern/zigbrains/zig/parser/ZigParser.java new file mode 100644 index 000000000..cbda170b7 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/parser/ZigParser.java @@ -0,0 +1,4598 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.parser; + +import com.intellij.lang.ASTNode; +import com.intellij.lang.LightPsiParser; +import com.intellij.lang.PsiBuilder; +import com.intellij.lang.PsiBuilder.Marker; +import com.intellij.lang.PsiParser; +import com.intellij.psi.tree.IElementType; +import com.intellij.psi.tree.TokenSet; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; +import static com.intellij.lang.parser.GeneratedParserUtilBase.*; + +@SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"}) +public class ZigParser implements PsiParser, LightPsiParser { + + public ASTNode parse(IElementType root_, PsiBuilder builder_) { + parseLight(root_, builder_); + return builder_.getTreeBuilt(); + } + + public void parseLight(IElementType root_, PsiBuilder builder_) { + boolean result_; + builder_ = adapt_builder_(root_, builder_, this, EXTENDS_SETS_); + Marker marker_ = enter_section_(builder_, 0, _COLLAPSE_, null); + result_ = parse_root_(root_, builder_); + exit_section_(builder_, 0, marker_, root_, result_, true, TRUE_CONDITION); + } + + protected boolean parse_root_(IElementType root_, PsiBuilder builder_) { + return parse_root_(root_, builder_, 0); + } + + static boolean parse_root_(IElementType root_, PsiBuilder builder_, int level_) { + return Root(builder_, level_ + 1); + } + + public static final TokenSet[] EXTENDS_SETS_ = new TokenSet[] { + create_token_set_(ADDITION_EXPR, ASM_EXPR, ASSIGN_EXPR, BITWISE_EXPR, + BIT_SHIFT_EXPR, BLOCK_EXPR, BOOL_AND_EXPR, BOOL_OR_EXPR, + COMPARE_EXPR, CURLY_SUFFIX_EXPR, ERROR_UNION_EXPR, EXPR, + FOR_EXPR, FOR_TYPE_EXPR, GROUPED_EXPR, IF_EXPR, + IF_TYPE_EXPR, LABELED_TYPE_EXPR, LOOP_EXPR, LOOP_TYPE_EXPR, + MULTIPLY_EXPR, PREFIX_EXPR, PRIMARY_EXPR, PRIMARY_TYPE_EXPR, + SINGLE_ASSIGN_EXPR, SUFFIX_EXPR, SWITCH_EXPR, TYPE_EXPR, + WHILE_CONTINUE_EXPR, WHILE_EXPR, WHILE_TYPE_EXPR), + }; + + /* ********************************************************** */ + // MultiplyExpr (AdditionOp MultiplyExpr)* + public static boolean AdditionExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AdditionExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, ADDITION_EXPR, ""); + result_ = MultiplyExpr(builder_, level_ + 1); + result_ = result_ && AdditionExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (AdditionOp MultiplyExpr)* + private static boolean AdditionExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AdditionExpr_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!AdditionExpr_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "AdditionExpr_1", pos_)) break; + } + return true; + } + + // AdditionOp MultiplyExpr + private static boolean AdditionExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AdditionExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AdditionOp(builder_, level_ + 1); + result_ = result_ && MultiplyExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // PLUS + // | MINUS + // | PLUS2 + // | PLUSPERCENT + // | MINUSPERCENT + // | PLUSPIPE + // | MINUSPIPE + public static boolean AdditionOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AdditionOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, ADDITION_OP, ""); + result_ = consumeToken(builder_, PLUS); + if (!result_) result_ = consumeToken(builder_, MINUS); + if (!result_) result_ = consumeToken(builder_, PLUS2); + if (!result_) result_ = consumeToken(builder_, PLUSPERCENT); + if (!result_) result_ = consumeToken(builder_, MINUSPERCENT); + if (!result_) result_ = consumeToken(builder_, PLUSPIPE); + if (!result_) result_ = consumeToken(builder_, MINUSPIPE); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_ADDRSPACE LPAREN Expr RPAREN + public static boolean AddrSpace(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AddrSpace")) return false; + if (!nextTokenIs(builder_, KEYWORD_ADDRSPACE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, KEYWORD_ADDRSPACE, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, ADDR_SPACE, result_); + return result_; + } + + /* ********************************************************** */ + // LBRACKET Expr (COLON Expr)? RBRACKET + public static boolean ArrayTypeStart(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ArrayTypeStart")) return false; + if (!nextTokenIs(builder_, LBRACKET)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, LBRACKET); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && ArrayTypeStart_2(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RBRACKET); + exit_section_(builder_, marker_, ARRAY_TYPE_START, result_); + return result_; + } + + // (COLON Expr)? + private static boolean ArrayTypeStart_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ArrayTypeStart_2")) return false; + ArrayTypeStart_2_0(builder_, level_ + 1); + return true; + } + + // COLON Expr + private static boolean ArrayTypeStart_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ArrayTypeStart_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // COLON StringList + public static boolean AsmClobbers(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmClobbers")) return false; + if (!nextTokenIs(builder_, COLON)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && StringList(builder_, level_ + 1); + exit_section_(builder_, marker_, ASM_CLOBBERS, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_ASM KEYWORD_VOLATILE? LPAREN Expr AsmOutput? RPAREN + public static boolean AsmExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_ASM)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ASM); + result_ = result_ && AsmExpr_1(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && AsmExpr_4(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, ASM_EXPR, result_); + return result_; + } + + // KEYWORD_VOLATILE? + private static boolean AsmExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmExpr_1")) return false; + consumeToken(builder_, KEYWORD_VOLATILE); + return true; + } + + // AsmOutput? + private static boolean AsmExpr_4(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmExpr_4")) return false; + AsmOutput(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // COLON AsmInputList AsmClobbers? + public static boolean AsmInput(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmInput")) return false; + if (!nextTokenIs(builder_, COLON)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && AsmInputList(builder_, level_ + 1); + result_ = result_ && AsmInput_2(builder_, level_ + 1); + exit_section_(builder_, marker_, ASM_INPUT, result_); + return result_; + } + + // AsmClobbers? + private static boolean AsmInput_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmInput_2")) return false; + AsmClobbers(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // LBRACKET IDENTIFIER RBRACKET StringLiteral LPAREN Expr RPAREN + public static boolean AsmInputItem(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmInputItem")) return false; + if (!nextTokenIs(builder_, LBRACKET)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, LBRACKET, IDENTIFIER, RBRACKET); + result_ = result_ && StringLiteral(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, ASM_INPUT_ITEM, result_); + return result_; + } + + /* ********************************************************** */ + // (AsmInputItem COMMA)* AsmInputItem? + public static boolean AsmInputList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmInputList")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, ASM_INPUT_LIST, ""); + result_ = AsmInputList_0(builder_, level_ + 1); + result_ = result_ && AsmInputList_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (AsmInputItem COMMA)* + private static boolean AsmInputList_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmInputList_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!AsmInputList_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "AsmInputList_0", pos_)) break; + } + return true; + } + + // AsmInputItem COMMA + private static boolean AsmInputList_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmInputList_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AsmInputItem(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // AsmInputItem? + private static boolean AsmInputList_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmInputList_1")) return false; + AsmInputItem(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // COLON AsmOutputList AsmInput? + public static boolean AsmOutput(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutput")) return false; + if (!nextTokenIs(builder_, COLON)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && AsmOutputList(builder_, level_ + 1); + result_ = result_ && AsmOutput_2(builder_, level_ + 1); + exit_section_(builder_, marker_, ASM_OUTPUT, result_); + return result_; + } + + // AsmInput? + private static boolean AsmOutput_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutput_2")) return false; + AsmInput(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // LBRACKET IDENTIFIER RBRACKET StringLiteral LPAREN (MINUSRARROW TypeExpr | IDENTIFIER) RPAREN + public static boolean AsmOutputItem(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutputItem")) return false; + if (!nextTokenIs(builder_, LBRACKET)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, LBRACKET, IDENTIFIER, RBRACKET); + result_ = result_ && StringLiteral(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, LPAREN); + result_ = result_ && AsmOutputItem_5(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, ASM_OUTPUT_ITEM, result_); + return result_; + } + + // MINUSRARROW TypeExpr | IDENTIFIER + private static boolean AsmOutputItem_5(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutputItem_5")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AsmOutputItem_5_0(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, IDENTIFIER); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // MINUSRARROW TypeExpr + private static boolean AsmOutputItem_5_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutputItem_5_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, MINUSRARROW); + result_ = result_ && TypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // (AsmOutputItem COMMA)* AsmOutputItem? + public static boolean AsmOutputList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutputList")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, ASM_OUTPUT_LIST, ""); + result_ = AsmOutputList_0(builder_, level_ + 1); + result_ = result_ && AsmOutputList_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (AsmOutputItem COMMA)* + private static boolean AsmOutputList_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutputList_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!AsmOutputList_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "AsmOutputList_0", pos_)) break; + } + return true; + } + + // AsmOutputItem COMMA + private static boolean AsmOutputList_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutputList_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AsmOutputItem(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // AsmOutputItem? + private static boolean AsmOutputList_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AsmOutputList_1")) return false; + AsmOutputItem(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // Expr (AssignOp Expr | (COMMA Expr)+ EQUAL Expr)? + public static boolean AssignExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, ASSIGN_EXPR, ""); + result_ = Expr(builder_, level_ + 1); + result_ = result_ && AssignExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (AssignOp Expr | (COMMA Expr)+ EQUAL Expr)? + private static boolean AssignExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignExpr_1")) return false; + AssignExpr_1_0(builder_, level_ + 1); + return true; + } + + // AssignOp Expr | (COMMA Expr)+ EQUAL Expr + private static boolean AssignExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignExpr_1_0_0(builder_, level_ + 1); + if (!result_) result_ = AssignExpr_1_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // AssignOp Expr + private static boolean AssignExpr_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignExpr_1_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignOp(builder_, level_ + 1); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (COMMA Expr)+ EQUAL Expr + private static boolean AssignExpr_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignExpr_1_0_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignExpr_1_0_1_0(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, EQUAL); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (COMMA Expr)+ + private static boolean AssignExpr_1_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignExpr_1_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignExpr_1_0_1_0_0(builder_, level_ + 1); + while (result_) { + int pos_ = current_position_(builder_); + if (!AssignExpr_1_0_1_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "AssignExpr_1_0_1_0", pos_)) break; + } + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // COMMA Expr + private static boolean AssignExpr_1_0_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignExpr_1_0_1_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COMMA); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // ASTERISKEQUAL + // | ASTERISKPIPEEQUAL + // | SLASHEQUAL + // | PERCENTEQUAL + // | PLUSEQUAL + // | PLUSPIPEEQUAL + // | MINUSEQUAL + // | MINUSPIPEEQUAL + // | LARROW2EQUAL + // | LARROW2PIPEEQUAL + // | RARROW2EQUAL + // | AMPERSANDEQUAL + // | CARETEQUAL + // | PIPEEQUAL + // | ASTERISKPERCENTEQUAL + // | PLUSPERCENTEQUAL + // | MINUSPERCENTEQUAL + // | EQUAL + public static boolean AssignOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AssignOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, ASSIGN_OP, ""); + result_ = consumeToken(builder_, ASTERISKEQUAL); + if (!result_) result_ = consumeToken(builder_, ASTERISKPIPEEQUAL); + if (!result_) result_ = consumeToken(builder_, SLASHEQUAL); + if (!result_) result_ = consumeToken(builder_, PERCENTEQUAL); + if (!result_) result_ = consumeToken(builder_, PLUSEQUAL); + if (!result_) result_ = consumeToken(builder_, PLUSPIPEEQUAL); + if (!result_) result_ = consumeToken(builder_, MINUSEQUAL); + if (!result_) result_ = consumeToken(builder_, MINUSPIPEEQUAL); + if (!result_) result_ = consumeToken(builder_, LARROW2EQUAL); + if (!result_) result_ = consumeToken(builder_, LARROW2PIPEEQUAL); + if (!result_) result_ = consumeToken(builder_, RARROW2EQUAL); + if (!result_) result_ = consumeToken(builder_, AMPERSANDEQUAL); + if (!result_) result_ = consumeToken(builder_, CARETEQUAL); + if (!result_) result_ = consumeToken(builder_, PIPEEQUAL); + if (!result_) result_ = consumeToken(builder_, ASTERISKPERCENTEQUAL); + if (!result_) result_ = consumeToken(builder_, PLUSPERCENTEQUAL); + if (!result_) result_ = consumeToken(builder_, MINUSPERCENTEQUAL); + if (!result_) result_ = consumeToken(builder_, EQUAL); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // AdditionExpr (BitShiftOp AdditionExpr)* + public static boolean BitShiftExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitShiftExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, BIT_SHIFT_EXPR, ""); + result_ = AdditionExpr(builder_, level_ + 1); + result_ = result_ && BitShiftExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (BitShiftOp AdditionExpr)* + private static boolean BitShiftExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitShiftExpr_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!BitShiftExpr_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "BitShiftExpr_1", pos_)) break; + } + return true; + } + + // BitShiftOp AdditionExpr + private static boolean BitShiftExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitShiftExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = BitShiftOp(builder_, level_ + 1); + result_ = result_ && AdditionExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // LARROW2 + // | RARROW2 + // | LARROW2PIPE + public static boolean BitShiftOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitShiftOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, BIT_SHIFT_OP, ""); + result_ = consumeToken(builder_, LARROW2); + if (!result_) result_ = consumeToken(builder_, RARROW2); + if (!result_) result_ = consumeToken(builder_, LARROW2PIPE); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // BitShiftExpr (BitwiseOp BitShiftExpr)* + public static boolean BitwiseExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitwiseExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, BITWISE_EXPR, ""); + result_ = BitShiftExpr(builder_, level_ + 1); + result_ = result_ && BitwiseExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (BitwiseOp BitShiftExpr)* + private static boolean BitwiseExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitwiseExpr_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!BitwiseExpr_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "BitwiseExpr_1", pos_)) break; + } + return true; + } + + // BitwiseOp BitShiftExpr + private static boolean BitwiseExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitwiseExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = BitwiseOp(builder_, level_ + 1); + result_ = result_ && BitShiftExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // AMPERSAND + // | CARET + // | PIPE + // | KEYWORD_ORELSE + // | KEYWORD_CATCH Payload? + public static boolean BitwiseOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitwiseOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, BITWISE_OP, ""); + result_ = consumeToken(builder_, AMPERSAND); + if (!result_) result_ = consumeToken(builder_, CARET); + if (!result_) result_ = consumeToken(builder_, PIPE); + if (!result_) result_ = consumeToken(builder_, KEYWORD_ORELSE); + if (!result_) result_ = BitwiseOp_4(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_CATCH Payload? + private static boolean BitwiseOp_4(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitwiseOp_4")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_CATCH); + result_ = result_ && BitwiseOp_4_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean BitwiseOp_4_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BitwiseOp_4_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // LBRACE ZB_Block_Statement RBRACE + public static boolean Block(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Block")) return false; + if (!nextTokenIs(builder_, LBRACE)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, BLOCK, null); + result_ = consumeToken(builder_, LBRACE); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_Block_Statement(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RBRACE) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // BlockLabel? Block + public static boolean BlockExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BlockExpr")) return false; + if (!nextTokenIs(builder_, "", IDENTIFIER, LBRACE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, BLOCK_EXPR, ""); + result_ = BlockExpr_0(builder_, level_ + 1); + result_ = result_ && Block(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // BlockLabel? + private static boolean BlockExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BlockExpr_0")) return false; + BlockLabel(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // BlockExpr + // | ZB_BlockExprStatement_AssignExpr + public static boolean BlockExprStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BlockExprStatement")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, BLOCK_EXPR_STATEMENT, ""); + result_ = BlockExpr(builder_, level_ + 1); + if (!result_) result_ = ZB_BlockExprStatement_AssignExpr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // IDENTIFIER COLON + public static boolean BlockLabel(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BlockLabel")) return false; + if (!nextTokenIs(builder_, IDENTIFIER)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, IDENTIFIER, COLON); + exit_section_(builder_, marker_, BLOCK_LABEL, result_); + return result_; + } + + /* ********************************************************** */ + // CompareExpr (KEYWORD_AND CompareExpr)* + public static boolean BoolAndExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BoolAndExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, BOOL_AND_EXPR, ""); + result_ = CompareExpr(builder_, level_ + 1); + result_ = result_ && BoolAndExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (KEYWORD_AND CompareExpr)* + private static boolean BoolAndExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BoolAndExpr_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!BoolAndExpr_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "BoolAndExpr_1", pos_)) break; + } + return true; + } + + // KEYWORD_AND CompareExpr + private static boolean BoolAndExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BoolAndExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_AND); + result_ = result_ && CompareExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // BoolAndExpr (KEYWORD_OR BoolAndExpr)* + public static boolean BoolOrExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BoolOrExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, BOOL_OR_EXPR, ""); + result_ = BoolAndExpr(builder_, level_ + 1); + result_ = result_ && BoolOrExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (KEYWORD_OR BoolAndExpr)* + private static boolean BoolOrExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BoolOrExpr_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!BoolOrExpr_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "BoolOrExpr_1", pos_)) break; + } + return true; + } + + // KEYWORD_OR BoolAndExpr + private static boolean BoolOrExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BoolOrExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_OR); + result_ = result_ && BoolAndExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // COLON IDENTIFIER + public static boolean BreakLabel(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "BreakLabel")) return false; + if (!nextTokenIs(builder_, COLON)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, COLON, IDENTIFIER); + exit_section_(builder_, marker_, BREAK_LABEL, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_ALIGN LPAREN Expr RPAREN + public static boolean ByteAlign(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ByteAlign")) return false; + if (!nextTokenIs(builder_, KEYWORD_ALIGN)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, KEYWORD_ALIGN, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, BYTE_ALIGN, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_CALLCONV LPAREN Expr RPAREN + public static boolean CallConv(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "CallConv")) return false; + if (!nextTokenIs(builder_, KEYWORD_CALLCONV)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, KEYWORD_CALLCONV, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, CALL_CONV, result_); + return result_; + } + + /* ********************************************************** */ + // BitwiseExpr (CompareOp BitwiseExpr)? + public static boolean CompareExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "CompareExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, COMPARE_EXPR, ""); + result_ = BitwiseExpr(builder_, level_ + 1); + result_ = result_ && CompareExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (CompareOp BitwiseExpr)? + private static boolean CompareExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "CompareExpr_1")) return false; + CompareExpr_1_0(builder_, level_ + 1); + return true; + } + + // CompareOp BitwiseExpr + private static boolean CompareExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "CompareExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = CompareOp(builder_, level_ + 1); + result_ = result_ && BitwiseExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // EQUALEQUAL + // | EXCLAMATIONMARKEQUAL + // | LARROW + // | RARROW + // | LARROWEQUAL + // | RARROWEQUAL + public static boolean CompareOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "CompareOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, COMPARE_OP, ""); + result_ = consumeToken(builder_, EQUALEQUAL); + if (!result_) result_ = consumeToken(builder_, EXCLAMATIONMARKEQUAL); + if (!result_) result_ = consumeToken(builder_, LARROW); + if (!result_) result_ = consumeToken(builder_, RARROW); + if (!result_) result_ = consumeToken(builder_, LARROWEQUAL); + if (!result_) result_ = consumeToken(builder_, RARROWEQUAL); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_COMPTIME Block + public static boolean ComptimeDecl(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ComptimeDecl")) return false; + if (!nextTokenIs(builder_, KEYWORD_COMPTIME)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_COMPTIME); + result_ = result_ && Block(builder_, level_ + 1); + exit_section_(builder_, marker_, COMPTIME_DECL, result_); + return result_; + } + + /* ********************************************************** */ + // BlockExpr + // | VarDeclExprStatement + public static boolean ComptimeStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ComptimeStatement")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, COMPTIME_STATEMENT, ""); + result_ = BlockExpr(builder_, level_ + 1); + if (!result_) result_ = VarDeclExprStatement(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // (KEYWORD_EXTERN | KEYWORD_PACKED)? ContainerDeclAuto + public static boolean ContainerDecl(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDecl")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, CONTAINER_DECL, ""); + result_ = ContainerDecl_0(builder_, level_ + 1); + result_ = result_ && ContainerDeclAuto(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (KEYWORD_EXTERN | KEYWORD_PACKED)? + private static boolean ContainerDecl_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDecl_0")) return false; + ContainerDecl_0_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_EXTERN | KEYWORD_PACKED + private static boolean ContainerDecl_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDecl_0_0")) return false; + boolean result_; + result_ = consumeToken(builder_, KEYWORD_EXTERN); + if (!result_) result_ = consumeToken(builder_, KEYWORD_PACKED); + return result_; + } + + /* ********************************************************** */ + // ContainerDeclType LBRACE CONTAINER_DOC_COMMENT? ZB_ContainerDeclAuto_ContainerMembers RBRACE + public static boolean ContainerDeclAuto(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclAuto")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, CONTAINER_DECL_AUTO, ""); + result_ = ContainerDeclType(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, LBRACE); + pinned_ = result_; // pin = 2 + result_ = result_ && report_error_(builder_, ContainerDeclAuto_2(builder_, level_ + 1)); + result_ = pinned_ && report_error_(builder_, ZB_ContainerDeclAuto_ContainerMembers(builder_, level_ + 1)) && result_; + result_ = pinned_ && consumeToken(builder_, RBRACE) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // CONTAINER_DOC_COMMENT? + private static boolean ContainerDeclAuto_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclAuto_2")) return false; + consumeToken(builder_, CONTAINER_DOC_COMMENT); + return true; + } + + /* ********************************************************** */ + // KEYWORD_STRUCT (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + // | KEYWORD_OPAQUE + // | KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + // | KEYWORD_UNION (LPAREN (KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? | ZB_ContainerDeclType_Expr) RPAREN)? + public static boolean ContainerDeclType(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, CONTAINER_DECL_TYPE, ""); + result_ = ContainerDeclType_0(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, KEYWORD_OPAQUE); + if (!result_) result_ = ContainerDeclType_2(builder_, level_ + 1); + if (!result_) result_ = ContainerDeclType_3(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_STRUCT (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + private static boolean ContainerDeclType_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, KEYWORD_STRUCT); + pinned_ = result_; // pin = 1 + result_ = result_ && ContainerDeclType_0_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + private static boolean ContainerDeclType_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_0_1")) return false; + ContainerDeclType_0_1_0(builder_, level_ + 1); + return true; + } + + // LPAREN ZB_ContainerDeclType_Expr RPAREN + private static boolean ContainerDeclType_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_0_1_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_ContainerDeclType_Expr(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RPAREN) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + private static boolean ContainerDeclType_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_2")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, KEYWORD_ENUM); + pinned_ = result_; // pin = 1 + result_ = result_ && ContainerDeclType_2_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + private static boolean ContainerDeclType_2_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_2_1")) return false; + ContainerDeclType_2_1_0(builder_, level_ + 1); + return true; + } + + // LPAREN ZB_ContainerDeclType_Expr RPAREN + private static boolean ContainerDeclType_2_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_2_1_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_ContainerDeclType_Expr(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RPAREN) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // KEYWORD_UNION (LPAREN (KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? | ZB_ContainerDeclType_Expr) RPAREN)? + private static boolean ContainerDeclType_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_3")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, KEYWORD_UNION); + pinned_ = result_; // pin = 1 + result_ = result_ && ContainerDeclType_3_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (LPAREN (KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? | ZB_ContainerDeclType_Expr) RPAREN)? + private static boolean ContainerDeclType_3_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_3_1")) return false; + ContainerDeclType_3_1_0(builder_, level_ + 1); + return true; + } + + // LPAREN (KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? | ZB_ContainerDeclType_Expr) RPAREN + private static boolean ContainerDeclType_3_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_3_1_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ContainerDeclType_3_1_0_1(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RPAREN) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? | ZB_ContainerDeclType_Expr + private static boolean ContainerDeclType_3_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_3_1_0_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ContainerDeclType_3_1_0_1_0(builder_, level_ + 1); + if (!result_) result_ = ZB_ContainerDeclType_Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_ENUM (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + private static boolean ContainerDeclType_3_1_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_3_1_0_1_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, KEYWORD_ENUM); + pinned_ = result_; // pin = 1 + result_ = result_ && ContainerDeclType_3_1_0_1_0_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (LPAREN ZB_ContainerDeclType_Expr RPAREN)? + private static boolean ContainerDeclType_3_1_0_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_3_1_0_1_0_1")) return false; + ContainerDeclType_3_1_0_1_0_1_0(builder_, level_ + 1); + return true; + } + + // LPAREN ZB_ContainerDeclType_Expr RPAREN + private static boolean ContainerDeclType_3_1_0_1_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclType_3_1_0_1_0_1_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_ContainerDeclType_Expr(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RPAREN) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // TestDecl | ComptimeDecl | DOC_COMMENT? KEYWORD_PUB? Decl + public static boolean ContainerDeclaration(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclaration")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, CONTAINER_DECLARATION, ""); + result_ = TestDecl(builder_, level_ + 1); + if (!result_) result_ = ComptimeDecl(builder_, level_ + 1); + if (!result_) result_ = ContainerDeclaration_2(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // DOC_COMMENT? KEYWORD_PUB? Decl + private static boolean ContainerDeclaration_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclaration_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ContainerDeclaration_2_0(builder_, level_ + 1); + result_ = result_ && ContainerDeclaration_2_1(builder_, level_ + 1); + result_ = result_ && Decl(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // DOC_COMMENT? + private static boolean ContainerDeclaration_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclaration_2_0")) return false; + consumeToken(builder_, DOC_COMMENT); + return true; + } + + // KEYWORD_PUB? + private static boolean ContainerDeclaration_2_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerDeclaration_2_1")) return false; + consumeToken(builder_, KEYWORD_PUB); + return true; + } + + /* ********************************************************** */ + // DOC_COMMENT? KEYWORD_COMPTIME? !KEYWORD_FN (IDENTIFIER COLON)? TypeExpr ByteAlign? (EQUAL Expr)? + public static boolean ContainerField(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, CONTAINER_FIELD, ""); + result_ = ContainerField_0(builder_, level_ + 1); + result_ = result_ && ContainerField_1(builder_, level_ + 1); + result_ = result_ && ContainerField_2(builder_, level_ + 1); + result_ = result_ && ContainerField_3(builder_, level_ + 1); + result_ = result_ && TypeExpr(builder_, level_ + 1); + pinned_ = result_; // pin = 5 + result_ = result_ && report_error_(builder_, ContainerField_5(builder_, level_ + 1)); + result_ = pinned_ && ContainerField_6(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // DOC_COMMENT? + private static boolean ContainerField_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_0")) return false; + consumeToken(builder_, DOC_COMMENT); + return true; + } + + // KEYWORD_COMPTIME? + private static boolean ContainerField_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_1")) return false; + consumeToken(builder_, KEYWORD_COMPTIME); + return true; + } + + // !KEYWORD_FN + private static boolean ContainerField_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !consumeToken(builder_, KEYWORD_FN); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (IDENTIFIER COLON)? + private static boolean ContainerField_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_3")) return false; + ContainerField_3_0(builder_, level_ + 1); + return true; + } + + // IDENTIFIER COLON + private static boolean ContainerField_3_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_3_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, IDENTIFIER, COLON); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ByteAlign? + private static boolean ContainerField_5(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_5")) return false; + ByteAlign(builder_, level_ + 1); + return true; + } + + // (EQUAL Expr)? + private static boolean ContainerField_6(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_6")) return false; + ContainerField_6_0(builder_, level_ + 1); + return true; + } + + // EQUAL Expr + private static boolean ContainerField_6_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerField_6_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, EQUAL); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // ContainerDeclaration* (ContainerField COMMA)* (ContainerField | ContainerDeclaration*) + public static boolean ContainerMembers(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerMembers")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, CONTAINER_MEMBERS, ""); + result_ = ContainerMembers_0(builder_, level_ + 1); + result_ = result_ && ContainerMembers_1(builder_, level_ + 1); + result_ = result_ && ContainerMembers_2(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // ContainerDeclaration* + private static boolean ContainerMembers_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerMembers_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ContainerDeclaration(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ContainerMembers_0", pos_)) break; + } + return true; + } + + // (ContainerField COMMA)* + private static boolean ContainerMembers_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerMembers_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ContainerMembers_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ContainerMembers_1", pos_)) break; + } + return true; + } + + // ContainerField COMMA + private static boolean ContainerMembers_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerMembers_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ContainerField(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ContainerField | ContainerDeclaration* + private static boolean ContainerMembers_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerMembers_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ContainerField(builder_, level_ + 1); + if (!result_) result_ = ContainerMembers_2_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ContainerDeclaration* + private static boolean ContainerMembers_2_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ContainerMembers_2_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ContainerDeclaration(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ContainerMembers_2_1", pos_)) break; + } + return true; + } + + /* ********************************************************** */ + // TypeExpr InitList? + public static boolean CurlySuffixExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "CurlySuffixExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, CURLY_SUFFIX_EXPR, ""); + result_ = TypeExpr(builder_, level_ + 1); + result_ = result_ && CurlySuffixExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // InitList? + private static boolean CurlySuffixExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "CurlySuffixExpr_1")) return false; + InitList(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // (KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE? | KEYWORD_INLINE | KEYWORD_NOINLINE)? FnProto (SEMICOLON | Block) + // | (KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE?)? KEYWORD_THREADLOCAL? GlobalVarDecl + // | KEYWORD_USINGNAMESPACE Expr SEMICOLON + public static boolean Decl(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, DECL, ""); + result_ = Decl_0(builder_, level_ + 1); + if (!result_) result_ = Decl_1(builder_, level_ + 1); + if (!result_) result_ = Decl_2(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE? | KEYWORD_INLINE | KEYWORD_NOINLINE)? FnProto (SEMICOLON | Block) + private static boolean Decl_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = Decl_0_0(builder_, level_ + 1); + result_ = result_ && FnProto(builder_, level_ + 1); + result_ = result_ && Decl_0_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE? | KEYWORD_INLINE | KEYWORD_NOINLINE)? + private static boolean Decl_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_0_0")) return false; + Decl_0_0_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE? | KEYWORD_INLINE | KEYWORD_NOINLINE + private static boolean Decl_0_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_0_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_EXPORT); + if (!result_) result_ = Decl_0_0_0_1(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, KEYWORD_INLINE); + if (!result_) result_ = consumeToken(builder_, KEYWORD_NOINLINE); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_EXTERN STRING_LITERAL_SINGLE? + private static boolean Decl_0_0_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_0_0_0_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_EXTERN); + result_ = result_ && Decl_0_0_0_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // STRING_LITERAL_SINGLE? + private static boolean Decl_0_0_0_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_0_0_0_1_1")) return false; + consumeToken(builder_, STRING_LITERAL_SINGLE); + return true; + } + + // SEMICOLON | Block + private static boolean Decl_0_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_0_2")) return false; + boolean result_; + result_ = consumeToken(builder_, SEMICOLON); + if (!result_) result_ = Block(builder_, level_ + 1); + return result_; + } + + // (KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE?)? KEYWORD_THREADLOCAL? GlobalVarDecl + private static boolean Decl_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = Decl_1_0(builder_, level_ + 1); + result_ = result_ && Decl_1_1(builder_, level_ + 1); + result_ = result_ && GlobalVarDecl(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE?)? + private static boolean Decl_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_1_0")) return false; + Decl_1_0_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_EXPORT | KEYWORD_EXTERN STRING_LITERAL_SINGLE? + private static boolean Decl_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_1_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_EXPORT); + if (!result_) result_ = Decl_1_0_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_EXTERN STRING_LITERAL_SINGLE? + private static boolean Decl_1_0_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_1_0_0_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_EXTERN); + result_ = result_ && Decl_1_0_0_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // STRING_LITERAL_SINGLE? + private static boolean Decl_1_0_0_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_1_0_0_1_1")) return false; + consumeToken(builder_, STRING_LITERAL_SINGLE); + return true; + } + + // KEYWORD_THREADLOCAL? + private static boolean Decl_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_1_1")) return false; + consumeToken(builder_, KEYWORD_THREADLOCAL); + return true; + } + + // KEYWORD_USINGNAMESPACE Expr SEMICOLON + private static boolean Decl_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Decl_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_USINGNAMESPACE); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, SEMICOLON); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_ERROR LBRACE IdentifierList RBRACE + public static boolean ErrorSetDecl(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ErrorSetDecl")) return false; + if (!nextTokenIs(builder_, KEYWORD_ERROR)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, KEYWORD_ERROR, LBRACE); + result_ = result_ && IdentifierList(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RBRACE); + exit_section_(builder_, marker_, ERROR_SET_DECL, result_); + return result_; + } + + /* ********************************************************** */ + // SuffixExpr (EXCLAMATIONMARK TypeExpr)? + public static boolean ErrorUnionExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ErrorUnionExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, ERROR_UNION_EXPR, ""); + result_ = SuffixExpr(builder_, level_ + 1); + result_ = result_ && ErrorUnionExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (EXCLAMATIONMARK TypeExpr)? + private static boolean ErrorUnionExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ErrorUnionExpr_1")) return false; + ErrorUnionExpr_1_0(builder_, level_ + 1); + return true; + } + + // EXCLAMATIONMARK TypeExpr + private static boolean ErrorUnionExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ErrorUnionExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, EXCLAMATIONMARK); + result_ = result_ && TypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // BoolOrExpr + public static boolean Expr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Expr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, EXPR, ""); + result_ = BoolOrExpr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // (ZB_ExprList_Expr COMMA)* ZB_ExprList_Expr? + public static boolean ExprList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ExprList")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, EXPR_LIST, ""); + result_ = ExprList_0(builder_, level_ + 1); + result_ = result_ && ExprList_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (ZB_ExprList_Expr COMMA)* + private static boolean ExprList_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ExprList_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ExprList_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ExprList_0", pos_)) break; + } + return true; + } + + // ZB_ExprList_Expr COMMA + private static boolean ExprList_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ExprList_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ZB_ExprList_Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ZB_ExprList_Expr? + private static boolean ExprList_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ExprList_1")) return false; + ZB_ExprList_Expr(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // DOT IDENTIFIER EQUAL Expr + public static boolean FieldInit(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FieldInit")) return false; + if (!nextTokenIs(builder_, DOT)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, DOT, IDENTIFIER, EQUAL); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, FIELD_INIT, result_); + return result_; + } + + /* ********************************************************** */ + // LPAREN ExprList RPAREN + public static boolean FnCallArguments(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnCallArguments")) return false; + if (!nextTokenIs(builder_, LPAREN)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, FN_CALL_ARGUMENTS, null); + result_ = consumeToken(builder_, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ExprList(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RPAREN) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // KEYWORD_FN IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? AddrSpace? LinkSection? CallConv? EXCLAMATIONMARK? TypeExpr + public static boolean FnProto(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnProto")) return false; + if (!nextTokenIs(builder_, KEYWORD_FN)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, FN_PROTO, null); + result_ = consumeToken(builder_, KEYWORD_FN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, FnProto_1(builder_, level_ + 1)); + result_ = pinned_ && report_error_(builder_, consumeToken(builder_, LPAREN)) && result_; + result_ = pinned_ && report_error_(builder_, ParamDeclList(builder_, level_ + 1)) && result_; + result_ = pinned_ && report_error_(builder_, consumeToken(builder_, RPAREN)) && result_; + result_ = pinned_ && report_error_(builder_, FnProto_5(builder_, level_ + 1)) && result_; + result_ = pinned_ && report_error_(builder_, FnProto_6(builder_, level_ + 1)) && result_; + result_ = pinned_ && report_error_(builder_, FnProto_7(builder_, level_ + 1)) && result_; + result_ = pinned_ && report_error_(builder_, FnProto_8(builder_, level_ + 1)) && result_; + result_ = pinned_ && report_error_(builder_, FnProto_9(builder_, level_ + 1)) && result_; + result_ = pinned_ && TypeExpr(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // IDENTIFIER? + private static boolean FnProto_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnProto_1")) return false; + consumeToken(builder_, IDENTIFIER); + return true; + } + + // ByteAlign? + private static boolean FnProto_5(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnProto_5")) return false; + ByteAlign(builder_, level_ + 1); + return true; + } + + // AddrSpace? + private static boolean FnProto_6(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnProto_6")) return false; + AddrSpace(builder_, level_ + 1); + return true; + } + + // LinkSection? + private static boolean FnProto_7(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnProto_7")) return false; + LinkSection(builder_, level_ + 1); + return true; + } + + // CallConv? + private static boolean FnProto_8(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnProto_8")) return false; + CallConv(builder_, level_ + 1); + return true; + } + + // EXCLAMATIONMARK? + private static boolean FnProto_9(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "FnProto_9")) return false; + consumeToken(builder_, EXCLAMATIONMARK); + return true; + } + + /* ********************************************************** */ + // ForPrefix Expr (KEYWORD_ELSE Expr)? + public static boolean ForExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_FOR)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ForPrefix(builder_, level_ + 1); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && ForExpr_2(builder_, level_ + 1); + exit_section_(builder_, marker_, FOR_EXPR, result_); + return result_; + } + + // (KEYWORD_ELSE Expr)? + private static boolean ForExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForExpr_2")) return false; + ForExpr_2_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Expr + private static boolean ForExpr_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForExpr_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // Expr (DOT2 Expr?)? + public static boolean ForInput(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForInput")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, FOR_INPUT, ""); + result_ = Expr(builder_, level_ + 1); + result_ = result_ && ForInput_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_ForInput_Recover); + return result_; + } + + // (DOT2 Expr?)? + private static boolean ForInput_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForInput_1")) return false; + ForInput_1_0(builder_, level_ + 1); + return true; + } + + // DOT2 Expr? + private static boolean ForInput_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForInput_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, DOT2); + result_ = result_ && ForInput_1_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Expr? + private static boolean ForInput_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForInput_1_0_1")) return false; + Expr(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // PIPE ZB_ForPayload_Item (COMMA ZB_ForPayload_Item)* PIPE + public static boolean ForPayload(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForPayload")) return false; + if (!nextTokenIs(builder_, PIPE)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, FOR_PAYLOAD, null); + result_ = consumeToken(builder_, PIPE); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_ForPayload_Item(builder_, level_ + 1)); + result_ = pinned_ && report_error_(builder_, ForPayload_2(builder_, level_ + 1)) && result_; + result_ = pinned_ && consumeToken(builder_, PIPE) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (COMMA ZB_ForPayload_Item)* + private static boolean ForPayload_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForPayload_2")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ForPayload_2_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ForPayload_2", pos_)) break; + } + return true; + } + + // COMMA ZB_ForPayload_Item + private static boolean ForPayload_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForPayload_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COMMA); + result_ = result_ && ZB_ForPayload_Item(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_FOR LPAREN ZB_ForParams RPAREN ForPayload + public static boolean ForPrefix(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForPrefix")) return false; + if (!nextTokenIs(builder_, KEYWORD_FOR)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, FOR_PREFIX, null); + result_ = consumeTokens(builder_, 1, KEYWORD_FOR, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_ForParams(builder_, level_ + 1)); + result_ = pinned_ && report_error_(builder_, consumeToken(builder_, RPAREN)) && result_; + result_ = pinned_ && ForPayload(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // ForPrefix ZB_ForStatement_Body + public static boolean ForStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForStatement")) return false; + if (!nextTokenIs(builder_, KEYWORD_FOR)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, FOR_STATEMENT, null); + result_ = ForPrefix(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && ZB_ForStatement_Body(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // ForPrefix TypeExpr (KEYWORD_ELSE TypeExpr)? + public static boolean ForTypeExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForTypeExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_FOR)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ForPrefix(builder_, level_ + 1); + result_ = result_ && TypeExpr(builder_, level_ + 1); + result_ = result_ && ForTypeExpr_2(builder_, level_ + 1); + exit_section_(builder_, marker_, FOR_TYPE_EXPR, result_); + return result_; + } + + // (KEYWORD_ELSE TypeExpr)? + private static boolean ForTypeExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForTypeExpr_2")) return false; + ForTypeExpr_2_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE TypeExpr + private static boolean ForTypeExpr_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ForTypeExpr_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && TypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // VarDeclProto (EQUAL Expr)? SEMICOLON + public static boolean GlobalVarDecl(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "GlobalVarDecl")) return false; + if (!nextTokenIs(builder_, "", KEYWORD_CONST, KEYWORD_VAR)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, GLOBAL_VAR_DECL, ""); + result_ = VarDeclProto(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, GlobalVarDecl_1(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, SEMICOLON) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (EQUAL Expr)? + private static boolean GlobalVarDecl_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "GlobalVarDecl_1")) return false; + GlobalVarDecl_1_0(builder_, level_ + 1); + return true; + } + + // EQUAL Expr + private static boolean GlobalVarDecl_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "GlobalVarDecl_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, EQUAL); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // LPAREN Expr RPAREN + public static boolean GroupedExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "GroupedExpr")) return false; + if (!nextTokenIs(builder_, LPAREN)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, GROUPED_EXPR, result_); + return result_; + } + + /* ********************************************************** */ + // (DOC_COMMENT? IDENTIFIER COMMA)* (DOC_COMMENT? IDENTIFIER)? + public static boolean IdentifierList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IdentifierList")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, IDENTIFIER_LIST, ""); + result_ = IdentifierList_0(builder_, level_ + 1); + result_ = result_ && IdentifierList_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (DOC_COMMENT? IDENTIFIER COMMA)* + private static boolean IdentifierList_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IdentifierList_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!IdentifierList_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "IdentifierList_0", pos_)) break; + } + return true; + } + + // DOC_COMMENT? IDENTIFIER COMMA + private static boolean IdentifierList_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IdentifierList_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = IdentifierList_0_0_0(builder_, level_ + 1); + result_ = result_ && consumeTokens(builder_, 0, IDENTIFIER, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // DOC_COMMENT? + private static boolean IdentifierList_0_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IdentifierList_0_0_0")) return false; + consumeToken(builder_, DOC_COMMENT); + return true; + } + + // (DOC_COMMENT? IDENTIFIER)? + private static boolean IdentifierList_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IdentifierList_1")) return false; + IdentifierList_1_0(builder_, level_ + 1); + return true; + } + + // DOC_COMMENT? IDENTIFIER + private static boolean IdentifierList_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IdentifierList_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = IdentifierList_1_0_0(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, IDENTIFIER); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // DOC_COMMENT? + private static boolean IdentifierList_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IdentifierList_1_0_0")) return false; + consumeToken(builder_, DOC_COMMENT); + return true; + } + + /* ********************************************************** */ + // IfPrefix Expr (KEYWORD_ELSE Payload? Expr)? + public static boolean IfExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_IF)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = IfPrefix(builder_, level_ + 1); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && IfExpr_2(builder_, level_ + 1); + exit_section_(builder_, marker_, IF_EXPR, result_); + return result_; + } + + // (KEYWORD_ELSE Payload? Expr)? + private static boolean IfExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfExpr_2")) return false; + IfExpr_2_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Payload? Expr + private static boolean IfExpr_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfExpr_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && IfExpr_2_0_1(builder_, level_ + 1); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean IfExpr_2_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfExpr_2_0_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // KEYWORD_IF ZB_IfPrefix_Operand PtrPayload? + public static boolean IfPrefix(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfPrefix")) return false; + if (!nextTokenIs(builder_, KEYWORD_IF)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, IF_PREFIX, null); + result_ = consumeToken(builder_, KEYWORD_IF); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_IfPrefix_Operand(builder_, level_ + 1)); + result_ = pinned_ && IfPrefix_2(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // PtrPayload? + private static boolean IfPrefix_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfPrefix_2")) return false; + PtrPayload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // IfPrefix ZB_IfStatement_Body + public static boolean IfStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfStatement")) return false; + if (!nextTokenIs(builder_, KEYWORD_IF)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, IF_STATEMENT, null); + result_ = IfPrefix(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && ZB_IfStatement_Body(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // IfPrefix TypeExpr (KEYWORD_ELSE Payload? TypeExpr)? + public static boolean IfTypeExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfTypeExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_IF)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = IfPrefix(builder_, level_ + 1); + result_ = result_ && TypeExpr(builder_, level_ + 1); + result_ = result_ && IfTypeExpr_2(builder_, level_ + 1); + exit_section_(builder_, marker_, IF_TYPE_EXPR, result_); + return result_; + } + + // (KEYWORD_ELSE Payload? TypeExpr)? + private static boolean IfTypeExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfTypeExpr_2")) return false; + IfTypeExpr_2_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Payload? TypeExpr + private static boolean IfTypeExpr_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfTypeExpr_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && IfTypeExpr_2_0_1(builder_, level_ + 1); + result_ = result_ && TypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean IfTypeExpr_2_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "IfTypeExpr_2_0_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // LBRACE ZB_InitList_Body RBRACE + public static boolean InitList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "InitList")) return false; + if (!nextTokenIs(builder_, LBRACE)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, INIT_LIST, null); + result_ = consumeToken(builder_, LBRACE); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_InitList_Body(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RBRACE) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // BlockLabel? (Block | LoopStatement | SwitchExpr) + public static boolean LabeledStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledStatement")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, LABELED_STATEMENT, ""); + result_ = LabeledStatement_0(builder_, level_ + 1); + result_ = result_ && LabeledStatement_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // BlockLabel? + private static boolean LabeledStatement_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledStatement_0")) return false; + BlockLabel(builder_, level_ + 1); + return true; + } + + // Block | LoopStatement | SwitchExpr + private static boolean LabeledStatement_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledStatement_1")) return false; + boolean result_; + result_ = Block(builder_, level_ + 1); + if (!result_) result_ = LoopStatement(builder_, level_ + 1); + if (!result_) result_ = SwitchExpr(builder_, level_ + 1); + return result_; + } + + /* ********************************************************** */ + // BlockLabel Block + // | BlockLabel? LoopTypeExpr + // | BlockLabel? SwitchExpr + public static boolean LabeledTypeExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledTypeExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, LABELED_TYPE_EXPR, ""); + result_ = LabeledTypeExpr_0(builder_, level_ + 1); + if (!result_) result_ = LabeledTypeExpr_1(builder_, level_ + 1); + if (!result_) result_ = LabeledTypeExpr_2(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // BlockLabel Block + private static boolean LabeledTypeExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledTypeExpr_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = BlockLabel(builder_, level_ + 1); + result_ = result_ && Block(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BlockLabel? LoopTypeExpr + private static boolean LabeledTypeExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledTypeExpr_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = LabeledTypeExpr_1_0(builder_, level_ + 1); + result_ = result_ && LoopTypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BlockLabel? + private static boolean LabeledTypeExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledTypeExpr_1_0")) return false; + BlockLabel(builder_, level_ + 1); + return true; + } + + // BlockLabel? SwitchExpr + private static boolean LabeledTypeExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledTypeExpr_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = LabeledTypeExpr_2_0(builder_, level_ + 1); + result_ = result_ && SwitchExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BlockLabel? + private static boolean LabeledTypeExpr_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LabeledTypeExpr_2_0")) return false; + BlockLabel(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // KEYWORD_LINKSECTION LPAREN Expr RPAREN + public static boolean LinkSection(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LinkSection")) return false; + if (!nextTokenIs(builder_, KEYWORD_LINKSECTION)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, KEYWORD_LINKSECTION, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, LINK_SECTION, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_INLINE? (ForExpr | WhileExpr) + public static boolean LoopExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, LOOP_EXPR, ""); + result_ = LoopExpr_0(builder_, level_ + 1); + result_ = result_ && LoopExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_INLINE? + private static boolean LoopExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopExpr_0")) return false; + consumeToken(builder_, KEYWORD_INLINE); + return true; + } + + // ForExpr | WhileExpr + private static boolean LoopExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopExpr_1")) return false; + boolean result_; + result_ = ForExpr(builder_, level_ + 1); + if (!result_) result_ = WhileExpr(builder_, level_ + 1); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_INLINE? (ForStatement | WhileStatement) + public static boolean LoopStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopStatement")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, LOOP_STATEMENT, ""); + result_ = LoopStatement_0(builder_, level_ + 1); + result_ = result_ && LoopStatement_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_INLINE? + private static boolean LoopStatement_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopStatement_0")) return false; + consumeToken(builder_, KEYWORD_INLINE); + return true; + } + + // ForStatement | WhileStatement + private static boolean LoopStatement_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopStatement_1")) return false; + boolean result_; + result_ = ForStatement(builder_, level_ + 1); + if (!result_) result_ = WhileStatement(builder_, level_ + 1); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_INLINE? (ForTypeExpr | WhileTypeExpr) + public static boolean LoopTypeExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopTypeExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, LOOP_TYPE_EXPR, ""); + result_ = LoopTypeExpr_0(builder_, level_ + 1); + result_ = result_ && LoopTypeExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_INLINE? + private static boolean LoopTypeExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopTypeExpr_0")) return false; + consumeToken(builder_, KEYWORD_INLINE); + return true; + } + + // ForTypeExpr | WhileTypeExpr + private static boolean LoopTypeExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "LoopTypeExpr_1")) return false; + boolean result_; + result_ = ForTypeExpr(builder_, level_ + 1); + if (!result_) result_ = WhileTypeExpr(builder_, level_ + 1); + return result_; + } + + /* ********************************************************** */ + // PrefixExpr (MultiplyOp PrefixExpr)* + public static boolean MultiplyExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "MultiplyExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, MULTIPLY_EXPR, ""); + result_ = PrefixExpr(builder_, level_ + 1); + result_ = result_ && MultiplyExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (MultiplyOp PrefixExpr)* + private static boolean MultiplyExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "MultiplyExpr_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!MultiplyExpr_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "MultiplyExpr_1", pos_)) break; + } + return true; + } + + // MultiplyOp PrefixExpr + private static boolean MultiplyExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "MultiplyExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = MultiplyOp(builder_, level_ + 1); + result_ = result_ && PrefixExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // PIPE2 + // | ASTERISK + // | SLASH + // | PERCENT + // | ASTERISK2 + // | ASTERISKPERCENT + // | ASTERISKPIPE + public static boolean MultiplyOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "MultiplyOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, MULTIPLY_OP, ""); + result_ = consumeToken(builder_, PIPE2); + if (!result_) result_ = consumeToken(builder_, ASTERISK); + if (!result_) result_ = consumeToken(builder_, SLASH); + if (!result_) result_ = consumeToken(builder_, PERCENT); + if (!result_) result_ = consumeToken(builder_, ASTERISK2); + if (!result_) result_ = consumeToken(builder_, ASTERISKPERCENT); + if (!result_) result_ = consumeToken(builder_, ASTERISKPIPE); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // DOC_COMMENT? (KEYWORD_NOALIAS | KEYWORD_COMPTIME)? (IDENTIFIER COLON)? ParamType + // | DOT3 + public static boolean ParamDecl(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDecl")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, PARAM_DECL, ""); + result_ = ParamDecl_0(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, DOT3); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // DOC_COMMENT? (KEYWORD_NOALIAS | KEYWORD_COMPTIME)? (IDENTIFIER COLON)? ParamType + private static boolean ParamDecl_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDecl_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ParamDecl_0_0(builder_, level_ + 1); + result_ = result_ && ParamDecl_0_1(builder_, level_ + 1); + result_ = result_ && ParamDecl_0_2(builder_, level_ + 1); + result_ = result_ && ParamType(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // DOC_COMMENT? + private static boolean ParamDecl_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDecl_0_0")) return false; + consumeToken(builder_, DOC_COMMENT); + return true; + } + + // (KEYWORD_NOALIAS | KEYWORD_COMPTIME)? + private static boolean ParamDecl_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDecl_0_1")) return false; + ParamDecl_0_1_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_NOALIAS | KEYWORD_COMPTIME + private static boolean ParamDecl_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDecl_0_1_0")) return false; + boolean result_; + result_ = consumeToken(builder_, KEYWORD_NOALIAS); + if (!result_) result_ = consumeToken(builder_, KEYWORD_COMPTIME); + return result_; + } + + // (IDENTIFIER COLON)? + private static boolean ParamDecl_0_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDecl_0_2")) return false; + ParamDecl_0_2_0(builder_, level_ + 1); + return true; + } + + // IDENTIFIER COLON + private static boolean ParamDecl_0_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDecl_0_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, IDENTIFIER, COLON); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // (ParamDecl COMMA)* ParamDecl? + public static boolean ParamDeclList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDeclList")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, PARAM_DECL_LIST, ""); + result_ = ParamDeclList_0(builder_, level_ + 1); + result_ = result_ && ParamDeclList_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (ParamDecl COMMA)* + private static boolean ParamDeclList_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDeclList_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ParamDeclList_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ParamDeclList_0", pos_)) break; + } + return true; + } + + // ParamDecl COMMA + private static boolean ParamDeclList_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDeclList_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ParamDecl(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ParamDecl? + private static boolean ParamDeclList_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamDeclList_1")) return false; + ParamDecl(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // KEYWORD_ANYTYPE + // | TypeExpr + public static boolean ParamType(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ParamType")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, PARAM_TYPE, ""); + result_ = consumeToken(builder_, KEYWORD_ANYTYPE); + if (!result_) result_ = TypeExpr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // PIPE IDENTIFIER PIPE + public static boolean Payload(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Payload")) return false; + if (!nextTokenIs(builder_, PIPE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, PIPE, IDENTIFIER, PIPE); + exit_section_(builder_, marker_, PAYLOAD, result_); + return result_; + } + + /* ********************************************************** */ + // PrefixOp* PrimaryExpr + public static boolean PrefixExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, PREFIX_EXPR, ""); + result_ = PrefixExpr_0(builder_, level_ + 1); + result_ = result_ && PrimaryExpr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // PrefixOp* + private static boolean PrefixExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixExpr_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!PrefixOp(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "PrefixExpr_0", pos_)) break; + } + return true; + } + + /* ********************************************************** */ + // EXCLAMATIONMARK + // | MINUS + // | TILDE + // | MINUSPERCENT + // | AMPERSAND + // | KEYWORD_TRY + // | KEYWORD_AWAIT + public static boolean PrefixOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, PREFIX_OP, ""); + result_ = consumeToken(builder_, EXCLAMATIONMARK); + if (!result_) result_ = consumeToken(builder_, MINUS); + if (!result_) result_ = consumeToken(builder_, TILDE); + if (!result_) result_ = consumeToken(builder_, MINUSPERCENT); + if (!result_) result_ = consumeToken(builder_, AMPERSAND); + if (!result_) result_ = consumeToken(builder_, KEYWORD_TRY); + if (!result_) result_ = consumeToken(builder_, KEYWORD_AWAIT); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // QUESTIONMARK + // | KEYWORD_ANYFRAME MINUSRARROW + // | SliceTypeStart (ByteAlign | AddrSpace | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO)* + // | PtrTypeStart (AddrSpace | KEYWORD_ALIGN LPAREN Expr (COLON Expr COLON Expr)? RPAREN | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO)* + // | ArrayTypeStart + public static boolean PrefixTypeOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, PREFIX_TYPE_OP, ""); + result_ = consumeToken(builder_, QUESTIONMARK); + if (!result_) result_ = parseTokens(builder_, 0, KEYWORD_ANYFRAME, MINUSRARROW); + if (!result_) result_ = PrefixTypeOp_2(builder_, level_ + 1); + if (!result_) result_ = PrefixTypeOp_3(builder_, level_ + 1); + if (!result_) result_ = ArrayTypeStart(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // SliceTypeStart (ByteAlign | AddrSpace | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO)* + private static boolean PrefixTypeOp_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = SliceTypeStart(builder_, level_ + 1); + result_ = result_ && PrefixTypeOp_2_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (ByteAlign | AddrSpace | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO)* + private static boolean PrefixTypeOp_2_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_2_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!PrefixTypeOp_2_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "PrefixTypeOp_2_1", pos_)) break; + } + return true; + } + + // ByteAlign | AddrSpace | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO + private static boolean PrefixTypeOp_2_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_2_1_0")) return false; + boolean result_; + result_ = ByteAlign(builder_, level_ + 1); + if (!result_) result_ = AddrSpace(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, KEYWORD_CONST); + if (!result_) result_ = consumeToken(builder_, KEYWORD_VOLATILE); + if (!result_) result_ = consumeToken(builder_, KEYWORD_ALLOWZERO); + return result_; + } + + // PtrTypeStart (AddrSpace | KEYWORD_ALIGN LPAREN Expr (COLON Expr COLON Expr)? RPAREN | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO)* + private static boolean PrefixTypeOp_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_3")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = PtrTypeStart(builder_, level_ + 1); + result_ = result_ && PrefixTypeOp_3_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (AddrSpace | KEYWORD_ALIGN LPAREN Expr (COLON Expr COLON Expr)? RPAREN | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO)* + private static boolean PrefixTypeOp_3_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_3_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!PrefixTypeOp_3_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "PrefixTypeOp_3_1", pos_)) break; + } + return true; + } + + // AddrSpace | KEYWORD_ALIGN LPAREN Expr (COLON Expr COLON Expr)? RPAREN | KEYWORD_CONST | KEYWORD_VOLATILE | KEYWORD_ALLOWZERO + private static boolean PrefixTypeOp_3_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_3_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AddrSpace(builder_, level_ + 1); + if (!result_) result_ = PrefixTypeOp_3_1_0_1(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, KEYWORD_CONST); + if (!result_) result_ = consumeToken(builder_, KEYWORD_VOLATILE); + if (!result_) result_ = consumeToken(builder_, KEYWORD_ALLOWZERO); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_ALIGN LPAREN Expr (COLON Expr COLON Expr)? RPAREN + private static boolean PrefixTypeOp_3_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_3_1_0_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, KEYWORD_ALIGN, LPAREN); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && PrefixTypeOp_3_1_0_1_3(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (COLON Expr COLON Expr)? + private static boolean PrefixTypeOp_3_1_0_1_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_3_1_0_1_3")) return false; + PrefixTypeOp_3_1_0_1_3_0(builder_, level_ + 1); + return true; + } + + // COLON Expr COLON Expr + private static boolean PrefixTypeOp_3_1_0_1_3_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrefixTypeOp_3_1_0_1_3_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COLON); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // AsmExpr + // | IfExpr + // | KEYWORD_BREAK BreakLabel? Expr? + // | KEYWORD_COMPTIME Expr + // | KEYWORD_NOSUSPEND Expr + // | KEYWORD_CONTINUE BreakLabel? Expr? + // | KEYWORD_RESUME Expr + // | KEYWORD_RETURN Expr? + // | BlockLabel? LoopExpr + // | Block + // | CurlySuffixExpr + public static boolean PrimaryExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, PRIMARY_EXPR, ""); + result_ = AsmExpr(builder_, level_ + 1); + if (!result_) result_ = IfExpr(builder_, level_ + 1); + if (!result_) result_ = PrimaryExpr_2(builder_, level_ + 1); + if (!result_) result_ = PrimaryExpr_3(builder_, level_ + 1); + if (!result_) result_ = PrimaryExpr_4(builder_, level_ + 1); + if (!result_) result_ = PrimaryExpr_5(builder_, level_ + 1); + if (!result_) result_ = PrimaryExpr_6(builder_, level_ + 1); + if (!result_) result_ = PrimaryExpr_7(builder_, level_ + 1); + if (!result_) result_ = PrimaryExpr_8(builder_, level_ + 1); + if (!result_) result_ = Block(builder_, level_ + 1); + if (!result_) result_ = CurlySuffixExpr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_BREAK BreakLabel? Expr? + private static boolean PrimaryExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_BREAK); + result_ = result_ && PrimaryExpr_2_1(builder_, level_ + 1); + result_ = result_ && PrimaryExpr_2_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BreakLabel? + private static boolean PrimaryExpr_2_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_2_1")) return false; + BreakLabel(builder_, level_ + 1); + return true; + } + + // Expr? + private static boolean PrimaryExpr_2_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_2_2")) return false; + Expr(builder_, level_ + 1); + return true; + } + + // KEYWORD_COMPTIME Expr + private static boolean PrimaryExpr_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_3")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_COMPTIME); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_NOSUSPEND Expr + private static boolean PrimaryExpr_4(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_4")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_NOSUSPEND); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_CONTINUE BreakLabel? Expr? + private static boolean PrimaryExpr_5(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_5")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_CONTINUE); + result_ = result_ && PrimaryExpr_5_1(builder_, level_ + 1); + result_ = result_ && PrimaryExpr_5_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BreakLabel? + private static boolean PrimaryExpr_5_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_5_1")) return false; + BreakLabel(builder_, level_ + 1); + return true; + } + + // Expr? + private static boolean PrimaryExpr_5_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_5_2")) return false; + Expr(builder_, level_ + 1); + return true; + } + + // KEYWORD_RESUME Expr + private static boolean PrimaryExpr_6(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_6")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_RESUME); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_RETURN Expr? + private static boolean PrimaryExpr_7(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_7")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_RETURN); + result_ = result_ && PrimaryExpr_7_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Expr? + private static boolean PrimaryExpr_7_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_7_1")) return false; + Expr(builder_, level_ + 1); + return true; + } + + // BlockLabel? LoopExpr + private static boolean PrimaryExpr_8(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_8")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = PrimaryExpr_8_0(builder_, level_ + 1); + result_ = result_ && LoopExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BlockLabel? + private static boolean PrimaryExpr_8_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryExpr_8_0")) return false; + BlockLabel(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // BUILTINIDENTIFIER FnCallArguments + // | CHAR_LITERAL + // | ContainerDecl + // | DOT IDENTIFIER + // | DOT InitList + // | ErrorSetDecl + // | FLOAT + // | FnProto + // | GroupedExpr + // | LabeledTypeExpr + // | IDENTIFIER + // | IfTypeExpr + // | INTEGER + // | KEYWORD_COMPTIME TypeExpr + // | KEYWORD_ERROR DOT IDENTIFIER + // | KEYWORD_ANYFRAME + // | KEYWORD_UNREACHABLE + // | StringLiteral + public static boolean PrimaryTypeExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryTypeExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, PRIMARY_TYPE_EXPR, ""); + result_ = PrimaryTypeExpr_0(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, CHAR_LITERAL); + if (!result_) result_ = ContainerDecl(builder_, level_ + 1); + if (!result_) result_ = parseTokens(builder_, 0, DOT, IDENTIFIER); + if (!result_) result_ = PrimaryTypeExpr_4(builder_, level_ + 1); + if (!result_) result_ = ErrorSetDecl(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, FLOAT); + if (!result_) result_ = FnProto(builder_, level_ + 1); + if (!result_) result_ = GroupedExpr(builder_, level_ + 1); + if (!result_) result_ = LabeledTypeExpr(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, IDENTIFIER); + if (!result_) result_ = IfTypeExpr(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, INTEGER); + if (!result_) result_ = PrimaryTypeExpr_13(builder_, level_ + 1); + if (!result_) result_ = parseTokens(builder_, 0, KEYWORD_ERROR, DOT, IDENTIFIER); + if (!result_) result_ = consumeToken(builder_, KEYWORD_ANYFRAME); + if (!result_) result_ = consumeToken(builder_, KEYWORD_UNREACHABLE); + if (!result_) result_ = StringLiteral(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // BUILTINIDENTIFIER FnCallArguments + private static boolean PrimaryTypeExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryTypeExpr_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, BUILTINIDENTIFIER); + result_ = result_ && FnCallArguments(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // DOT InitList + private static boolean PrimaryTypeExpr_4(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryTypeExpr_4")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, DOT); + result_ = result_ && InitList(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_COMPTIME TypeExpr + private static boolean PrimaryTypeExpr_13(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PrimaryTypeExpr_13")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_COMPTIME); + result_ = result_ && TypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // PIPE (ASTERISK? IDENTIFIER COMMA)* (ASTERISK? IDENTIFIER) PIPE + public static boolean PtrIndexPayload(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrIndexPayload")) return false; + if (!nextTokenIs(builder_, PIPE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, PIPE); + result_ = result_ && PtrIndexPayload_1(builder_, level_ + 1); + result_ = result_ && PtrIndexPayload_2(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, PIPE); + exit_section_(builder_, marker_, PTR_INDEX_PAYLOAD, result_); + return result_; + } + + // (ASTERISK? IDENTIFIER COMMA)* + private static boolean PtrIndexPayload_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrIndexPayload_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!PtrIndexPayload_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "PtrIndexPayload_1", pos_)) break; + } + return true; + } + + // ASTERISK? IDENTIFIER COMMA + private static boolean PtrIndexPayload_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrIndexPayload_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = PtrIndexPayload_1_0_0(builder_, level_ + 1); + result_ = result_ && consumeTokens(builder_, 0, IDENTIFIER, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ASTERISK? + private static boolean PtrIndexPayload_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrIndexPayload_1_0_0")) return false; + consumeToken(builder_, ASTERISK); + return true; + } + + // ASTERISK? IDENTIFIER + private static boolean PtrIndexPayload_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrIndexPayload_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = PtrIndexPayload_2_0(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, IDENTIFIER); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ASTERISK? + private static boolean PtrIndexPayload_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrIndexPayload_2_0")) return false; + consumeToken(builder_, ASTERISK); + return true; + } + + /* ********************************************************** */ + // PIPE ASTERISK? IDENTIFIER PIPE + public static boolean PtrPayload(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrPayload")) return false; + if (!nextTokenIs(builder_, PIPE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, PIPE); + result_ = result_ && PtrPayload_1(builder_, level_ + 1); + result_ = result_ && consumeTokens(builder_, 0, IDENTIFIER, PIPE); + exit_section_(builder_, marker_, PTR_PAYLOAD, result_); + return result_; + } + + // ASTERISK? + private static boolean PtrPayload_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrPayload_1")) return false; + consumeToken(builder_, ASTERISK); + return true; + } + + /* ********************************************************** */ + // ASTERISK + // | ASTERISK2 + // | LBRACKET ASTERISK ("c" | COLON Expr)? RBRACKET + public static boolean PtrTypeStart(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrTypeStart")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, PTR_TYPE_START, ""); + result_ = consumeToken(builder_, ASTERISK); + if (!result_) result_ = consumeToken(builder_, ASTERISK2); + if (!result_) result_ = PtrTypeStart_2(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // LBRACKET ASTERISK ("c" | COLON Expr)? RBRACKET + private static boolean PtrTypeStart_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrTypeStart_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, LBRACKET, ASTERISK); + result_ = result_ && PtrTypeStart_2_2(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RBRACKET); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ("c" | COLON Expr)? + private static boolean PtrTypeStart_2_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrTypeStart_2_2")) return false; + PtrTypeStart_2_2_0(builder_, level_ + 1); + return true; + } + + // "c" | COLON Expr + private static boolean PtrTypeStart_2_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrTypeStart_2_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, "c"); + if (!result_) result_ = PtrTypeStart_2_2_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // COLON Expr + private static boolean PtrTypeStart_2_2_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PtrTypeStart_2_2_0_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // CONTAINER_DOC_COMMENT? ContainerMembers? + static boolean Root(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Root")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = Root_0(builder_, level_ + 1); + result_ = result_ && Root_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // CONTAINER_DOC_COMMENT? + private static boolean Root_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Root_0")) return false; + consumeToken(builder_, CONTAINER_DOC_COMMENT); + return true; + } + + // ContainerMembers? + private static boolean Root_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Root_1")) return false; + ContainerMembers(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // Expr (AssignOp Expr)? + public static boolean SingleAssignExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SingleAssignExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, SINGLE_ASSIGN_EXPR, ""); + result_ = Expr(builder_, level_ + 1); + result_ = result_ && SingleAssignExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (AssignOp Expr)? + private static boolean SingleAssignExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SingleAssignExpr_1")) return false; + SingleAssignExpr_1_0(builder_, level_ + 1); + return true; + } + + // AssignOp Expr + private static boolean SingleAssignExpr_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SingleAssignExpr_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignOp(builder_, level_ + 1); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // LBRACKET (COLON Expr)? RBRACKET + public static boolean SliceTypeStart(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SliceTypeStart")) return false; + if (!nextTokenIs(builder_, LBRACKET)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, LBRACKET); + result_ = result_ && SliceTypeStart_1(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RBRACKET); + exit_section_(builder_, marker_, SLICE_TYPE_START, result_); + return result_; + } + + // (COLON Expr)? + private static boolean SliceTypeStart_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SliceTypeStart_1")) return false; + SliceTypeStart_1_0(builder_, level_ + 1); + return true; + } + + // COLON Expr + private static boolean SliceTypeStart_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SliceTypeStart_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_COMPTIME ComptimeStatement + // | KEYWORD_NOSUSPEND BlockExprStatement + // | KEYWORD_SUSPEND BlockExprStatement + // | KEYWORD_DEFER BlockExprStatement + // | KEYWORD_ERRDEFER Payload? BlockExprStatement + // | IfStatement + // | LabeledStatement + // | VarDeclExprStatement + public static boolean Statement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Statement")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, STATEMENT, ""); + result_ = Statement_0(builder_, level_ + 1); + if (!result_) result_ = Statement_1(builder_, level_ + 1); + if (!result_) result_ = Statement_2(builder_, level_ + 1); + if (!result_) result_ = Statement_3(builder_, level_ + 1); + if (!result_) result_ = Statement_4(builder_, level_ + 1); + if (!result_) result_ = IfStatement(builder_, level_ + 1); + if (!result_) result_ = LabeledStatement(builder_, level_ + 1); + if (!result_) result_ = VarDeclExprStatement(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_COMPTIME ComptimeStatement + private static boolean Statement_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Statement_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_COMPTIME); + result_ = result_ && ComptimeStatement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_NOSUSPEND BlockExprStatement + private static boolean Statement_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Statement_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_NOSUSPEND); + result_ = result_ && BlockExprStatement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_SUSPEND BlockExprStatement + private static boolean Statement_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Statement_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_SUSPEND); + result_ = result_ && BlockExprStatement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_DEFER BlockExprStatement + private static boolean Statement_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Statement_3")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_DEFER); + result_ = result_ && BlockExprStatement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_ERRDEFER Payload? BlockExprStatement + private static boolean Statement_4(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Statement_4")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ERRDEFER); + result_ = result_ && Statement_4_1(builder_, level_ + 1); + result_ = result_ && BlockExprStatement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean Statement_4_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Statement_4_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // (StringLiteral COMMA)* StringLiteral? + public static boolean StringList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "StringList")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, STRING_LIST, ""); + result_ = StringList_0(builder_, level_ + 1); + result_ = result_ && StringList_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (StringLiteral COMMA)* + private static boolean StringList_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "StringList_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!StringList_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "StringList_0", pos_)) break; + } + return true; + } + + // StringLiteral COMMA + private static boolean StringList_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "StringList_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = StringLiteral(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // StringLiteral? + private static boolean StringList_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "StringList_1")) return false; + StringLiteral(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // STRING_LITERAL_SINGLE | STRING_LITERAL_MULTI + public static boolean StringLiteral(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "StringLiteral")) return false; + if (!nextTokenIs(builder_, "", STRING_LITERAL_MULTI, STRING_LITERAL_SINGLE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, STRING_LITERAL, ""); + result_ = consumeToken(builder_, STRING_LITERAL_SINGLE); + if (!result_) result_ = consumeToken(builder_, STRING_LITERAL_MULTI); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_ASYNC PrimaryTypeExpr SuffixOp* FnCallArguments + // | PrimaryTypeExpr (SuffixOp | FnCallArguments)* + public static boolean SuffixExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, SUFFIX_EXPR, ""); + result_ = SuffixExpr_0(builder_, level_ + 1); + if (!result_) result_ = SuffixExpr_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // KEYWORD_ASYNC PrimaryTypeExpr SuffixOp* FnCallArguments + private static boolean SuffixExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixExpr_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ASYNC); + result_ = result_ && PrimaryTypeExpr(builder_, level_ + 1); + result_ = result_ && SuffixExpr_0_2(builder_, level_ + 1); + result_ = result_ && FnCallArguments(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // SuffixOp* + private static boolean SuffixExpr_0_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixExpr_0_2")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!SuffixOp(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "SuffixExpr_0_2", pos_)) break; + } + return true; + } + + // PrimaryTypeExpr (SuffixOp | FnCallArguments)* + private static boolean SuffixExpr_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixExpr_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = PrimaryTypeExpr(builder_, level_ + 1); + result_ = result_ && SuffixExpr_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (SuffixOp | FnCallArguments)* + private static boolean SuffixExpr_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixExpr_1_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!SuffixExpr_1_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "SuffixExpr_1_1", pos_)) break; + } + return true; + } + + // SuffixOp | FnCallArguments + private static boolean SuffixExpr_1_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixExpr_1_1_0")) return false; + boolean result_; + result_ = SuffixOp(builder_, level_ + 1); + if (!result_) result_ = FnCallArguments(builder_, level_ + 1); + return result_; + } + + /* ********************************************************** */ + // LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET + // | DOT IDENTIFIER + // | DOTASTERISK + // | DOTQUESTIONMARK + public static boolean SuffixOp(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, SUFFIX_OP, ""); + result_ = SuffixOp_0(builder_, level_ + 1); + if (!result_) result_ = parseTokens(builder_, 0, DOT, IDENTIFIER); + if (!result_) result_ = consumeToken(builder_, DOTASTERISK); + if (!result_) result_ = consumeToken(builder_, DOTQUESTIONMARK); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET + private static boolean SuffixOp_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, LBRACKET); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && SuffixOp_0_2(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RBRACKET); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (DOT2 (Expr? (COLON Expr)?)?)? + private static boolean SuffixOp_0_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0_2")) return false; + SuffixOp_0_2_0(builder_, level_ + 1); + return true; + } + + // DOT2 (Expr? (COLON Expr)?)? + private static boolean SuffixOp_0_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, DOT2); + result_ = result_ && SuffixOp_0_2_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (Expr? (COLON Expr)?)? + private static boolean SuffixOp_0_2_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0_2_0_1")) return false; + SuffixOp_0_2_0_1_0(builder_, level_ + 1); + return true; + } + + // Expr? (COLON Expr)? + private static boolean SuffixOp_0_2_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0_2_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = SuffixOp_0_2_0_1_0_0(builder_, level_ + 1); + result_ = result_ && SuffixOp_0_2_0_1_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Expr? + private static boolean SuffixOp_0_2_0_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0_2_0_1_0_0")) return false; + Expr(builder_, level_ + 1); + return true; + } + + // (COLON Expr)? + private static boolean SuffixOp_0_2_0_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0_2_0_1_0_1")) return false; + SuffixOp_0_2_0_1_0_1_0(builder_, level_ + 1); + return true; + } + + // COLON Expr + private static boolean SuffixOp_0_2_0_1_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SuffixOp_0_2_0_1_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // SwitchItem (COMMA SwitchItem)* COMMA? + // | KEYWORD_ELSE + public static boolean SwitchCase(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchCase")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, SWITCH_CASE, ""); + result_ = SwitchCase_0(builder_, level_ + 1); + if (!result_) result_ = consumeToken(builder_, KEYWORD_ELSE); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // SwitchItem (COMMA SwitchItem)* COMMA? + private static boolean SwitchCase_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchCase_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = SwitchItem(builder_, level_ + 1); + result_ = result_ && SwitchCase_0_1(builder_, level_ + 1); + result_ = result_ && SwitchCase_0_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (COMMA SwitchItem)* + private static boolean SwitchCase_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchCase_0_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!SwitchCase_0_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "SwitchCase_0_1", pos_)) break; + } + return true; + } + + // COMMA SwitchItem + private static boolean SwitchCase_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchCase_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COMMA); + result_ = result_ && SwitchItem(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // COMMA? + private static boolean SwitchCase_0_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchCase_0_2")) return false; + consumeToken(builder_, COMMA); + return true; + } + + /* ********************************************************** */ + // KEYWORD_SWITCH LPAREN Expr RPAREN LBRACE SwitchProngList RBRACE + public static boolean SwitchExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_SWITCH)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, SWITCH_EXPR, null); + result_ = consumeTokens(builder_, 1, KEYWORD_SWITCH, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, Expr(builder_, level_ + 1)); + result_ = pinned_ && report_error_(builder_, consumeTokens(builder_, -1, RPAREN, LBRACE)) && result_; + result_ = pinned_ && report_error_(builder_, SwitchProngList(builder_, level_ + 1)) && result_; + result_ = pinned_ && consumeToken(builder_, RBRACE) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // Expr (DOT3 Expr)? + public static boolean SwitchItem(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchItem")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, SWITCH_ITEM, ""); + result_ = Expr(builder_, level_ + 1); + result_ = result_ && SwitchItem_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (DOT3 Expr)? + private static boolean SwitchItem_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchItem_1")) return false; + SwitchItem_1_0(builder_, level_ + 1); + return true; + } + + // DOT3 Expr + private static boolean SwitchItem_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchItem_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, DOT3); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // KEYWORD_INLINE? SwitchCase EQUALRARROW PtrIndexPayload? SingleAssignExpr + public static boolean SwitchProng(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchProng")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, SWITCH_PRONG, ""); + result_ = SwitchProng_0(builder_, level_ + 1); + result_ = result_ && SwitchCase(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, EQUALRARROW); + pinned_ = result_; // pin = 3 + result_ = result_ && report_error_(builder_, SwitchProng_3(builder_, level_ + 1)); + result_ = pinned_ && SingleAssignExpr(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // KEYWORD_INLINE? + private static boolean SwitchProng_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchProng_0")) return false; + consumeToken(builder_, KEYWORD_INLINE); + return true; + } + + // PtrIndexPayload? + private static boolean SwitchProng_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchProng_3")) return false; + PtrIndexPayload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // (ZB_SwitchProngList_SwitchProng COMMA)* ZB_SwitchProngList_SwitchProng? + public static boolean SwitchProngList(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchProngList")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, SWITCH_PRONG_LIST, ""); + result_ = SwitchProngList_0(builder_, level_ + 1); + result_ = result_ && SwitchProngList_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // (ZB_SwitchProngList_SwitchProng COMMA)* + private static boolean SwitchProngList_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchProngList_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!SwitchProngList_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "SwitchProngList_0", pos_)) break; + } + return true; + } + + // ZB_SwitchProngList_SwitchProng COMMA + private static boolean SwitchProngList_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchProngList_0_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ZB_SwitchProngList_SwitchProng(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, COMMA); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ZB_SwitchProngList_SwitchProng? + private static boolean SwitchProngList_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SwitchProngList_1")) return false; + ZB_SwitchProngList_SwitchProng(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // KEYWORD_TEST (STRING_LITERAL_SINGLE | IDENTIFIER)? Block + public static boolean TestDecl(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "TestDecl")) return false; + if (!nextTokenIs(builder_, KEYWORD_TEST)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, TEST_DECL, null); + result_ = consumeToken(builder_, KEYWORD_TEST); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, TestDecl_1(builder_, level_ + 1)); + result_ = pinned_ && Block(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (STRING_LITERAL_SINGLE | IDENTIFIER)? + private static boolean TestDecl_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "TestDecl_1")) return false; + TestDecl_1_0(builder_, level_ + 1); + return true; + } + + // STRING_LITERAL_SINGLE | IDENTIFIER + private static boolean TestDecl_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "TestDecl_1_0")) return false; + boolean result_; + result_ = consumeToken(builder_, STRING_LITERAL_SINGLE); + if (!result_) result_ = consumeToken(builder_, IDENTIFIER); + return result_; + } + + /* ********************************************************** */ + // PrefixTypeOp* ErrorUnionExpr + public static boolean TypeExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "TypeExpr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, TYPE_EXPR, ""); + result_ = TypeExpr_0(builder_, level_ + 1); + result_ = result_ && ErrorUnionExpr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // PrefixTypeOp* + private static boolean TypeExpr_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "TypeExpr_0")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!PrefixTypeOp(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "TypeExpr_0", pos_)) break; + } + return true; + } + + /* ********************************************************** */ + // VarDeclProto (COMMA (VarDeclProto | Expr))* EQUAL Expr SEMICOLON + // | Expr (AssignOp Expr | (COMMA (VarDeclProto | Expr))+ EQUAL Expr)? SEMICOLON + public static boolean VarDeclExprStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, VAR_DECL_EXPR_STATEMENT, ""); + result_ = VarDeclExprStatement_0(builder_, level_ + 1); + if (!result_) result_ = VarDeclExprStatement_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // VarDeclProto (COMMA (VarDeclProto | Expr))* EQUAL Expr SEMICOLON + private static boolean VarDeclExprStatement_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = VarDeclProto(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, VarDeclExprStatement_0_1(builder_, level_ + 1)); + result_ = pinned_ && report_error_(builder_, consumeToken(builder_, EQUAL)) && result_; + result_ = pinned_ && report_error_(builder_, Expr(builder_, level_ + 1)) && result_; + result_ = pinned_ && consumeToken(builder_, SEMICOLON) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (COMMA (VarDeclProto | Expr))* + private static boolean VarDeclExprStatement_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_0_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!VarDeclExprStatement_0_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "VarDeclExprStatement_0_1", pos_)) break; + } + return true; + } + + // COMMA (VarDeclProto | Expr) + private static boolean VarDeclExprStatement_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_0_1_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, COMMA); + pinned_ = result_; // pin = 1 + result_ = result_ && VarDeclExprStatement_0_1_0_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // VarDeclProto | Expr + private static boolean VarDeclExprStatement_0_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_0_1_0_1")) return false; + boolean result_; + result_ = VarDeclProto(builder_, level_ + 1); + if (!result_) result_ = Expr(builder_, level_ + 1); + return result_; + } + + // Expr (AssignOp Expr | (COMMA (VarDeclProto | Expr))+ EQUAL Expr)? SEMICOLON + private static boolean VarDeclExprStatement_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = Expr(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, VarDeclExprStatement_1_1(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, SEMICOLON) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (AssignOp Expr | (COMMA (VarDeclProto | Expr))+ EQUAL Expr)? + private static boolean VarDeclExprStatement_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1_1")) return false; + VarDeclExprStatement_1_1_0(builder_, level_ + 1); + return true; + } + + // AssignOp Expr | (COMMA (VarDeclProto | Expr))+ EQUAL Expr + private static boolean VarDeclExprStatement_1_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = VarDeclExprStatement_1_1_0_0(builder_, level_ + 1); + if (!result_) result_ = VarDeclExprStatement_1_1_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // AssignOp Expr + private static boolean VarDeclExprStatement_1_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1_1_0_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = AssignOp(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (COMMA (VarDeclProto | Expr))+ EQUAL Expr + private static boolean VarDeclExprStatement_1_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1_1_0_1")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = VarDeclExprStatement_1_1_0_1_0(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, consumeToken(builder_, EQUAL)); + result_ = pinned_ && Expr(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // (COMMA (VarDeclProto | Expr))+ + private static boolean VarDeclExprStatement_1_1_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1_1_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = VarDeclExprStatement_1_1_0_1_0_0(builder_, level_ + 1); + while (result_) { + int pos_ = current_position_(builder_); + if (!VarDeclExprStatement_1_1_0_1_0_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "VarDeclExprStatement_1_1_0_1_0", pos_)) break; + } + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // COMMA (VarDeclProto | Expr) + private static boolean VarDeclExprStatement_1_1_0_1_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1_1_0_1_0_0")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, COMMA); + pinned_ = result_; // pin = 1 + result_ = result_ && VarDeclExprStatement_1_1_0_1_0_0_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // VarDeclProto | Expr + private static boolean VarDeclExprStatement_1_1_0_1_0_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclExprStatement_1_1_0_1_0_0_1")) return false; + boolean result_; + result_ = VarDeclProto(builder_, level_ + 1); + if (!result_) result_ = Expr(builder_, level_ + 1); + return result_; + } + + /* ********************************************************** */ + // (KEYWORD_CONST | KEYWORD_VAR) IDENTIFIER (COLON TypeExpr)? ByteAlign? AddrSpace? LinkSection? + public static boolean VarDeclProto(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclProto")) return false; + if (!nextTokenIs(builder_, "", KEYWORD_CONST, KEYWORD_VAR)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, VAR_DECL_PROTO, ""); + result_ = VarDeclProto_0(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, consumeToken(builder_, IDENTIFIER)); + result_ = pinned_ && report_error_(builder_, VarDeclProto_2(builder_, level_ + 1)) && result_; + result_ = pinned_ && report_error_(builder_, VarDeclProto_3(builder_, level_ + 1)) && result_; + result_ = pinned_ && report_error_(builder_, VarDeclProto_4(builder_, level_ + 1)) && result_; + result_ = pinned_ && VarDeclProto_5(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // KEYWORD_CONST | KEYWORD_VAR + private static boolean VarDeclProto_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclProto_0")) return false; + boolean result_; + result_ = consumeToken(builder_, KEYWORD_CONST); + if (!result_) result_ = consumeToken(builder_, KEYWORD_VAR); + return result_; + } + + // (COLON TypeExpr)? + private static boolean VarDeclProto_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclProto_2")) return false; + VarDeclProto_2_0(builder_, level_ + 1); + return true; + } + + // COLON TypeExpr + private static boolean VarDeclProto_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclProto_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COLON); + result_ = result_ && TypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ByteAlign? + private static boolean VarDeclProto_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclProto_3")) return false; + ByteAlign(builder_, level_ + 1); + return true; + } + + // AddrSpace? + private static boolean VarDeclProto_4(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclProto_4")) return false; + AddrSpace(builder_, level_ + 1); + return true; + } + + // LinkSection? + private static boolean VarDeclProto_5(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "VarDeclProto_5")) return false; + LinkSection(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // COLON LPAREN AssignExpr RPAREN + public static boolean WhileContinueExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileContinueExpr")) return false; + if (!nextTokenIs(builder_, COLON)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeTokens(builder_, 0, COLON, LPAREN); + result_ = result_ && AssignExpr(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, RPAREN); + exit_section_(builder_, marker_, WHILE_CONTINUE_EXPR, result_); + return result_; + } + + /* ********************************************************** */ + // WhilePrefix Expr (KEYWORD_ELSE Payload? Expr)? + public static boolean WhileExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_WHILE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = WhilePrefix(builder_, level_ + 1); + result_ = result_ && Expr(builder_, level_ + 1); + result_ = result_ && WhileExpr_2(builder_, level_ + 1); + exit_section_(builder_, marker_, WHILE_EXPR, result_); + return result_; + } + + // (KEYWORD_ELSE Payload? Expr)? + private static boolean WhileExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileExpr_2")) return false; + WhileExpr_2_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Payload? Expr + private static boolean WhileExpr_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileExpr_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && WhileExpr_2_0_1(builder_, level_ + 1); + result_ = result_ && Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean WhileExpr_2_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileExpr_2_0_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // KEYWORD_WHILE ZB_WhilePrefix_Operand PtrPayload? WhileContinueExpr? + public static boolean WhilePrefix(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhilePrefix")) return false; + if (!nextTokenIs(builder_, KEYWORD_WHILE)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, WHILE_PREFIX, null); + result_ = consumeToken(builder_, KEYWORD_WHILE); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, ZB_WhilePrefix_Operand(builder_, level_ + 1)); + result_ = pinned_ && report_error_(builder_, WhilePrefix_2(builder_, level_ + 1)) && result_; + result_ = pinned_ && WhilePrefix_3(builder_, level_ + 1) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + // PtrPayload? + private static boolean WhilePrefix_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhilePrefix_2")) return false; + PtrPayload(builder_, level_ + 1); + return true; + } + + // WhileContinueExpr? + private static boolean WhilePrefix_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhilePrefix_3")) return false; + WhileContinueExpr(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // WhilePrefix ZB_WhileStatement_Body + public static boolean WhileStatement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileStatement")) return false; + if (!nextTokenIs(builder_, KEYWORD_WHILE)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, WHILE_STATEMENT, null); + result_ = WhilePrefix(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && ZB_WhileStatement_Body(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // WhilePrefix TypeExpr (KEYWORD_ELSE Payload? TypeExpr)? + public static boolean WhileTypeExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileTypeExpr")) return false; + if (!nextTokenIs(builder_, KEYWORD_WHILE)) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = WhilePrefix(builder_, level_ + 1); + result_ = result_ && TypeExpr(builder_, level_ + 1); + result_ = result_ && WhileTypeExpr_2(builder_, level_ + 1); + exit_section_(builder_, marker_, WHILE_TYPE_EXPR, result_); + return result_; + } + + // (KEYWORD_ELSE Payload? TypeExpr)? + private static boolean WhileTypeExpr_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileTypeExpr_2")) return false; + WhileTypeExpr_2_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Payload? TypeExpr + private static boolean WhileTypeExpr_2_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileTypeExpr_2_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && WhileTypeExpr_2_0_1(builder_, level_ + 1); + result_ = result_ && TypeExpr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean WhileTypeExpr_2_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "WhileTypeExpr_2_0_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // AssignExpr SEMICOLON + static boolean ZB_BlockExprStatement_AssignExpr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_BlockExprStatement_AssignExpr")) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = AssignExpr(builder_, level_ + 1); + pinned_ = result_; // pin = 1 + result_ = result_ && consumeToken(builder_, SEMICOLON); + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // Statement* + static boolean ZB_Block_Statement(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_Block_Statement")) return false; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + while (true) { + int pos_ = current_position_(builder_); + if (!Statement(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ZB_Block_Statement", pos_)) break; + } + exit_section_(builder_, level_, marker_, true, false, ZigParser::ZB_Block_Statement_recover); + return true; + } + + /* ********************************************************** */ + // !(RBRACE) + static boolean ZB_Block_Statement_recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_Block_Statement_recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !consumeToken(builder_, RBRACE); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // ContainerMembers + static boolean ZB_ContainerDeclAuto_ContainerMembers(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ContainerDeclAuto_ContainerMembers")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = ContainerMembers(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_ContainerDeclAuto_ContainerMembers_recover); + return result_; + } + + /* ********************************************************** */ + // !(RBRACE) + static boolean ZB_ContainerDeclAuto_ContainerMembers_recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ContainerDeclAuto_ContainerMembers_recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !consumeToken(builder_, RBRACE); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // Expr + static boolean ZB_ContainerDeclType_Expr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ContainerDeclType_Expr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = Expr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_ContainerDeclType_Expr_recover); + return result_; + } + + /* ********************************************************** */ + // !(RPAREN) + static boolean ZB_ContainerDeclType_Expr_recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ContainerDeclType_Expr_recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !consumeToken(builder_, RPAREN); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // Expr + static boolean ZB_ExprList_Expr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ExprList_Expr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = Expr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_ExprList_recover); + return result_; + } + + /* ********************************************************** */ + // !(RPAREN | COMMA) + static boolean ZB_ExprList_recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ExprList_recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !ZB_ExprList_recover_0(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // RPAREN | COMMA + private static boolean ZB_ExprList_recover_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ExprList_recover_0")) return false; + boolean result_; + result_ = consumeToken(builder_, RPAREN); + if (!result_) result_ = consumeToken(builder_, COMMA); + return result_; + } + + /* ********************************************************** */ + // !(COMMA | RPAREN) + static boolean ZB_ForInput_Recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForInput_Recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !ZB_ForInput_Recover_0(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // COMMA | RPAREN + private static boolean ZB_ForInput_Recover_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForInput_Recover_0")) return false; + boolean result_; + result_ = consumeToken(builder_, COMMA); + if (!result_) result_ = consumeToken(builder_, RPAREN); + return result_; + } + + /* ********************************************************** */ + // ForInput (COMMA ForInput)* COMMA? + static boolean ZB_ForParams(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForParams")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = ForInput(builder_, level_ + 1); + result_ = result_ && ZB_ForParams_1(builder_, level_ + 1); + result_ = result_ && ZB_ForParams_2(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_ForParams_Recover); + return result_; + } + + // (COMMA ForInput)* + private static boolean ZB_ForParams_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForParams_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ZB_ForParams_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ZB_ForParams_1", pos_)) break; + } + return true; + } + + // COMMA ForInput + private static boolean ZB_ForParams_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForParams_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COMMA); + result_ = result_ && ForInput(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // COMMA? + private static boolean ZB_ForParams_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForParams_2")) return false; + consumeToken(builder_, COMMA); + return true; + } + + /* ********************************************************** */ + // !(RPAREN) + static boolean ZB_ForParams_Recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForParams_Recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !consumeToken(builder_, RPAREN); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + /* ********************************************************** */ + // ASTERISK? IDENTIFIER + static boolean ZB_ForPayload_Item(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForPayload_Item")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = ZB_ForPayload_Item_0(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, IDENTIFIER); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_ForPayload_Recover); + return result_; + } + + // ASTERISK? + private static boolean ZB_ForPayload_Item_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForPayload_Item_0")) return false; + consumeToken(builder_, ASTERISK); + return true; + } + + /* ********************************************************** */ + // !(COMMA | PIPE) + static boolean ZB_ForPayload_Recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForPayload_Recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !ZB_ForPayload_Recover_0(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // COMMA | PIPE + private static boolean ZB_ForPayload_Recover_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForPayload_Recover_0")) return false; + boolean result_; + result_ = consumeToken(builder_, COMMA); + if (!result_) result_ = consumeToken(builder_, PIPE); + return result_; + } + + /* ********************************************************** */ + // BlockExpr ( KEYWORD_ELSE Statement )? + // | AssignExpr ( SEMICOLON | KEYWORD_ELSE Statement ) + static boolean ZB_ForStatement_Body(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForStatement_Body")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ZB_ForStatement_Body_0(builder_, level_ + 1); + if (!result_) result_ = ZB_ForStatement_Body_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BlockExpr ( KEYWORD_ELSE Statement )? + private static boolean ZB_ForStatement_Body_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForStatement_Body_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = BlockExpr(builder_, level_ + 1); + result_ = result_ && ZB_ForStatement_Body_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ( KEYWORD_ELSE Statement )? + private static boolean ZB_ForStatement_Body_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForStatement_Body_0_1")) return false; + ZB_ForStatement_Body_0_1_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Statement + private static boolean ZB_ForStatement_Body_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForStatement_Body_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && Statement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // AssignExpr ( SEMICOLON | KEYWORD_ELSE Statement ) + private static boolean ZB_ForStatement_Body_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForStatement_Body_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignExpr(builder_, level_ + 1); + result_ = result_ && ZB_ForStatement_Body_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // SEMICOLON | KEYWORD_ELSE Statement + private static boolean ZB_ForStatement_Body_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForStatement_Body_1_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, SEMICOLON); + if (!result_) result_ = ZB_ForStatement_Body_1_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_ELSE Statement + private static boolean ZB_ForStatement_Body_1_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_ForStatement_Body_1_1_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && Statement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // LPAREN Expr RPAREN + static boolean ZB_IfPrefix_Operand(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfPrefix_Operand")) return false; + if (!nextTokenIs(builder_, LPAREN)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, Expr(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RPAREN) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // BlockExpr ( KEYWORD_ELSE Payload? Statement )? + // | AssignExpr ( SEMICOLON | KEYWORD_ELSE Payload? Statement ) + static boolean ZB_IfStatement_Body(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ZB_IfStatement_Body_0(builder_, level_ + 1); + if (!result_) result_ = ZB_IfStatement_Body_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BlockExpr ( KEYWORD_ELSE Payload? Statement )? + private static boolean ZB_IfStatement_Body_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = BlockExpr(builder_, level_ + 1); + result_ = result_ && ZB_IfStatement_Body_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ( KEYWORD_ELSE Payload? Statement )? + private static boolean ZB_IfStatement_Body_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_0_1")) return false; + ZB_IfStatement_Body_0_1_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Payload? Statement + private static boolean ZB_IfStatement_Body_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && ZB_IfStatement_Body_0_1_0_1(builder_, level_ + 1); + result_ = result_ && Statement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean ZB_IfStatement_Body_0_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_0_1_0_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + // AssignExpr ( SEMICOLON | KEYWORD_ELSE Payload? Statement ) + private static boolean ZB_IfStatement_Body_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignExpr(builder_, level_ + 1); + result_ = result_ && ZB_IfStatement_Body_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // SEMICOLON | KEYWORD_ELSE Payload? Statement + private static boolean ZB_IfStatement_Body_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_1_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, SEMICOLON); + if (!result_) result_ = ZB_IfStatement_Body_1_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_ELSE Payload? Statement + private static boolean ZB_IfStatement_Body_1_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_1_1_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && ZB_IfStatement_Body_1_1_1_1(builder_, level_ + 1); + result_ = result_ && Statement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean ZB_IfStatement_Body_1_1_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_IfStatement_Body_1_1_1_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + /* ********************************************************** */ + // FieldInit (COMMA ZB_InitList_FieldInit)* COMMA? + // | Expr (COMMA ZB_InitList_Expr)* COMMA? + // | () + static boolean ZB_InitList_Body(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ZB_InitList_Body_0(builder_, level_ + 1); + if (!result_) result_ = ZB_InitList_Body_1(builder_, level_ + 1); + if (!result_) result_ = ZB_InitList_Body_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // FieldInit (COMMA ZB_InitList_FieldInit)* COMMA? + private static boolean ZB_InitList_Body_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = FieldInit(builder_, level_ + 1); + result_ = result_ && ZB_InitList_Body_0_1(builder_, level_ + 1); + result_ = result_ && ZB_InitList_Body_0_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (COMMA ZB_InitList_FieldInit)* + private static boolean ZB_InitList_Body_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_0_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ZB_InitList_Body_0_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ZB_InitList_Body_0_1", pos_)) break; + } + return true; + } + + // COMMA ZB_InitList_FieldInit + private static boolean ZB_InitList_Body_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COMMA); + result_ = result_ && ZB_InitList_FieldInit(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // COMMA? + private static boolean ZB_InitList_Body_0_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_0_2")) return false; + consumeToken(builder_, COMMA); + return true; + } + + // Expr (COMMA ZB_InitList_Expr)* COMMA? + private static boolean ZB_InitList_Body_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = Expr(builder_, level_ + 1); + result_ = result_ && ZB_InitList_Body_1_1(builder_, level_ + 1); + result_ = result_ && ZB_InitList_Body_1_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (COMMA ZB_InitList_Expr)* + private static boolean ZB_InitList_Body_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_1_1")) return false; + while (true) { + int pos_ = current_position_(builder_); + if (!ZB_InitList_Body_1_1_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "ZB_InitList_Body_1_1", pos_)) break; + } + return true; + } + + // COMMA ZB_InitList_Expr + private static boolean ZB_InitList_Body_1_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_1_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, COMMA); + result_ = result_ && ZB_InitList_Expr(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // COMMA? + private static boolean ZB_InitList_Body_1_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Body_1_2")) return false; + consumeToken(builder_, COMMA); + return true; + } + + // () + private static boolean ZB_InitList_Body_2(PsiBuilder builder_, int level_) { + return true; + } + + /* ********************************************************** */ + // Expr + static boolean ZB_InitList_Expr(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Expr")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = Expr(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_InitList_Recover); + return result_; + } + + /* ********************************************************** */ + // FieldInit + static boolean ZB_InitList_FieldInit(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_FieldInit")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = FieldInit(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_InitList_Recover); + return result_; + } + + /* ********************************************************** */ + // !(COMMA | RBRACE) + static boolean ZB_InitList_Recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !ZB_InitList_Recover_0(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // COMMA | RBRACE + private static boolean ZB_InitList_Recover_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_InitList_Recover_0")) return false; + boolean result_; + result_ = consumeToken(builder_, COMMA); + if (!result_) result_ = consumeToken(builder_, RBRACE); + return result_; + } + + /* ********************************************************** */ + // !(COMMA | RBRACE) + static boolean ZB_SwitchProngList_Recover(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_SwitchProngList_Recover")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NOT_); + result_ = !ZB_SwitchProngList_Recover_0(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, null); + return result_; + } + + // COMMA | RBRACE + private static boolean ZB_SwitchProngList_Recover_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_SwitchProngList_Recover_0")) return false; + boolean result_; + result_ = consumeToken(builder_, COMMA); + if (!result_) result_ = consumeToken(builder_, RBRACE); + return result_; + } + + /* ********************************************************** */ + // SwitchProng + static boolean ZB_SwitchProngList_SwitchProng(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_SwitchProngList_SwitchProng")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = SwitchProng(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, result_, false, ZigParser::ZB_SwitchProngList_Recover); + return result_; + } + + /* ********************************************************** */ + // LPAREN Expr RPAREN + static boolean ZB_WhilePrefix_Operand(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhilePrefix_Operand")) return false; + if (!nextTokenIs(builder_, LPAREN)) return false; + boolean result_, pinned_; + Marker marker_ = enter_section_(builder_, level_, _NONE_); + result_ = consumeToken(builder_, LPAREN); + pinned_ = result_; // pin = 1 + result_ = result_ && report_error_(builder_, Expr(builder_, level_ + 1)); + result_ = pinned_ && consumeToken(builder_, RPAREN) && result_; + exit_section_(builder_, level_, marker_, result_, pinned_, null); + return result_ || pinned_; + } + + /* ********************************************************** */ + // BlockExpr ( KEYWORD_ELSE Payload? Statement )? + // | AssignExpr ( SEMICOLON | KEYWORD_ELSE Payload? Statement) + static boolean ZB_WhileStatement_Body(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = ZB_WhileStatement_Body_0(builder_, level_ + 1); + if (!result_) result_ = ZB_WhileStatement_Body_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // BlockExpr ( KEYWORD_ELSE Payload? Statement )? + private static boolean ZB_WhileStatement_Body_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = BlockExpr(builder_, level_ + 1); + result_ = result_ && ZB_WhileStatement_Body_0_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // ( KEYWORD_ELSE Payload? Statement )? + private static boolean ZB_WhileStatement_Body_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_0_1")) return false; + ZB_WhileStatement_Body_0_1_0(builder_, level_ + 1); + return true; + } + + // KEYWORD_ELSE Payload? Statement + private static boolean ZB_WhileStatement_Body_0_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_0_1_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && ZB_WhileStatement_Body_0_1_0_1(builder_, level_ + 1); + result_ = result_ && Statement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean ZB_WhileStatement_Body_0_1_0_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_0_1_0_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + + // AssignExpr ( SEMICOLON | KEYWORD_ELSE Payload? Statement) + private static boolean ZB_WhileStatement_Body_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = AssignExpr(builder_, level_ + 1); + result_ = result_ && ZB_WhileStatement_Body_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // SEMICOLON | KEYWORD_ELSE Payload? Statement + private static boolean ZB_WhileStatement_Body_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_1_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, SEMICOLON); + if (!result_) result_ = ZB_WhileStatement_Body_1_1_1(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // KEYWORD_ELSE Payload? Statement + private static boolean ZB_WhileStatement_Body_1_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_1_1_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, KEYWORD_ELSE); + result_ = result_ && ZB_WhileStatement_Body_1_1_1_1(builder_, level_ + 1); + result_ = result_ && Statement(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Payload? + private static boolean ZB_WhileStatement_Body_1_1_1_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "ZB_WhileStatement_Body_1_1_1_1")) return false; + Payload(builder_, level_ + 1); + return true; + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAdditionExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAdditionExpr.java new file mode 100644 index 000000000..b863ca81f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAdditionExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigAdditionExpr extends ZigExpr { + + @NotNull + List getAdditionOpList(); + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAdditionOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAdditionOp.java new file mode 100644 index 000000000..e9cbb83c0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAdditionOp.java @@ -0,0 +1,30 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigAdditionOp extends PsiElement { + + @Nullable + PsiElement getMinus(); + + @Nullable + PsiElement getMinuspercent(); + + @Nullable + PsiElement getMinuspipe(); + + @Nullable + PsiElement getPlus(); + + @Nullable + PsiElement getPlus2(); + + @Nullable + PsiElement getPluspercent(); + + @Nullable + PsiElement getPluspipe(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAddrSpace.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAddrSpace.java new file mode 100644 index 000000000..3728a1bb4 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAddrSpace.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigAddrSpace extends PsiElement { + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getKeywordAddrspace(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigArrayTypeStart.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigArrayTypeStart.java new file mode 100644 index 000000000..aedbd9309 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigArrayTypeStart.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigArrayTypeStart extends PsiElement { + + @NotNull + List getExprList(); + + @Nullable + PsiElement getColon(); + + @NotNull + PsiElement getLbracket(); + + @NotNull + PsiElement getRbracket(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmClobbers.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmClobbers.java new file mode 100644 index 000000000..e2eef948d --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmClobbers.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigAsmClobbers extends PsiElement { + + @NotNull + ZigStringList getStringList(); + + @NotNull + PsiElement getColon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmExpr.java new file mode 100644 index 000000000..006b782f5 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmExpr.java @@ -0,0 +1,28 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigAsmExpr extends ZigExpr { + + @Nullable + ZigAsmOutput getAsmOutput(); + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getKeywordAsm(); + + @Nullable + PsiElement getKeywordVolatile(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInput.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInput.java new file mode 100644 index 000000000..7e919f0ea --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInput.java @@ -0,0 +1,19 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigAsmInput extends PsiElement { + + @Nullable + ZigAsmClobbers getAsmClobbers(); + + @NotNull + ZigAsmInputList getAsmInputList(); + + @NotNull + PsiElement getColon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInputItem.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInputItem.java new file mode 100644 index 000000000..b8240cf25 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInputItem.java @@ -0,0 +1,30 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigAsmInputItem extends PsiElement { + + @NotNull + ZigExpr getExpr(); + + @NotNull + ZigStringLiteral getStringLiteral(); + + @NotNull + PsiElement getIdentifier(); + + @NotNull + PsiElement getLbracket(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRbracket(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInputList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInputList.java new file mode 100644 index 000000000..bfdaf850e --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmInputList.java @@ -0,0 +1,14 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigAsmInputList extends PsiElement { + + @NotNull + List getAsmInputItemList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutput.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutput.java new file mode 100644 index 000000000..de73ae1d3 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutput.java @@ -0,0 +1,19 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigAsmOutput extends PsiElement { + + @Nullable + ZigAsmInput getAsmInput(); + + @NotNull + ZigAsmOutputList getAsmOutputList(); + + @NotNull + PsiElement getColon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutputItem.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutputItem.java new file mode 100644 index 000000000..be0ad2134 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutputItem.java @@ -0,0 +1,31 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigAsmOutputItem extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @NotNull + ZigStringLiteral getStringLiteral(); + + @NotNull + PsiElement getLbracket(); + + @NotNull + PsiElement getLparen(); + + @Nullable + PsiElement getMinusrarrow(); + + @NotNull + PsiElement getRbracket(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutputList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutputList.java new file mode 100644 index 000000000..89b94bd88 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAsmOutputList.java @@ -0,0 +1,14 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigAsmOutputList extends PsiElement { + + @NotNull + List getAsmOutputItemList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAssignExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAssignExpr.java new file mode 100644 index 000000000..26c8a8367 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAssignExpr.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigAssignExpr extends ZigExpr { + + @Nullable + ZigAssignOp getAssignOp(); + + @NotNull + List getExprList(); + + @Nullable + PsiElement getEqual(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAssignOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAssignOp.java new file mode 100644 index 000000000..965974924 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigAssignOp.java @@ -0,0 +1,63 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigAssignOp extends PsiElement { + + @Nullable + PsiElement getAmpersandequal(); + + @Nullable + PsiElement getAsteriskequal(); + + @Nullable + PsiElement getAsteriskpercentequal(); + + @Nullable + PsiElement getAsteriskpipeequal(); + + @Nullable + PsiElement getCaretequal(); + + @Nullable + PsiElement getEqual(); + + @Nullable + PsiElement getLarrow2Equal(); + + @Nullable + PsiElement getLarrow2Pipeequal(); + + @Nullable + PsiElement getMinusequal(); + + @Nullable + PsiElement getMinuspercentequal(); + + @Nullable + PsiElement getMinuspipeequal(); + + @Nullable + PsiElement getPercentequal(); + + @Nullable + PsiElement getPipeequal(); + + @Nullable + PsiElement getPlusequal(); + + @Nullable + PsiElement getPluspercentequal(); + + @Nullable + PsiElement getPluspipeequal(); + + @Nullable + PsiElement getRarrow2Equal(); + + @Nullable + PsiElement getSlashequal(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitShiftExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitShiftExpr.java new file mode 100644 index 000000000..6e555ea4f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitShiftExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigBitShiftExpr extends ZigExpr { + + @NotNull + List getBitShiftOpList(); + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitShiftOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitShiftOp.java new file mode 100644 index 000000000..f8675801c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitShiftOp.java @@ -0,0 +1,18 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigBitShiftOp extends PsiElement { + + @Nullable + PsiElement getLarrow2(); + + @Nullable + PsiElement getLarrow2Pipe(); + + @Nullable + PsiElement getRarrow2(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitwiseExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitwiseExpr.java new file mode 100644 index 000000000..b4abbc8d5 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitwiseExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigBitwiseExpr extends ZigExpr { + + @NotNull + List getBitwiseOpList(); + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitwiseOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitwiseOp.java new file mode 100644 index 000000000..0d7fff2c8 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBitwiseOp.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigBitwiseOp extends PsiElement { + + @Nullable + ZigPayload getPayload(); + + @Nullable + PsiElement getAmpersand(); + + @Nullable + PsiElement getCaret(); + + @Nullable + PsiElement getKeywordCatch(); + + @Nullable + PsiElement getKeywordOrelse(); + + @Nullable + PsiElement getPipe(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlock.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlock.java new file mode 100644 index 000000000..d0f2bb561 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlock.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigBlock extends PsiElement { + + @NotNull + List getStatementList(); + + @NotNull + PsiElement getLbrace(); + + @Nullable + PsiElement getRbrace(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockExpr.java new file mode 100644 index 000000000..037e85d4a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockExpr.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigBlockExpr extends ZigExpr { + + @NotNull + ZigBlock getBlock(); + + @Nullable + ZigBlockLabel getBlockLabel(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockExprStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockExprStatement.java new file mode 100644 index 000000000..12f5b84b9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockExprStatement.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigBlockExprStatement extends PsiElement { + + @NotNull + ZigExpr getExpr(); + + @Nullable + PsiElement getSemicolon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockLabel.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockLabel.java new file mode 100644 index 000000000..774144cda --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBlockLabel.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigBlockLabel extends PsiElement { + + @NotNull + PsiElement getColon(); + + @NotNull + PsiElement getIdentifier(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBoolAndExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBoolAndExpr.java new file mode 100644 index 000000000..c2e8df7e3 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBoolAndExpr.java @@ -0,0 +1,13 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigBoolAndExpr extends ZigExpr { + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBoolOrExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBoolOrExpr.java new file mode 100644 index 000000000..25a21b7ba --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBoolOrExpr.java @@ -0,0 +1,13 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigBoolOrExpr extends ZigExpr { + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBreakLabel.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBreakLabel.java new file mode 100644 index 000000000..abf4b1d8d --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigBreakLabel.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigBreakLabel extends PsiElement { + + @NotNull + PsiElement getColon(); + + @NotNull + PsiElement getIdentifier(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigByteAlign.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigByteAlign.java new file mode 100644 index 000000000..5fbd3dc65 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigByteAlign.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigByteAlign extends PsiElement { + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getKeywordAlign(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCallConv.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCallConv.java new file mode 100644 index 000000000..9338342ca --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCallConv.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigCallConv extends PsiElement { + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getKeywordCallconv(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCompareExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCompareExpr.java new file mode 100644 index 000000000..80715288e --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCompareExpr.java @@ -0,0 +1,17 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigCompareExpr extends ZigExpr { + + @Nullable + ZigCompareOp getCompareOp(); + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCompareOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCompareOp.java new file mode 100644 index 000000000..369bab04c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCompareOp.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigCompareOp extends PsiElement { + + @Nullable + PsiElement getEqualequal(); + + @Nullable + PsiElement getExclamationmarkequal(); + + @Nullable + PsiElement getLarrow(); + + @Nullable + PsiElement getLarrowequal(); + + @Nullable + PsiElement getRarrow(); + + @Nullable + PsiElement getRarrowequal(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigComptimeDecl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigComptimeDecl.java new file mode 100644 index 000000000..aec4917df --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigComptimeDecl.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigComptimeDecl extends PsiElement { + + @NotNull + ZigBlock getBlock(); + + @NotNull + PsiElement getKeywordComptime(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigComptimeStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigComptimeStatement.java new file mode 100644 index 000000000..fb3f687e5 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigComptimeStatement.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigComptimeStatement extends PsiElement { + + @Nullable + ZigBlockExpr getBlockExpr(); + + @Nullable + ZigVarDeclExprStatement getVarDeclExprStatement(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDecl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDecl.java new file mode 100644 index 000000000..fffcff313 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDecl.java @@ -0,0 +1,19 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigContainerDecl extends PsiElement { + + @NotNull + ZigContainerDeclAuto getContainerDeclAuto(); + + @Nullable + PsiElement getKeywordExtern(); + + @Nullable + PsiElement getKeywordPacked(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclAuto.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclAuto.java new file mode 100644 index 000000000..0d19730d4 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclAuto.java @@ -0,0 +1,25 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigContainerDeclAuto extends PsiElement { + + @NotNull + ZigContainerDeclType getContainerDeclType(); + + @Nullable + ZigContainerMembers getContainerMembers(); + + @Nullable + PsiElement getContainerDocComment(); + + @NotNull + PsiElement getLbrace(); + + @Nullable + PsiElement getRbrace(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclType.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclType.java new file mode 100644 index 000000000..a800cc57f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclType.java @@ -0,0 +1,30 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigContainerDeclType extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @Nullable + PsiElement getKeywordEnum(); + + @Nullable + PsiElement getKeywordOpaque(); + + @Nullable + PsiElement getKeywordStruct(); + + @Nullable + PsiElement getKeywordUnion(); + + @Nullable + PsiElement getLparen(); + + @Nullable + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclaration.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclaration.java new file mode 100644 index 000000000..a17ab6326 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerDeclaration.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigContainerDeclaration extends PsiElement { + + @Nullable + ZigComptimeDecl getComptimeDecl(); + + @Nullable + ZigDecl getDecl(); + + @Nullable + ZigTestDecl getTestDecl(); + + @Nullable + PsiElement getDocComment(); + + @Nullable + PsiElement getKeywordPub(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerField.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerField.java new file mode 100644 index 000000000..d5b7ff0cb --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerField.java @@ -0,0 +1,33 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigContainerField extends PsiElement { + + @Nullable + ZigByteAlign getByteAlign(); + + @NotNull + List getExprList(); + + @Nullable + PsiElement getColon(); + + @Nullable + PsiElement getDocComment(); + + @Nullable + PsiElement getEqual(); + + @Nullable + PsiElement getIdentifier(); + + @Nullable + PsiElement getKeywordComptime(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerMembers.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerMembers.java new file mode 100644 index 000000000..3593c9256 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigContainerMembers.java @@ -0,0 +1,17 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigContainerMembers extends PsiElement { + + @NotNull + List getContainerDeclarationList(); + + @NotNull + List getContainerFieldList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCurlySuffixExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCurlySuffixExpr.java new file mode 100644 index 000000000..f9725e572 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigCurlySuffixExpr.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigCurlySuffixExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @Nullable + ZigInitList getInitList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigDecl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigDecl.java new file mode 100644 index 000000000..af46d3157 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigDecl.java @@ -0,0 +1,45 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigDecl extends PsiElement { + + @Nullable + ZigBlock getBlock(); + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigFnProto getFnProto(); + + @Nullable + ZigGlobalVarDecl getGlobalVarDecl(); + + @Nullable + PsiElement getKeywordExport(); + + @Nullable + PsiElement getKeywordExtern(); + + @Nullable + PsiElement getKeywordInline(); + + @Nullable + PsiElement getKeywordNoinline(); + + @Nullable + PsiElement getKeywordThreadlocal(); + + @Nullable + PsiElement getKeywordUsingnamespace(); + + @Nullable + PsiElement getSemicolon(); + + @Nullable + PsiElement getStringLiteralSingle(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigErrorSetDecl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigErrorSetDecl.java new file mode 100644 index 000000000..0dd5f5d34 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigErrorSetDecl.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigErrorSetDecl extends PsiElement { + + @NotNull + ZigIdentifierList getIdentifierList(); + + @NotNull + PsiElement getKeywordError(); + + @NotNull + PsiElement getLbrace(); + + @NotNull + PsiElement getRbrace(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigErrorUnionExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigErrorUnionExpr.java new file mode 100644 index 000000000..470aa23ba --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigErrorUnionExpr.java @@ -0,0 +1,18 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigErrorUnionExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @Nullable + PsiElement getExclamationmark(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigExpr.java new file mode 100644 index 000000000..6ae450c1f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigExpr.java @@ -0,0 +1,8 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; + +public interface ZigExpr extends PsiElement { + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigExprList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigExprList.java new file mode 100644 index 000000000..b36befcfa --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigExprList.java @@ -0,0 +1,14 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigExprList extends PsiElement { + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFieldInit.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFieldInit.java new file mode 100644 index 000000000..38a7fd4a6 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFieldInit.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigFieldInit extends PsiElement { + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getDot(); + + @NotNull + PsiElement getEqual(); + + @NotNull + PsiElement getIdentifier(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFnCallArguments.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFnCallArguments.java new file mode 100644 index 000000000..1b9e64624 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFnCallArguments.java @@ -0,0 +1,19 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigFnCallArguments extends PsiElement { + + @Nullable + ZigExprList getExprList(); + + @NotNull + PsiElement getLparen(); + + @Nullable + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFnProto.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFnProto.java new file mode 100644 index 000000000..fc3a8737b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigFnProto.java @@ -0,0 +1,43 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigFnProto extends PsiElement { + + @Nullable + ZigAddrSpace getAddrSpace(); + + @Nullable + ZigByteAlign getByteAlign(); + + @Nullable + ZigCallConv getCallConv(); + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigLinkSection getLinkSection(); + + @Nullable + ZigParamDeclList getParamDeclList(); + + @Nullable + PsiElement getExclamationmark(); + + @Nullable + PsiElement getIdentifier(); + + @NotNull + PsiElement getKeywordFn(); + + @Nullable + PsiElement getLparen(); + + @Nullable + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForExpr.java new file mode 100644 index 000000000..c92a5b799 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForExpr.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigForExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @NotNull + ZigForPrefix getForPrefix(); + + @Nullable + PsiElement getKeywordElse(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForInput.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForInput.java new file mode 100644 index 000000000..a19deff9c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForInput.java @@ -0,0 +1,18 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigForInput extends PsiElement { + + @NotNull + List getExprList(); + + @Nullable + PsiElement getDot2(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForPayload.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForPayload.java new file mode 100644 index 000000000..e2bfa19fa --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForPayload.java @@ -0,0 +1,8 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; + +public interface ZigForPayload extends PsiElement { + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForPrefix.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForPrefix.java new file mode 100644 index 000000000..21855dd70 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForPrefix.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigForPrefix extends PsiElement { + + @NotNull + List getForInputList(); + + @Nullable + ZigForPayload getForPayload(); + + @NotNull + PsiElement getKeywordFor(); + + @Nullable + PsiElement getLparen(); + + @Nullable + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForStatement.java new file mode 100644 index 000000000..b5b8df1e5 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForStatement.java @@ -0,0 +1,25 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigForStatement extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @NotNull + ZigForPrefix getForPrefix(); + + @Nullable + ZigStatement getStatement(); + + @Nullable + PsiElement getKeywordElse(); + + @Nullable + PsiElement getSemicolon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForTypeExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForTypeExpr.java new file mode 100644 index 000000000..9ec0e389d --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigForTypeExpr.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigForTypeExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @NotNull + ZigForPrefix getForPrefix(); + + @Nullable + PsiElement getKeywordElse(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigGlobalVarDecl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigGlobalVarDecl.java new file mode 100644 index 000000000..c2afae18d --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigGlobalVarDecl.java @@ -0,0 +1,22 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigGlobalVarDecl extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @NotNull + ZigVarDeclProto getVarDeclProto(); + + @Nullable + PsiElement getEqual(); + + @Nullable + PsiElement getSemicolon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigGroupedExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigGroupedExpr.java new file mode 100644 index 000000000..d3d7ca424 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigGroupedExpr.java @@ -0,0 +1,18 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigGroupedExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIdentifierList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIdentifierList.java new file mode 100644 index 000000000..d4c034486 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIdentifierList.java @@ -0,0 +1,8 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; + +public interface ZigIdentifierList extends PsiElement { + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfExpr.java new file mode 100644 index 000000000..c98fb844a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfExpr.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigIfExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @NotNull + ZigIfPrefix getIfPrefix(); + + @Nullable + ZigPayload getPayload(); + + @Nullable + PsiElement getKeywordElse(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfPrefix.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfPrefix.java new file mode 100644 index 000000000..b866b8db8 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfPrefix.java @@ -0,0 +1,25 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigIfPrefix extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigPtrPayload getPtrPayload(); + + @NotNull + PsiElement getKeywordIf(); + + @Nullable + PsiElement getLparen(); + + @Nullable + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfStatement.java new file mode 100644 index 000000000..9f610e51b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfStatement.java @@ -0,0 +1,28 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigIfStatement extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @NotNull + ZigIfPrefix getIfPrefix(); + + @Nullable + ZigPayload getPayload(); + + @Nullable + ZigStatement getStatement(); + + @Nullable + PsiElement getKeywordElse(); + + @Nullable + PsiElement getSemicolon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfTypeExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfTypeExpr.java new file mode 100644 index 000000000..eaabdbc07 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigIfTypeExpr.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigIfTypeExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @NotNull + ZigIfPrefix getIfPrefix(); + + @Nullable + ZigPayload getPayload(); + + @Nullable + PsiElement getKeywordElse(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigInitList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigInitList.java new file mode 100644 index 000000000..6dc84e8e2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigInitList.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigInitList extends PsiElement { + + @NotNull + List getExprList(); + + @NotNull + List getFieldInitList(); + + @NotNull + PsiElement getLbrace(); + + @Nullable + PsiElement getRbrace(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLabeledStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLabeledStatement.java new file mode 100644 index 000000000..a1796831f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLabeledStatement.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigLabeledStatement extends PsiElement { + + @Nullable + ZigBlock getBlock(); + + @Nullable + ZigBlockLabel getBlockLabel(); + + @Nullable + ZigLoopStatement getLoopStatement(); + + @Nullable + ZigSwitchExpr getSwitchExpr(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLabeledTypeExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLabeledTypeExpr.java new file mode 100644 index 000000000..21b8469ad --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLabeledTypeExpr.java @@ -0,0 +1,17 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.Nullable; + +public interface ZigLabeledTypeExpr extends ZigExpr { + + @Nullable + ZigBlock getBlock(); + + @Nullable + ZigBlockLabel getBlockLabel(); + + @Nullable + ZigExpr getExpr(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLinkSection.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLinkSection.java new file mode 100644 index 000000000..a52a6b12c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLinkSection.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigLinkSection extends PsiElement { + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getKeywordLinksection(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopExpr.java new file mode 100644 index 000000000..860887de9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigLoopExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @Nullable + PsiElement getKeywordInline(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopStatement.java new file mode 100644 index 000000000..42dd63580 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopStatement.java @@ -0,0 +1,18 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigLoopStatement extends PsiElement { + + @Nullable + ZigForStatement getForStatement(); + + @Nullable + ZigWhileStatement getWhileStatement(); + + @Nullable + PsiElement getKeywordInline(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopTypeExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopTypeExpr.java new file mode 100644 index 000000000..7fea4711d --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigLoopTypeExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigLoopTypeExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @Nullable + PsiElement getKeywordInline(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigMultiplyExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigMultiplyExpr.java new file mode 100644 index 000000000..95db195a9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigMultiplyExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigMultiplyExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @NotNull + List getMultiplyOpList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigMultiplyOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigMultiplyOp.java new file mode 100644 index 000000000..47b4a3248 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigMultiplyOp.java @@ -0,0 +1,30 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigMultiplyOp extends PsiElement { + + @Nullable + PsiElement getAsterisk(); + + @Nullable + PsiElement getAsterisk2(); + + @Nullable + PsiElement getAsteriskpercent(); + + @Nullable + PsiElement getAsteriskpipe(); + + @Nullable + PsiElement getPercent(); + + @Nullable + PsiElement getPipe2(); + + @Nullable + PsiElement getSlash(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamDecl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamDecl.java new file mode 100644 index 000000000..9e2f7def2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamDecl.java @@ -0,0 +1,30 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigParamDecl extends PsiElement { + + @Nullable + ZigParamType getParamType(); + + @Nullable + PsiElement getColon(); + + @Nullable + PsiElement getDocComment(); + + @Nullable + PsiElement getDot3(); + + @Nullable + PsiElement getIdentifier(); + + @Nullable + PsiElement getKeywordComptime(); + + @Nullable + PsiElement getKeywordNoalias(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamDeclList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamDeclList.java new file mode 100644 index 000000000..85d0fbc55 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamDeclList.java @@ -0,0 +1,14 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigParamDeclList extends PsiElement { + + @NotNull + List getParamDeclList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamType.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamType.java new file mode 100644 index 000000000..6bb58293b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigParamType.java @@ -0,0 +1,15 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigParamType extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @Nullable + PsiElement getKeywordAnytype(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPayload.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPayload.java new file mode 100644 index 000000000..efbc4e3f2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPayload.java @@ -0,0 +1,12 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigPayload extends PsiElement { + + @NotNull + PsiElement getIdentifier(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixExpr.java new file mode 100644 index 000000000..a60253ba1 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigPrefixExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @NotNull + List getPrefixOpList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixOp.java new file mode 100644 index 000000000..38686f719 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixOp.java @@ -0,0 +1,30 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigPrefixOp extends PsiElement { + + @Nullable + PsiElement getAmpersand(); + + @Nullable + PsiElement getExclamationmark(); + + @Nullable + PsiElement getKeywordAwait(); + + @Nullable + PsiElement getKeywordTry(); + + @Nullable + PsiElement getMinus(); + + @Nullable + PsiElement getMinuspercent(); + + @Nullable + PsiElement getTilde(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixTypeOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixTypeOp.java new file mode 100644 index 000000000..a480b02f0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrefixTypeOp.java @@ -0,0 +1,39 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigPrefixTypeOp extends PsiElement { + + @NotNull + List getAddrSpaceList(); + + @Nullable + ZigArrayTypeStart getArrayTypeStart(); + + @NotNull + List getByteAlignList(); + + @NotNull + List getExprList(); + + @Nullable + ZigPtrTypeStart getPtrTypeStart(); + + @Nullable + ZigSliceTypeStart getSliceTypeStart(); + + @Nullable + PsiElement getKeywordAnyframe(); + + @Nullable + PsiElement getMinusrarrow(); + + @Nullable + PsiElement getQuestionmark(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrimaryExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrimaryExpr.java new file mode 100644 index 000000000..503368729 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrimaryExpr.java @@ -0,0 +1,39 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigPrimaryExpr extends ZigExpr { + + @Nullable + ZigBlock getBlock(); + + @Nullable + ZigBlockLabel getBlockLabel(); + + @Nullable + ZigBreakLabel getBreakLabel(); + + @Nullable + ZigExpr getExpr(); + + @Nullable + PsiElement getKeywordBreak(); + + @Nullable + PsiElement getKeywordComptime(); + + @Nullable + PsiElement getKeywordContinue(); + + @Nullable + PsiElement getKeywordNosuspend(); + + @Nullable + PsiElement getKeywordResume(); + + @Nullable + PsiElement getKeywordReturn(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrimaryTypeExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrimaryTypeExpr.java new file mode 100644 index 000000000..f8d462c24 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPrimaryTypeExpr.java @@ -0,0 +1,60 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigPrimaryTypeExpr extends ZigExpr { + + @Nullable + ZigContainerDecl getContainerDecl(); + + @Nullable + ZigErrorSetDecl getErrorSetDecl(); + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigFnCallArguments getFnCallArguments(); + + @Nullable + ZigFnProto getFnProto(); + + @Nullable + ZigInitList getInitList(); + + @Nullable + ZigStringLiteral getStringLiteral(); + + @Nullable + PsiElement getBuiltinidentifier(); + + @Nullable + PsiElement getCharLiteral(); + + @Nullable + PsiElement getDot(); + + @Nullable + PsiElement getFloat(); + + @Nullable + PsiElement getIdentifier(); + + @Nullable + PsiElement getInteger(); + + @Nullable + PsiElement getKeywordAnyframe(); + + @Nullable + PsiElement getKeywordComptime(); + + @Nullable + PsiElement getKeywordError(); + + @Nullable + PsiElement getKeywordUnreachable(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrIndexPayload.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrIndexPayload.java new file mode 100644 index 000000000..dea22eb03 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrIndexPayload.java @@ -0,0 +1,8 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; + +public interface ZigPtrIndexPayload extends PsiElement { + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrPayload.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrPayload.java new file mode 100644 index 000000000..c6c2635ec --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrPayload.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigPtrPayload extends PsiElement { + + @Nullable + PsiElement getAsterisk(); + + @NotNull + PsiElement getIdentifier(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrTypeStart.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrTypeStart.java new file mode 100644 index 000000000..cae2fe8c2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigPtrTypeStart.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigPtrTypeStart extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @Nullable + PsiElement getAsterisk(); + + @Nullable + PsiElement getAsterisk2(); + + @Nullable + PsiElement getColon(); + + @Nullable + PsiElement getLbracket(); + + @Nullable + PsiElement getRbracket(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSingleAssignExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSingleAssignExpr.java new file mode 100644 index 000000000..d33e2a167 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSingleAssignExpr.java @@ -0,0 +1,17 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigSingleAssignExpr extends ZigExpr { + + @Nullable + ZigAssignOp getAssignOp(); + + @NotNull + List getExprList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSliceTypeStart.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSliceTypeStart.java new file mode 100644 index 000000000..3255a1169 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSliceTypeStart.java @@ -0,0 +1,22 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigSliceTypeStart extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @Nullable + PsiElement getColon(); + + @NotNull + PsiElement getLbracket(); + + @NotNull + PsiElement getRbracket(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStatement.java new file mode 100644 index 000000000..63e18da95 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStatement.java @@ -0,0 +1,42 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigStatement extends PsiElement { + + @Nullable + ZigBlockExprStatement getBlockExprStatement(); + + @Nullable + ZigComptimeStatement getComptimeStatement(); + + @Nullable + ZigIfStatement getIfStatement(); + + @Nullable + ZigLabeledStatement getLabeledStatement(); + + @Nullable + ZigPayload getPayload(); + + @Nullable + ZigVarDeclExprStatement getVarDeclExprStatement(); + + @Nullable + PsiElement getKeywordComptime(); + + @Nullable + PsiElement getKeywordDefer(); + + @Nullable + PsiElement getKeywordErrdefer(); + + @Nullable + PsiElement getKeywordNosuspend(); + + @Nullable + PsiElement getKeywordSuspend(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStringList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStringList.java new file mode 100644 index 000000000..75f061a25 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStringList.java @@ -0,0 +1,14 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigStringList extends PsiElement { + + @NotNull + List getStringLiteralList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStringLiteral.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStringLiteral.java new file mode 100644 index 000000000..7ad338810 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigStringLiteral.java @@ -0,0 +1,7 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; + +public interface ZigStringLiteral extends PsiElement { +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSuffixExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSuffixExpr.java new file mode 100644 index 000000000..029f07421 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSuffixExpr.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigSuffixExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @NotNull + List getFnCallArgumentsList(); + + @NotNull + List getSuffixOpList(); + + @Nullable + PsiElement getKeywordAsync(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSuffixOp.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSuffixOp.java new file mode 100644 index 000000000..2ba2683ef --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSuffixOp.java @@ -0,0 +1,39 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigSuffixOp extends PsiElement { + + @NotNull + List getExprList(); + + @Nullable + PsiElement getColon(); + + @Nullable + PsiElement getDot(); + + @Nullable + PsiElement getDot2(); + + @Nullable + PsiElement getDotasterisk(); + + @Nullable + PsiElement getDotquestionmark(); + + @Nullable + PsiElement getIdentifier(); + + @Nullable + PsiElement getLbracket(); + + @Nullable + PsiElement getRbracket(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchCase.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchCase.java new file mode 100644 index 000000000..c07a3894f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchCase.java @@ -0,0 +1,18 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigSwitchCase extends PsiElement { + + @NotNull + List getSwitchItemList(); + + @Nullable + PsiElement getKeywordElse(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchExpr.java new file mode 100644 index 000000000..eb2fb7a12 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchExpr.java @@ -0,0 +1,31 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigSwitchExpr extends ZigExpr { + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigSwitchProngList getSwitchProngList(); + + @NotNull + PsiElement getKeywordSwitch(); + + @Nullable + PsiElement getLbrace(); + + @Nullable + PsiElement getLparen(); + + @Nullable + PsiElement getRbrace(); + + @Nullable + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchItem.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchItem.java new file mode 100644 index 000000000..70f42ab1f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchItem.java @@ -0,0 +1,18 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigSwitchItem extends PsiElement { + + @NotNull + List getExprList(); + + @Nullable + PsiElement getDot3(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchProng.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchProng.java new file mode 100644 index 000000000..a1156c00f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchProng.java @@ -0,0 +1,25 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigSwitchProng extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigPtrIndexPayload getPtrIndexPayload(); + + @NotNull + ZigSwitchCase getSwitchCase(); + + @NotNull + PsiElement getEqualrarrow(); + + @Nullable + PsiElement getKeywordInline(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchProngList.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchProngList.java new file mode 100644 index 000000000..8a5b40455 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigSwitchProngList.java @@ -0,0 +1,14 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigSwitchProngList extends PsiElement { + + @NotNull + List getSwitchProngList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTestDecl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTestDecl.java new file mode 100644 index 000000000..f4272ac04 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTestDecl.java @@ -0,0 +1,22 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigTestDecl extends PsiElement { + + @Nullable + ZigBlock getBlock(); + + @Nullable + PsiElement getIdentifier(); + + @NotNull + PsiElement getKeywordTest(); + + @Nullable + PsiElement getStringLiteralSingle(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTypeExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTypeExpr.java new file mode 100644 index 000000000..a155e473f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTypeExpr.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface ZigTypeExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @NotNull + List getPrefixTypeOpList(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTypes.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTypes.java new file mode 100644 index 000000000..21a51c5dd --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigTypes.java @@ -0,0 +1,546 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.falsepattern.zigbrains.zig.parser.ZigElementType; +import com.falsepattern.zigbrains.zig.parser.ZigTokenType; +import com.falsepattern.zigbrains.zig.psi.impl.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.tree.IElementType; + +public interface ZigTypes { + + IElementType ADDITION_EXPR = new ZigElementType("ADDITION_EXPR"); + IElementType ADDITION_OP = new ZigElementType("ADDITION_OP"); + IElementType ADDR_SPACE = new ZigElementType("ADDR_SPACE"); + IElementType ARRAY_TYPE_START = new ZigElementType("ARRAY_TYPE_START"); + IElementType ASM_CLOBBERS = new ZigElementType("ASM_CLOBBERS"); + IElementType ASM_EXPR = new ZigElementType("ASM_EXPR"); + IElementType ASM_INPUT = new ZigElementType("ASM_INPUT"); + IElementType ASM_INPUT_ITEM = new ZigElementType("ASM_INPUT_ITEM"); + IElementType ASM_INPUT_LIST = new ZigElementType("ASM_INPUT_LIST"); + IElementType ASM_OUTPUT = new ZigElementType("ASM_OUTPUT"); + IElementType ASM_OUTPUT_ITEM = new ZigElementType("ASM_OUTPUT_ITEM"); + IElementType ASM_OUTPUT_LIST = new ZigElementType("ASM_OUTPUT_LIST"); + IElementType ASSIGN_EXPR = new ZigElementType("ASSIGN_EXPR"); + IElementType ASSIGN_OP = new ZigElementType("ASSIGN_OP"); + IElementType BITWISE_EXPR = new ZigElementType("BITWISE_EXPR"); + IElementType BITWISE_OP = new ZigElementType("BITWISE_OP"); + IElementType BIT_SHIFT_EXPR = new ZigElementType("BIT_SHIFT_EXPR"); + IElementType BIT_SHIFT_OP = new ZigElementType("BIT_SHIFT_OP"); + IElementType BLOCK = new ZigElementType("BLOCK"); + IElementType BLOCK_EXPR = new ZigElementType("BLOCK_EXPR"); + IElementType BLOCK_EXPR_STATEMENT = new ZigElementType("BLOCK_EXPR_STATEMENT"); + IElementType BLOCK_LABEL = new ZigElementType("BLOCK_LABEL"); + IElementType BOOL_AND_EXPR = new ZigElementType("BOOL_AND_EXPR"); + IElementType BOOL_OR_EXPR = new ZigElementType("BOOL_OR_EXPR"); + IElementType BREAK_LABEL = new ZigElementType("BREAK_LABEL"); + IElementType BYTE_ALIGN = new ZigElementType("BYTE_ALIGN"); + IElementType CALL_CONV = new ZigElementType("CALL_CONV"); + IElementType COMPARE_EXPR = new ZigElementType("COMPARE_EXPR"); + IElementType COMPARE_OP = new ZigElementType("COMPARE_OP"); + IElementType COMPTIME_DECL = new ZigElementType("COMPTIME_DECL"); + IElementType COMPTIME_STATEMENT = new ZigElementType("COMPTIME_STATEMENT"); + IElementType CONTAINER_DECL = new ZigElementType("CONTAINER_DECL"); + IElementType CONTAINER_DECLARATION = new ZigElementType("CONTAINER_DECLARATION"); + IElementType CONTAINER_DECL_AUTO = new ZigElementType("CONTAINER_DECL_AUTO"); + IElementType CONTAINER_DECL_TYPE = new ZigElementType("CONTAINER_DECL_TYPE"); + IElementType CONTAINER_FIELD = new ZigElementType("CONTAINER_FIELD"); + IElementType CONTAINER_MEMBERS = new ZigElementType("CONTAINER_MEMBERS"); + IElementType CURLY_SUFFIX_EXPR = new ZigElementType("CURLY_SUFFIX_EXPR"); + IElementType DECL = new ZigElementType("DECL"); + IElementType ERROR_SET_DECL = new ZigElementType("ERROR_SET_DECL"); + IElementType ERROR_UNION_EXPR = new ZigElementType("ERROR_UNION_EXPR"); + IElementType EXPR = new ZigElementType("EXPR"); + IElementType EXPR_LIST = new ZigElementType("EXPR_LIST"); + IElementType FIELD_INIT = new ZigElementType("FIELD_INIT"); + IElementType FN_CALL_ARGUMENTS = new ZigElementType("FN_CALL_ARGUMENTS"); + IElementType FN_PROTO = new ZigElementType("FN_PROTO"); + IElementType FOR_EXPR = new ZigElementType("FOR_EXPR"); + IElementType FOR_INPUT = new ZigElementType("FOR_INPUT"); + IElementType FOR_PAYLOAD = new ZigElementType("FOR_PAYLOAD"); + IElementType FOR_PREFIX = new ZigElementType("FOR_PREFIX"); + IElementType FOR_STATEMENT = new ZigElementType("FOR_STATEMENT"); + IElementType FOR_TYPE_EXPR = new ZigElementType("FOR_TYPE_EXPR"); + IElementType GLOBAL_VAR_DECL = new ZigElementType("GLOBAL_VAR_DECL"); + IElementType GROUPED_EXPR = new ZigElementType("GROUPED_EXPR"); + IElementType IDENTIFIER_LIST = new ZigElementType("IDENTIFIER_LIST"); + IElementType IF_EXPR = new ZigElementType("IF_EXPR"); + IElementType IF_PREFIX = new ZigElementType("IF_PREFIX"); + IElementType IF_STATEMENT = new ZigElementType("IF_STATEMENT"); + IElementType IF_TYPE_EXPR = new ZigElementType("IF_TYPE_EXPR"); + IElementType INIT_LIST = new ZigElementType("INIT_LIST"); + IElementType LABELED_STATEMENT = new ZigElementType("LABELED_STATEMENT"); + IElementType LABELED_TYPE_EXPR = new ZigElementType("LABELED_TYPE_EXPR"); + IElementType LINK_SECTION = new ZigElementType("LINK_SECTION"); + IElementType LOOP_EXPR = new ZigElementType("LOOP_EXPR"); + IElementType LOOP_STATEMENT = new ZigElementType("LOOP_STATEMENT"); + IElementType LOOP_TYPE_EXPR = new ZigElementType("LOOP_TYPE_EXPR"); + IElementType MULTIPLY_EXPR = new ZigElementType("MULTIPLY_EXPR"); + IElementType MULTIPLY_OP = new ZigElementType("MULTIPLY_OP"); + IElementType PARAM_DECL = new ZigElementType("PARAM_DECL"); + IElementType PARAM_DECL_LIST = new ZigElementType("PARAM_DECL_LIST"); + IElementType PARAM_TYPE = new ZigElementType("PARAM_TYPE"); + IElementType PAYLOAD = new ZigElementType("PAYLOAD"); + IElementType PREFIX_EXPR = new ZigElementType("PREFIX_EXPR"); + IElementType PREFIX_OP = new ZigElementType("PREFIX_OP"); + IElementType PREFIX_TYPE_OP = new ZigElementType("PREFIX_TYPE_OP"); + IElementType PRIMARY_EXPR = new ZigElementType("PRIMARY_EXPR"); + IElementType PRIMARY_TYPE_EXPR = new ZigElementType("PRIMARY_TYPE_EXPR"); + IElementType PTR_INDEX_PAYLOAD = new ZigElementType("PTR_INDEX_PAYLOAD"); + IElementType PTR_PAYLOAD = new ZigElementType("PTR_PAYLOAD"); + IElementType PTR_TYPE_START = new ZigElementType("PTR_TYPE_START"); + IElementType SINGLE_ASSIGN_EXPR = new ZigElementType("SINGLE_ASSIGN_EXPR"); + IElementType SLICE_TYPE_START = new ZigElementType("SLICE_TYPE_START"); + IElementType STATEMENT = new ZigElementType("STATEMENT"); + IElementType STRING_LIST = new ZigElementType("STRING_LIST"); + IElementType STRING_LITERAL = new ZigElementType("STRING_LITERAL"); + IElementType SUFFIX_EXPR = new ZigElementType("SUFFIX_EXPR"); + IElementType SUFFIX_OP = new ZigElementType("SUFFIX_OP"); + IElementType SWITCH_CASE = new ZigElementType("SWITCH_CASE"); + IElementType SWITCH_EXPR = new ZigElementType("SWITCH_EXPR"); + IElementType SWITCH_ITEM = new ZigElementType("SWITCH_ITEM"); + IElementType SWITCH_PRONG = new ZigElementType("SWITCH_PRONG"); + IElementType SWITCH_PRONG_LIST = new ZigElementType("SWITCH_PRONG_LIST"); + IElementType TEST_DECL = new ZigElementType("TEST_DECL"); + IElementType TYPE_EXPR = new ZigElementType("TYPE_EXPR"); + IElementType VAR_DECL_EXPR_STATEMENT = new ZigElementType("VAR_DECL_EXPR_STATEMENT"); + IElementType VAR_DECL_PROTO = new ZigElementType("VAR_DECL_PROTO"); + IElementType WHILE_CONTINUE_EXPR = new ZigElementType("WHILE_CONTINUE_EXPR"); + IElementType WHILE_EXPR = new ZigElementType("WHILE_EXPR"); + IElementType WHILE_PREFIX = new ZigElementType("WHILE_PREFIX"); + IElementType WHILE_STATEMENT = new ZigElementType("WHILE_STATEMENT"); + IElementType WHILE_TYPE_EXPR = new ZigElementType("WHILE_TYPE_EXPR"); + + IElementType AMPERSAND = new ZigTokenType("&"); + IElementType AMPERSANDEQUAL = new ZigTokenType("&="); + IElementType ASTERISK = new ZigTokenType("*"); + IElementType ASTERISK2 = new ZigTokenType("**"); + IElementType ASTERISKEQUAL = new ZigTokenType("*="); + IElementType ASTERISKPERCENT = new ZigTokenType("*%"); + IElementType ASTERISKPERCENTEQUAL = new ZigTokenType("*%="); + IElementType ASTERISKPIPE = new ZigTokenType("*|"); + IElementType ASTERISKPIPEEQUAL = new ZigTokenType("*|="); + IElementType BAD_DQUOT = new ZigTokenType("unterminated string"); + IElementType BAD_SQUOT = new ZigTokenType("unterminated character literal"); + IElementType BUILTINIDENTIFIER = new ZigTokenType("builtin identifier"); + IElementType CARET = new ZigTokenType("^"); + IElementType CARETEQUAL = new ZigTokenType("^="); + IElementType CHAR_LITERAL = new ZigTokenType("character literal"); + IElementType COLON = new ZigTokenType(":"); + IElementType COMMA = new ZigTokenType(","); + IElementType CONTAINER_DOC_COMMENT = new ZigTokenType("container doc comment"); + IElementType DOC_COMMENT = new ZigTokenType("doc comment"); + IElementType DOT = new ZigTokenType("."); + IElementType DOT2 = new ZigTokenType(".."); + IElementType DOT3 = new ZigTokenType("..."); + IElementType DOTASTERISK = new ZigTokenType(".*"); + IElementType DOTQUESTIONMARK = new ZigTokenType(".?"); + IElementType EQUAL = new ZigTokenType("="); + IElementType EQUALEQUAL = new ZigTokenType("=="); + IElementType EQUALRARROW = new ZigTokenType("=>"); + IElementType EXCLAMATIONMARK = new ZigTokenType("!"); + IElementType EXCLAMATIONMARKEQUAL = new ZigTokenType("!="); + IElementType FLOAT = new ZigTokenType("float"); + IElementType IDENTIFIER = new ZigTokenType("identifier"); + IElementType INTEGER = new ZigTokenType("integer"); + IElementType KEYWORD_ADDRSPACE = new ZigTokenType("addrspace"); + IElementType KEYWORD_ALIGN = new ZigTokenType("align"); + IElementType KEYWORD_ALLOWZERO = new ZigTokenType("allowzero"); + IElementType KEYWORD_AND = new ZigTokenType("and"); + IElementType KEYWORD_ANYFRAME = new ZigTokenType("anyframe"); + IElementType KEYWORD_ANYTYPE = new ZigTokenType("anytype"); + IElementType KEYWORD_ASM = new ZigTokenType("asm"); + IElementType KEYWORD_ASYNC = new ZigTokenType("async"); + IElementType KEYWORD_AWAIT = new ZigTokenType("await"); + IElementType KEYWORD_BREAK = new ZigTokenType("break"); + IElementType KEYWORD_CALLCONV = new ZigTokenType("callconv"); + IElementType KEYWORD_CATCH = new ZigTokenType("catch"); + IElementType KEYWORD_COMPTIME = new ZigTokenType("comptime"); + IElementType KEYWORD_CONST = new ZigTokenType("const"); + IElementType KEYWORD_CONTINUE = new ZigTokenType("continue"); + IElementType KEYWORD_DEFER = new ZigTokenType("defer"); + IElementType KEYWORD_ELSE = new ZigTokenType("else"); + IElementType KEYWORD_ENUM = new ZigTokenType("enum"); + IElementType KEYWORD_ERRDEFER = new ZigTokenType("errdefer"); + IElementType KEYWORD_ERROR = new ZigTokenType("error"); + IElementType KEYWORD_EXPORT = new ZigTokenType("export"); + IElementType KEYWORD_EXTERN = new ZigTokenType("extern"); + IElementType KEYWORD_FN = new ZigTokenType("fn"); + IElementType KEYWORD_FOR = new ZigTokenType("for"); + IElementType KEYWORD_IF = new ZigTokenType("if"); + IElementType KEYWORD_INLINE = new ZigTokenType("inline"); + IElementType KEYWORD_LINKSECTION = new ZigTokenType("linksection"); + IElementType KEYWORD_NOALIAS = new ZigTokenType("noalias"); + IElementType KEYWORD_NOINLINE = new ZigTokenType("noinline"); + IElementType KEYWORD_NOSUSPEND = new ZigTokenType("nosuspend"); + IElementType KEYWORD_OPAQUE = new ZigTokenType("opaque"); + IElementType KEYWORD_OR = new ZigTokenType("or"); + IElementType KEYWORD_ORELSE = new ZigTokenType("orelse"); + IElementType KEYWORD_PACKED = new ZigTokenType("packed"); + IElementType KEYWORD_PUB = new ZigTokenType("pub"); + IElementType KEYWORD_RESUME = new ZigTokenType("resume"); + IElementType KEYWORD_RETURN = new ZigTokenType("return"); + IElementType KEYWORD_STRUCT = new ZigTokenType("struct"); + IElementType KEYWORD_SUSPEND = new ZigTokenType("suspend"); + IElementType KEYWORD_SWITCH = new ZigTokenType("switch"); + IElementType KEYWORD_TEST = new ZigTokenType("test"); + IElementType KEYWORD_THREADLOCAL = new ZigTokenType("threadlocal"); + IElementType KEYWORD_TRY = new ZigTokenType("try"); + IElementType KEYWORD_UNION = new ZigTokenType("union"); + IElementType KEYWORD_UNREACHABLE = new ZigTokenType("unreachable"); + IElementType KEYWORD_USINGNAMESPACE = new ZigTokenType("usingnamespace"); + IElementType KEYWORD_VAR = new ZigTokenType("var"); + IElementType KEYWORD_VOLATILE = new ZigTokenType("volatile"); + IElementType KEYWORD_WHILE = new ZigTokenType("while"); + IElementType LARROW = new ZigTokenType("<"); + IElementType LARROW2 = new ZigTokenType("<<"); + IElementType LARROW2EQUAL = new ZigTokenType("<<="); + IElementType LARROW2PIPE = new ZigTokenType("<<|"); + IElementType LARROW2PIPEEQUAL = new ZigTokenType("<<|="); + IElementType LARROWEQUAL = new ZigTokenType("<="); + IElementType LBRACE = new ZigTokenType("{"); + IElementType LBRACKET = new ZigTokenType("["); + IElementType LINE_COMMENT = new ZigTokenType("comment"); + IElementType LPAREN = new ZigTokenType("("); + IElementType MINUS = new ZigTokenType("-"); + IElementType MINUSEQUAL = new ZigTokenType("-="); + IElementType MINUSPERCENT = new ZigTokenType("-%"); + IElementType MINUSPERCENTEQUAL = new ZigTokenType("-%="); + IElementType MINUSPIPE = new ZigTokenType("-|"); + IElementType MINUSPIPEEQUAL = new ZigTokenType("-|="); + IElementType MINUSRARROW = new ZigTokenType("->"); + IElementType PERCENT = new ZigTokenType("%"); + IElementType PERCENTEQUAL = new ZigTokenType("%="); + IElementType PIPE = new ZigTokenType("|"); + IElementType PIPE2 = new ZigTokenType("||"); + IElementType PIPEEQUAL = new ZigTokenType("|="); + IElementType PLUS = new ZigTokenType("+"); + IElementType PLUS2 = new ZigTokenType("++"); + IElementType PLUSEQUAL = new ZigTokenType("+="); + IElementType PLUSPERCENT = new ZigTokenType("+%"); + IElementType PLUSPERCENTEQUAL = new ZigTokenType("+%="); + IElementType PLUSPIPE = new ZigTokenType("+|"); + IElementType PLUSPIPEEQUAL = new ZigTokenType("+|="); + IElementType QUESTIONMARK = new ZigTokenType("?"); + IElementType RARROW = new ZigTokenType(">"); + IElementType RARROW2 = new ZigTokenType(">>"); + IElementType RARROW2EQUAL = new ZigTokenType(">>="); + IElementType RARROWEQUAL = new ZigTokenType(">="); + IElementType RBRACE = new ZigTokenType("}"); + IElementType RBRACKET = new ZigTokenType("]"); + IElementType RPAREN = new ZigTokenType(")"); + IElementType SEMICOLON = new ZigTokenType(";"); + IElementType SLASH = new ZigTokenType("/"); + IElementType SLASHEQUAL = new ZigTokenType("/="); + IElementType STRING_LITERAL_MULTI = new ZigTokenType("multiline string literal"); + IElementType STRING_LITERAL_SINGLE = new ZigTokenType("quoted string literal"); + IElementType TILDE = new ZigTokenType("~"); + + class Factory { + public static PsiElement createElement(ASTNode node) { + IElementType type = node.getElementType(); + if (type == ADDITION_EXPR) { + return new ZigAdditionExprImpl(node); + } + else if (type == ADDITION_OP) { + return new ZigAdditionOpImpl(node); + } + else if (type == ADDR_SPACE) { + return new ZigAddrSpaceImpl(node); + } + else if (type == ARRAY_TYPE_START) { + return new ZigArrayTypeStartImpl(node); + } + else if (type == ASM_CLOBBERS) { + return new ZigAsmClobbersImpl(node); + } + else if (type == ASM_EXPR) { + return new ZigAsmExprImpl(node); + } + else if (type == ASM_INPUT) { + return new ZigAsmInputImpl(node); + } + else if (type == ASM_INPUT_ITEM) { + return new ZigAsmInputItemImpl(node); + } + else if (type == ASM_INPUT_LIST) { + return new ZigAsmInputListImpl(node); + } + else if (type == ASM_OUTPUT) { + return new ZigAsmOutputImpl(node); + } + else if (type == ASM_OUTPUT_ITEM) { + return new ZigAsmOutputItemImpl(node); + } + else if (type == ASM_OUTPUT_LIST) { + return new ZigAsmOutputListImpl(node); + } + else if (type == ASSIGN_EXPR) { + return new ZigAssignExprImpl(node); + } + else if (type == ASSIGN_OP) { + return new ZigAssignOpImpl(node); + } + else if (type == BITWISE_EXPR) { + return new ZigBitwiseExprImpl(node); + } + else if (type == BITWISE_OP) { + return new ZigBitwiseOpImpl(node); + } + else if (type == BIT_SHIFT_EXPR) { + return new ZigBitShiftExprImpl(node); + } + else if (type == BIT_SHIFT_OP) { + return new ZigBitShiftOpImpl(node); + } + else if (type == BLOCK) { + return new ZigBlockImpl(node); + } + else if (type == BLOCK_EXPR) { + return new ZigBlockExprImpl(node); + } + else if (type == BLOCK_EXPR_STATEMENT) { + return new ZigBlockExprStatementImpl(node); + } + else if (type == BLOCK_LABEL) { + return new ZigBlockLabelImpl(node); + } + else if (type == BOOL_AND_EXPR) { + return new ZigBoolAndExprImpl(node); + } + else if (type == BOOL_OR_EXPR) { + return new ZigBoolOrExprImpl(node); + } + else if (type == BREAK_LABEL) { + return new ZigBreakLabelImpl(node); + } + else if (type == BYTE_ALIGN) { + return new ZigByteAlignImpl(node); + } + else if (type == CALL_CONV) { + return new ZigCallConvImpl(node); + } + else if (type == COMPARE_EXPR) { + return new ZigCompareExprImpl(node); + } + else if (type == COMPARE_OP) { + return new ZigCompareOpImpl(node); + } + else if (type == COMPTIME_DECL) { + return new ZigComptimeDeclImpl(node); + } + else if (type == COMPTIME_STATEMENT) { + return new ZigComptimeStatementImpl(node); + } + else if (type == CONTAINER_DECL) { + return new ZigContainerDeclImpl(node); + } + else if (type == CONTAINER_DECLARATION) { + return new ZigContainerDeclarationImpl(node); + } + else if (type == CONTAINER_DECL_AUTO) { + return new ZigContainerDeclAutoImpl(node); + } + else if (type == CONTAINER_DECL_TYPE) { + return new ZigContainerDeclTypeImpl(node); + } + else if (type == CONTAINER_FIELD) { + return new ZigContainerFieldImpl(node); + } + else if (type == CONTAINER_MEMBERS) { + return new ZigContainerMembersImpl(node); + } + else if (type == CURLY_SUFFIX_EXPR) { + return new ZigCurlySuffixExprImpl(node); + } + else if (type == DECL) { + return new ZigDeclImpl(node); + } + else if (type == ERROR_SET_DECL) { + return new ZigErrorSetDeclImpl(node); + } + else if (type == ERROR_UNION_EXPR) { + return new ZigErrorUnionExprImpl(node); + } + else if (type == EXPR_LIST) { + return new ZigExprListImpl(node); + } + else if (type == FIELD_INIT) { + return new ZigFieldInitImpl(node); + } + else if (type == FN_CALL_ARGUMENTS) { + return new ZigFnCallArgumentsImpl(node); + } + else if (type == FN_PROTO) { + return new ZigFnProtoImpl(node); + } + else if (type == FOR_EXPR) { + return new ZigForExprImpl(node); + } + else if (type == FOR_INPUT) { + return new ZigForInputImpl(node); + } + else if (type == FOR_PAYLOAD) { + return new ZigForPayloadImpl(node); + } + else if (type == FOR_PREFIX) { + return new ZigForPrefixImpl(node); + } + else if (type == FOR_STATEMENT) { + return new ZigForStatementImpl(node); + } + else if (type == FOR_TYPE_EXPR) { + return new ZigForTypeExprImpl(node); + } + else if (type == GLOBAL_VAR_DECL) { + return new ZigGlobalVarDeclImpl(node); + } + else if (type == GROUPED_EXPR) { + return new ZigGroupedExprImpl(node); + } + else if (type == IDENTIFIER_LIST) { + return new ZigIdentifierListImpl(node); + } + else if (type == IF_EXPR) { + return new ZigIfExprImpl(node); + } + else if (type == IF_PREFIX) { + return new ZigIfPrefixImpl(node); + } + else if (type == IF_STATEMENT) { + return new ZigIfStatementImpl(node); + } + else if (type == IF_TYPE_EXPR) { + return new ZigIfTypeExprImpl(node); + } + else if (type == INIT_LIST) { + return new ZigInitListImpl(node); + } + else if (type == LABELED_STATEMENT) { + return new ZigLabeledStatementImpl(node); + } + else if (type == LABELED_TYPE_EXPR) { + return new ZigLabeledTypeExprImpl(node); + } + else if (type == LINK_SECTION) { + return new ZigLinkSectionImpl(node); + } + else if (type == LOOP_EXPR) { + return new ZigLoopExprImpl(node); + } + else if (type == LOOP_STATEMENT) { + return new ZigLoopStatementImpl(node); + } + else if (type == LOOP_TYPE_EXPR) { + return new ZigLoopTypeExprImpl(node); + } + else if (type == MULTIPLY_EXPR) { + return new ZigMultiplyExprImpl(node); + } + else if (type == MULTIPLY_OP) { + return new ZigMultiplyOpImpl(node); + } + else if (type == PARAM_DECL) { + return new ZigParamDeclImpl(node); + } + else if (type == PARAM_DECL_LIST) { + return new ZigParamDeclListImpl(node); + } + else if (type == PARAM_TYPE) { + return new ZigParamTypeImpl(node); + } + else if (type == PAYLOAD) { + return new ZigPayloadImpl(node); + } + else if (type == PREFIX_EXPR) { + return new ZigPrefixExprImpl(node); + } + else if (type == PREFIX_OP) { + return new ZigPrefixOpImpl(node); + } + else if (type == PREFIX_TYPE_OP) { + return new ZigPrefixTypeOpImpl(node); + } + else if (type == PRIMARY_EXPR) { + return new ZigPrimaryExprImpl(node); + } + else if (type == PRIMARY_TYPE_EXPR) { + return new ZigPrimaryTypeExprImpl(node); + } + else if (type == PTR_INDEX_PAYLOAD) { + return new ZigPtrIndexPayloadImpl(node); + } + else if (type == PTR_PAYLOAD) { + return new ZigPtrPayloadImpl(node); + } + else if (type == PTR_TYPE_START) { + return new ZigPtrTypeStartImpl(node); + } + else if (type == SINGLE_ASSIGN_EXPR) { + return new ZigSingleAssignExprImpl(node); + } + else if (type == SLICE_TYPE_START) { + return new ZigSliceTypeStartImpl(node); + } + else if (type == STATEMENT) { + return new ZigStatementImpl(node); + } + else if (type == STRING_LIST) { + return new ZigStringListImpl(node); + } + else if (type == STRING_LITERAL) { + return new ZigStringLiteralImpl(node); + } + else if (type == SUFFIX_EXPR) { + return new ZigSuffixExprImpl(node); + } + else if (type == SUFFIX_OP) { + return new ZigSuffixOpImpl(node); + } + else if (type == SWITCH_CASE) { + return new ZigSwitchCaseImpl(node); + } + else if (type == SWITCH_EXPR) { + return new ZigSwitchExprImpl(node); + } + else if (type == SWITCH_ITEM) { + return new ZigSwitchItemImpl(node); + } + else if (type == SWITCH_PRONG) { + return new ZigSwitchProngImpl(node); + } + else if (type == SWITCH_PRONG_LIST) { + return new ZigSwitchProngListImpl(node); + } + else if (type == TEST_DECL) { + return new ZigTestDeclImpl(node); + } + else if (type == TYPE_EXPR) { + return new ZigTypeExprImpl(node); + } + else if (type == VAR_DECL_EXPR_STATEMENT) { + return new ZigVarDeclExprStatementImpl(node); + } + else if (type == VAR_DECL_PROTO) { + return new ZigVarDeclProtoImpl(node); + } + else if (type == WHILE_CONTINUE_EXPR) { + return new ZigWhileContinueExprImpl(node); + } + else if (type == WHILE_EXPR) { + return new ZigWhileExprImpl(node); + } + else if (type == WHILE_PREFIX) { + return new ZigWhilePrefixImpl(node); + } + else if (type == WHILE_STATEMENT) { + return new ZigWhileStatementImpl(node); + } + else if (type == WHILE_TYPE_EXPR) { + return new ZigWhileTypeExprImpl(node); + } + throw new AssertionError("Unknown element type: " + type); + } + } +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVarDeclExprStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVarDeclExprStatement.java new file mode 100644 index 000000000..a2099ecf0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVarDeclExprStatement.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigVarDeclExprStatement extends PsiElement { + + @Nullable + ZigAssignOp getAssignOp(); + + @NotNull + List getExprList(); + + @NotNull + List getVarDeclProtoList(); + + @Nullable + PsiElement getEqual(); + + @Nullable + PsiElement getSemicolon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVarDeclProto.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVarDeclProto.java new file mode 100644 index 000000000..943988ca0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVarDeclProto.java @@ -0,0 +1,33 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; + +public interface ZigVarDeclProto extends PsiElement { + + @Nullable + ZigAddrSpace getAddrSpace(); + + @Nullable + ZigByteAlign getByteAlign(); + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigLinkSection getLinkSection(); + + @Nullable + PsiElement getColon(); + + @Nullable + PsiElement getIdentifier(); + + @Nullable + PsiElement getKeywordConst(); + + @Nullable + PsiElement getKeywordVar(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVisitor.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVisitor.java new file mode 100644 index 000000000..49cfe3a61 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigVisitor.java @@ -0,0 +1,418 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +public class ZigVisitor extends PsiElementVisitor { + + public void visitAdditionExpr(@NotNull ZigAdditionExpr o) { + visitExpr(o); + } + + public void visitAdditionOp(@NotNull ZigAdditionOp o) { + visitPsiElement(o); + } + + public void visitAddrSpace(@NotNull ZigAddrSpace o) { + visitPsiElement(o); + } + + public void visitArrayTypeStart(@NotNull ZigArrayTypeStart o) { + visitPsiElement(o); + } + + public void visitAsmClobbers(@NotNull ZigAsmClobbers o) { + visitPsiElement(o); + } + + public void visitAsmExpr(@NotNull ZigAsmExpr o) { + visitExpr(o); + } + + public void visitAsmInput(@NotNull ZigAsmInput o) { + visitPsiElement(o); + } + + public void visitAsmInputItem(@NotNull ZigAsmInputItem o) { + visitPsiElement(o); + } + + public void visitAsmInputList(@NotNull ZigAsmInputList o) { + visitPsiElement(o); + } + + public void visitAsmOutput(@NotNull ZigAsmOutput o) { + visitPsiElement(o); + } + + public void visitAsmOutputItem(@NotNull ZigAsmOutputItem o) { + visitPsiElement(o); + } + + public void visitAsmOutputList(@NotNull ZigAsmOutputList o) { + visitPsiElement(o); + } + + public void visitAssignExpr(@NotNull ZigAssignExpr o) { + visitExpr(o); + } + + public void visitAssignOp(@NotNull ZigAssignOp o) { + visitPsiElement(o); + } + + public void visitBitShiftExpr(@NotNull ZigBitShiftExpr o) { + visitExpr(o); + } + + public void visitBitShiftOp(@NotNull ZigBitShiftOp o) { + visitPsiElement(o); + } + + public void visitBitwiseExpr(@NotNull ZigBitwiseExpr o) { + visitExpr(o); + } + + public void visitBitwiseOp(@NotNull ZigBitwiseOp o) { + visitPsiElement(o); + } + + public void visitBlock(@NotNull ZigBlock o) { + visitPsiElement(o); + } + + public void visitBlockExpr(@NotNull ZigBlockExpr o) { + visitExpr(o); + } + + public void visitBlockExprStatement(@NotNull ZigBlockExprStatement o) { + visitPsiElement(o); + } + + public void visitBlockLabel(@NotNull ZigBlockLabel o) { + visitPsiElement(o); + } + + public void visitBoolAndExpr(@NotNull ZigBoolAndExpr o) { + visitExpr(o); + } + + public void visitBoolOrExpr(@NotNull ZigBoolOrExpr o) { + visitExpr(o); + } + + public void visitBreakLabel(@NotNull ZigBreakLabel o) { + visitPsiElement(o); + } + + public void visitByteAlign(@NotNull ZigByteAlign o) { + visitPsiElement(o); + } + + public void visitCallConv(@NotNull ZigCallConv o) { + visitPsiElement(o); + } + + public void visitCompareExpr(@NotNull ZigCompareExpr o) { + visitExpr(o); + } + + public void visitCompareOp(@NotNull ZigCompareOp o) { + visitPsiElement(o); + } + + public void visitComptimeDecl(@NotNull ZigComptimeDecl o) { + visitPsiElement(o); + } + + public void visitComptimeStatement(@NotNull ZigComptimeStatement o) { + visitPsiElement(o); + } + + public void visitContainerDecl(@NotNull ZigContainerDecl o) { + visitPsiElement(o); + } + + public void visitContainerDeclAuto(@NotNull ZigContainerDeclAuto o) { + visitPsiElement(o); + } + + public void visitContainerDeclType(@NotNull ZigContainerDeclType o) { + visitPsiElement(o); + } + + public void visitContainerDeclaration(@NotNull ZigContainerDeclaration o) { + visitPsiElement(o); + } + + public void visitContainerField(@NotNull ZigContainerField o) { + visitPsiElement(o); + } + + public void visitContainerMembers(@NotNull ZigContainerMembers o) { + visitPsiElement(o); + } + + public void visitCurlySuffixExpr(@NotNull ZigCurlySuffixExpr o) { + visitExpr(o); + } + + public void visitDecl(@NotNull ZigDecl o) { + visitPsiElement(o); + } + + public void visitErrorSetDecl(@NotNull ZigErrorSetDecl o) { + visitPsiElement(o); + } + + public void visitErrorUnionExpr(@NotNull ZigErrorUnionExpr o) { + visitExpr(o); + } + + public void visitExpr(@NotNull ZigExpr o) { + visitPsiElement(o); + } + + public void visitExprList(@NotNull ZigExprList o) { + visitPsiElement(o); + } + + public void visitFieldInit(@NotNull ZigFieldInit o) { + visitPsiElement(o); + } + + public void visitFnCallArguments(@NotNull ZigFnCallArguments o) { + visitPsiElement(o); + } + + public void visitFnProto(@NotNull ZigFnProto o) { + visitPsiElement(o); + } + + public void visitForExpr(@NotNull ZigForExpr o) { + visitExpr(o); + } + + public void visitForInput(@NotNull ZigForInput o) { + visitPsiElement(o); + } + + public void visitForPayload(@NotNull ZigForPayload o) { + visitPsiElement(o); + } + + public void visitForPrefix(@NotNull ZigForPrefix o) { + visitPsiElement(o); + } + + public void visitForStatement(@NotNull ZigForStatement o) { + visitPsiElement(o); + } + + public void visitForTypeExpr(@NotNull ZigForTypeExpr o) { + visitExpr(o); + } + + public void visitGlobalVarDecl(@NotNull ZigGlobalVarDecl o) { + visitPsiElement(o); + } + + public void visitGroupedExpr(@NotNull ZigGroupedExpr o) { + visitExpr(o); + } + + public void visitIdentifierList(@NotNull ZigIdentifierList o) { + visitPsiElement(o); + } + + public void visitIfExpr(@NotNull ZigIfExpr o) { + visitExpr(o); + } + + public void visitIfPrefix(@NotNull ZigIfPrefix o) { + visitPsiElement(o); + } + + public void visitIfStatement(@NotNull ZigIfStatement o) { + visitPsiElement(o); + } + + public void visitIfTypeExpr(@NotNull ZigIfTypeExpr o) { + visitExpr(o); + } + + public void visitInitList(@NotNull ZigInitList o) { + visitPsiElement(o); + } + + public void visitLabeledStatement(@NotNull ZigLabeledStatement o) { + visitPsiElement(o); + } + + public void visitLabeledTypeExpr(@NotNull ZigLabeledTypeExpr o) { + visitExpr(o); + } + + public void visitLinkSection(@NotNull ZigLinkSection o) { + visitPsiElement(o); + } + + public void visitLoopExpr(@NotNull ZigLoopExpr o) { + visitExpr(o); + } + + public void visitLoopStatement(@NotNull ZigLoopStatement o) { + visitPsiElement(o); + } + + public void visitLoopTypeExpr(@NotNull ZigLoopTypeExpr o) { + visitExpr(o); + } + + public void visitMultiplyExpr(@NotNull ZigMultiplyExpr o) { + visitExpr(o); + } + + public void visitMultiplyOp(@NotNull ZigMultiplyOp o) { + visitPsiElement(o); + } + + public void visitParamDecl(@NotNull ZigParamDecl o) { + visitPsiElement(o); + } + + public void visitParamDeclList(@NotNull ZigParamDeclList o) { + visitPsiElement(o); + } + + public void visitParamType(@NotNull ZigParamType o) { + visitPsiElement(o); + } + + public void visitPayload(@NotNull ZigPayload o) { + visitPsiElement(o); + } + + public void visitPrefixExpr(@NotNull ZigPrefixExpr o) { + visitExpr(o); + } + + public void visitPrefixOp(@NotNull ZigPrefixOp o) { + visitPsiElement(o); + } + + public void visitPrefixTypeOp(@NotNull ZigPrefixTypeOp o) { + visitPsiElement(o); + } + + public void visitPrimaryExpr(@NotNull ZigPrimaryExpr o) { + visitExpr(o); + } + + public void visitPrimaryTypeExpr(@NotNull ZigPrimaryTypeExpr o) { + visitExpr(o); + } + + public void visitPtrIndexPayload(@NotNull ZigPtrIndexPayload o) { + visitPsiElement(o); + } + + public void visitPtrPayload(@NotNull ZigPtrPayload o) { + visitPsiElement(o); + } + + public void visitPtrTypeStart(@NotNull ZigPtrTypeStart o) { + visitPsiElement(o); + } + + public void visitSingleAssignExpr(@NotNull ZigSingleAssignExpr o) { + visitExpr(o); + } + + public void visitSliceTypeStart(@NotNull ZigSliceTypeStart o) { + visitPsiElement(o); + } + + public void visitStatement(@NotNull ZigStatement o) { + visitPsiElement(o); + } + + public void visitStringList(@NotNull ZigStringList o) { + visitPsiElement(o); + } + + public void visitStringLiteral(@NotNull ZigStringLiteral o) { + visitPsiElement(o); + } + + public void visitSuffixExpr(@NotNull ZigSuffixExpr o) { + visitExpr(o); + } + + public void visitSuffixOp(@NotNull ZigSuffixOp o) { + visitPsiElement(o); + } + + public void visitSwitchCase(@NotNull ZigSwitchCase o) { + visitPsiElement(o); + } + + public void visitSwitchExpr(@NotNull ZigSwitchExpr o) { + visitExpr(o); + } + + public void visitSwitchItem(@NotNull ZigSwitchItem o) { + visitPsiElement(o); + } + + public void visitSwitchProng(@NotNull ZigSwitchProng o) { + visitPsiElement(o); + } + + public void visitSwitchProngList(@NotNull ZigSwitchProngList o) { + visitPsiElement(o); + } + + public void visitTestDecl(@NotNull ZigTestDecl o) { + visitPsiElement(o); + } + + public void visitTypeExpr(@NotNull ZigTypeExpr o) { + visitExpr(o); + } + + public void visitVarDeclExprStatement(@NotNull ZigVarDeclExprStatement o) { + visitPsiElement(o); + } + + public void visitVarDeclProto(@NotNull ZigVarDeclProto o) { + visitPsiElement(o); + } + + public void visitWhileContinueExpr(@NotNull ZigWhileContinueExpr o) { + visitExpr(o); + } + + public void visitWhileExpr(@NotNull ZigWhileExpr o) { + visitExpr(o); + } + + public void visitWhilePrefix(@NotNull ZigWhilePrefix o) { + visitPsiElement(o); + } + + public void visitWhileStatement(@NotNull ZigWhileStatement o) { + visitPsiElement(o); + } + + public void visitWhileTypeExpr(@NotNull ZigWhileTypeExpr o) { + visitExpr(o); + } + + public void visitPsiElement(@NotNull PsiElement o) { + visitElement(o); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileContinueExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileContinueExpr.java new file mode 100644 index 000000000..130d24dc6 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileContinueExpr.java @@ -0,0 +1,21 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; + +public interface ZigWhileContinueExpr extends ZigExpr { + + @NotNull + ZigExpr getExpr(); + + @NotNull + PsiElement getColon(); + + @NotNull + PsiElement getLparen(); + + @NotNull + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileExpr.java new file mode 100644 index 000000000..78254a9f1 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileExpr.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigWhileExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @Nullable + ZigPayload getPayload(); + + @NotNull + ZigWhilePrefix getWhilePrefix(); + + @Nullable + PsiElement getKeywordElse(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhilePrefix.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhilePrefix.java new file mode 100644 index 000000000..d4b6c68f2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhilePrefix.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigWhilePrefix extends PsiElement { + + @NotNull + List getExprList(); + + @Nullable + ZigPtrPayload getPtrPayload(); + + @NotNull + PsiElement getKeywordWhile(); + + @Nullable + PsiElement getLparen(); + + @Nullable + PsiElement getRparen(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileStatement.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileStatement.java new file mode 100644 index 000000000..2df96ced2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileStatement.java @@ -0,0 +1,28 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface ZigWhileStatement extends PsiElement { + + @Nullable + ZigExpr getExpr(); + + @Nullable + ZigPayload getPayload(); + + @Nullable + ZigStatement getStatement(); + + @NotNull + ZigWhilePrefix getWhilePrefix(); + + @Nullable + PsiElement getKeywordElse(); + + @Nullable + PsiElement getSemicolon(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileTypeExpr.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileTypeExpr.java new file mode 100644 index 000000000..1055844b0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/ZigWhileTypeExpr.java @@ -0,0 +1,24 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi; + +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface ZigWhileTypeExpr extends ZigExpr { + + @NotNull + List getExprList(); + + @Nullable + ZigPayload getPayload(); + + @NotNull + ZigWhilePrefix getWhilePrefix(); + + @Nullable + PsiElement getKeywordElse(); + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAdditionExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAdditionExprImpl.java new file mode 100644 index 000000000..060f5ae22 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAdditionExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAdditionExpr; +import com.falsepattern.zigbrains.zig.psi.ZigAdditionOp; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigAdditionExprImpl extends ZigExprImpl implements ZigAdditionExpr { + + public ZigAdditionExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAdditionExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getAdditionOpList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigAdditionOp.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAdditionOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAdditionOpImpl.java new file mode 100644 index 000000000..17e44c019 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAdditionOpImpl.java @@ -0,0 +1,73 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAdditionOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigAdditionOpImpl extends ASTWrapperPsiElement implements ZigAdditionOp { + + public ZigAdditionOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAdditionOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public PsiElement getMinus() { + return findChildByType(MINUS); + } + + @Override + @Nullable + public PsiElement getMinuspercent() { + return findChildByType(MINUSPERCENT); + } + + @Override + @Nullable + public PsiElement getMinuspipe() { + return findChildByType(MINUSPIPE); + } + + @Override + @Nullable + public PsiElement getPlus() { + return findChildByType(PLUS); + } + + @Override + @Nullable + public PsiElement getPlus2() { + return findChildByType(PLUS2); + } + + @Override + @Nullable + public PsiElement getPluspercent() { + return findChildByType(PLUSPERCENT); + } + + @Override + @Nullable + public PsiElement getPluspipe() { + return findChildByType(PLUSPIPE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAddrSpaceImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAddrSpaceImpl.java new file mode 100644 index 000000000..9b783855b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAddrSpaceImpl.java @@ -0,0 +1,55 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAddrSpace; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigAddrSpaceImpl extends ASTWrapperPsiElement implements ZigAddrSpace { + + public ZigAddrSpaceImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAddrSpace(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getKeywordAddrspace() { + return findNotNullChildByType(KEYWORD_ADDRSPACE); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigArrayTypeStartImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigArrayTypeStartImpl.java new file mode 100644 index 000000000..282f8521c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigArrayTypeStartImpl.java @@ -0,0 +1,59 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigArrayTypeStart; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigArrayTypeStartImpl extends ASTWrapperPsiElement implements ZigArrayTypeStart { + + public ZigArrayTypeStartImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitArrayTypeStart(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getColon() { + return findChildByType(COLON); + } + + @Override + @NotNull + public PsiElement getLbracket() { + return findNotNullChildByType(LBRACKET); + } + + @Override + @NotNull + public PsiElement getRbracket() { + return findNotNullChildByType(RBRACKET); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmClobbersImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmClobbersImpl.java new file mode 100644 index 000000000..580b43eb6 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmClobbersImpl.java @@ -0,0 +1,43 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmClobbers; +import com.falsepattern.zigbrains.zig.psi.ZigStringList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.COLON; + +public class ZigAsmClobbersImpl extends ASTWrapperPsiElement implements ZigAsmClobbers { + + public ZigAsmClobbersImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmClobbers(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigStringList getStringList() { + return findNotNullChildByClass(ZigStringList.class); + } + + @Override + @NotNull + public PsiElement getColon() { + return findNotNullChildByType(COLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmExprImpl.java new file mode 100644 index 000000000..c55ed0029 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmExprImpl.java @@ -0,0 +1,69 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmExpr; +import com.falsepattern.zigbrains.zig.psi.ZigAsmOutput; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigAsmExprImpl extends ZigExprImpl implements ZigAsmExpr { + + public ZigAsmExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAsmOutput getAsmOutput() { + return findChildByClass(ZigAsmOutput.class); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getKeywordAsm() { + return findNotNullChildByType(KEYWORD_ASM); + } + + @Override + @Nullable + public PsiElement getKeywordVolatile() { + return findChildByType(KEYWORD_VOLATILE); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputImpl.java new file mode 100644 index 000000000..532aadbab --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputImpl.java @@ -0,0 +1,51 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmClobbers; +import com.falsepattern.zigbrains.zig.psi.ZigAsmInput; +import com.falsepattern.zigbrains.zig.psi.ZigAsmInputList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.COLON; + +public class ZigAsmInputImpl extends ASTWrapperPsiElement implements ZigAsmInput { + + public ZigAsmInputImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmInput(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAsmClobbers getAsmClobbers() { + return findChildByClass(ZigAsmClobbers.class); + } + + @Override + @NotNull + public ZigAsmInputList getAsmInputList() { + return findNotNullChildByClass(ZigAsmInputList.class); + } + + @Override + @NotNull + public PsiElement getColon() { + return findNotNullChildByType(COLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputItemImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputItemImpl.java new file mode 100644 index 000000000..3f3e30f4a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputItemImpl.java @@ -0,0 +1,74 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmInputItem; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigStringLiteral; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigAsmInputItemImpl extends ASTWrapperPsiElement implements ZigAsmInputItem { + + public ZigAsmInputItemImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmInputItem(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public ZigStringLiteral getStringLiteral() { + return findNotNullChildByClass(ZigStringLiteral.class); + } + + @Override + @NotNull + public PsiElement getIdentifier() { + return findNotNullChildByType(IDENTIFIER); + } + + @Override + @NotNull + public PsiElement getLbracket() { + return findNotNullChildByType(LBRACKET); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRbracket() { + return findNotNullChildByType(RBRACKET); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputListImpl.java new file mode 100644 index 000000000..ddc3f7299 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmInputListImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmInputItem; +import com.falsepattern.zigbrains.zig.psi.ZigAsmInputList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigAsmInputListImpl extends ASTWrapperPsiElement implements ZigAsmInputList { + + public ZigAsmInputListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmInputList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getAsmInputItemList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigAsmInputItem.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputImpl.java new file mode 100644 index 000000000..c6bd2d8d3 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputImpl.java @@ -0,0 +1,51 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmInput; +import com.falsepattern.zigbrains.zig.psi.ZigAsmOutput; +import com.falsepattern.zigbrains.zig.psi.ZigAsmOutputList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.COLON; + +public class ZigAsmOutputImpl extends ASTWrapperPsiElement implements ZigAsmOutput { + + public ZigAsmOutputImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmOutput(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAsmInput getAsmInput() { + return findChildByClass(ZigAsmInput.class); + } + + @Override + @NotNull + public ZigAsmOutputList getAsmOutputList() { + return findNotNullChildByClass(ZigAsmOutputList.class); + } + + @Override + @NotNull + public PsiElement getColon() { + return findNotNullChildByType(COLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputItemImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputItemImpl.java new file mode 100644 index 000000000..fa8f3a7b9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputItemImpl.java @@ -0,0 +1,75 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmOutputItem; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigStringLiteral; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigAsmOutputItemImpl extends ASTWrapperPsiElement implements ZigAsmOutputItem { + + public ZigAsmOutputItemImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmOutputItem(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public ZigStringLiteral getStringLiteral() { + return findNotNullChildByClass(ZigStringLiteral.class); + } + + @Override + @NotNull + public PsiElement getLbracket() { + return findNotNullChildByType(LBRACKET); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getMinusrarrow() { + return findChildByType(MINUSRARROW); + } + + @Override + @NotNull + public PsiElement getRbracket() { + return findNotNullChildByType(RBRACKET); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputListImpl.java new file mode 100644 index 000000000..c1528a450 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAsmOutputListImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAsmOutputItem; +import com.falsepattern.zigbrains.zig.psi.ZigAsmOutputList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigAsmOutputListImpl extends ASTWrapperPsiElement implements ZigAsmOutputList { + + public ZigAsmOutputListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAsmOutputList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getAsmOutputItemList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigAsmOutputItem.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAssignExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAssignExprImpl.java new file mode 100644 index 000000000..408e77008 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAssignExprImpl.java @@ -0,0 +1,54 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAssignExpr; +import com.falsepattern.zigbrains.zig.psi.ZigAssignOp; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.EQUAL; + +public class ZigAssignExprImpl extends ZigExprImpl implements ZigAssignExpr { + + public ZigAssignExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAssignExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAssignOp getAssignOp() { + return findChildByClass(ZigAssignOp.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getEqual() { + return findChildByType(EQUAL); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAssignOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAssignOpImpl.java new file mode 100644 index 000000000..a2a0701b0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigAssignOpImpl.java @@ -0,0 +1,139 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAssignOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigAssignOpImpl extends ASTWrapperPsiElement implements ZigAssignOp { + + public ZigAssignOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitAssignOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public PsiElement getAmpersandequal() { + return findChildByType(AMPERSANDEQUAL); + } + + @Override + @Nullable + public PsiElement getAsteriskequal() { + return findChildByType(ASTERISKEQUAL); + } + + @Override + @Nullable + public PsiElement getAsteriskpercentequal() { + return findChildByType(ASTERISKPERCENTEQUAL); + } + + @Override + @Nullable + public PsiElement getAsteriskpipeequal() { + return findChildByType(ASTERISKPIPEEQUAL); + } + + @Override + @Nullable + public PsiElement getCaretequal() { + return findChildByType(CARETEQUAL); + } + + @Override + @Nullable + public PsiElement getEqual() { + return findChildByType(EQUAL); + } + + @Override + @Nullable + public PsiElement getLarrow2Equal() { + return findChildByType(LARROW2EQUAL); + } + + @Override + @Nullable + public PsiElement getLarrow2Pipeequal() { + return findChildByType(LARROW2PIPEEQUAL); + } + + @Override + @Nullable + public PsiElement getMinusequal() { + return findChildByType(MINUSEQUAL); + } + + @Override + @Nullable + public PsiElement getMinuspercentequal() { + return findChildByType(MINUSPERCENTEQUAL); + } + + @Override + @Nullable + public PsiElement getMinuspipeequal() { + return findChildByType(MINUSPIPEEQUAL); + } + + @Override + @Nullable + public PsiElement getPercentequal() { + return findChildByType(PERCENTEQUAL); + } + + @Override + @Nullable + public PsiElement getPipeequal() { + return findChildByType(PIPEEQUAL); + } + + @Override + @Nullable + public PsiElement getPlusequal() { + return findChildByType(PLUSEQUAL); + } + + @Override + @Nullable + public PsiElement getPluspercentequal() { + return findChildByType(PLUSPERCENTEQUAL); + } + + @Override + @Nullable + public PsiElement getPluspipeequal() { + return findChildByType(PLUSPIPEEQUAL); + } + + @Override + @Nullable + public PsiElement getRarrow2Equal() { + return findChildByType(RARROW2EQUAL); + } + + @Override + @Nullable + public PsiElement getSlashequal() { + return findChildByType(SLASHEQUAL); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitShiftExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitShiftExprImpl.java new file mode 100644 index 000000000..a901422d4 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitShiftExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBitShiftExpr; +import com.falsepattern.zigbrains.zig.psi.ZigBitShiftOp; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigBitShiftExprImpl extends ZigExprImpl implements ZigBitShiftExpr { + + public ZigBitShiftExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBitShiftExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getBitShiftOpList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigBitShiftOp.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitShiftOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitShiftOpImpl.java new file mode 100644 index 000000000..6569ace24 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitShiftOpImpl.java @@ -0,0 +1,49 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBitShiftOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigBitShiftOpImpl extends ASTWrapperPsiElement implements ZigBitShiftOp { + + public ZigBitShiftOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBitShiftOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public PsiElement getLarrow2() { + return findChildByType(LARROW2); + } + + @Override + @Nullable + public PsiElement getLarrow2Pipe() { + return findChildByType(LARROW2PIPE); + } + + @Override + @Nullable + public PsiElement getRarrow2() { + return findChildByType(RARROW2); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitwiseExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitwiseExprImpl.java new file mode 100644 index 000000000..8e65a0699 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitwiseExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBitwiseExpr; +import com.falsepattern.zigbrains.zig.psi.ZigBitwiseOp; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigBitwiseExprImpl extends ZigExprImpl implements ZigBitwiseExpr { + + public ZigBitwiseExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBitwiseExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getBitwiseOpList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigBitwiseOp.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitwiseOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitwiseOpImpl.java new file mode 100644 index 000000000..d0b9f75ca --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBitwiseOpImpl.java @@ -0,0 +1,68 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBitwiseOp; +import com.falsepattern.zigbrains.zig.psi.ZigPayload; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigBitwiseOpImpl extends ASTWrapperPsiElement implements ZigBitwiseOp { + + public ZigBitwiseOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBitwiseOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @Nullable + public PsiElement getAmpersand() { + return findChildByType(AMPERSAND); + } + + @Override + @Nullable + public PsiElement getCaret() { + return findChildByType(CARET); + } + + @Override + @Nullable + public PsiElement getKeywordCatch() { + return findChildByType(KEYWORD_CATCH); + } + + @Override + @Nullable + public PsiElement getKeywordOrelse() { + return findChildByType(KEYWORD_ORELSE); + } + + @Override + @Nullable + public PsiElement getPipe() { + return findChildByType(PIPE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockExprImpl.java new file mode 100644 index 000000000..13084153a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockExprImpl.java @@ -0,0 +1,42 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBlock; +import com.falsepattern.zigbrains.zig.psi.ZigBlockExpr; +import com.falsepattern.zigbrains.zig.psi.ZigBlockLabel; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class ZigBlockExprImpl extends ZigExprImpl implements ZigBlockExpr { + + public ZigBlockExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBlockExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigBlock getBlock() { + return findNotNullChildByClass(ZigBlock.class); + } + + @Override + @Nullable + public ZigBlockLabel getBlockLabel() { + return findChildByClass(ZigBlockLabel.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockExprStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockExprStatementImpl.java new file mode 100644 index 000000000..b8bde5e65 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockExprStatementImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBlockExprStatement; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.SEMICOLON; + +public class ZigBlockExprStatementImpl extends ASTWrapperPsiElement implements ZigBlockExprStatement { + + public ZigBlockExprStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBlockExprStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getSemicolon() { + return findChildByType(SEMICOLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockImpl.java new file mode 100644 index 000000000..cbabfbf1f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockImpl.java @@ -0,0 +1,54 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBlock; +import com.falsepattern.zigbrains.zig.psi.ZigStatement; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.LBRACE; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.RBRACE; + +public class ZigBlockImpl extends ASTWrapperPsiElement implements ZigBlock { + + public ZigBlockImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBlock(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getStatementList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigStatement.class); + } + + @Override + @NotNull + public PsiElement getLbrace() { + return findNotNullChildByType(LBRACE); + } + + @Override + @Nullable + public PsiElement getRbrace() { + return findChildByType(RBRACE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockLabelImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockLabelImpl.java new file mode 100644 index 000000000..844dabb77 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBlockLabelImpl.java @@ -0,0 +1,43 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBlockLabel; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.COLON; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.IDENTIFIER; + +public class ZigBlockLabelImpl extends ASTWrapperPsiElement implements ZigBlockLabel { + + public ZigBlockLabelImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBlockLabel(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public PsiElement getColon() { + return findNotNullChildByType(COLON); + } + + @Override + @NotNull + public PsiElement getIdentifier() { + return findNotNullChildByType(IDENTIFIER); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBoolAndExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBoolAndExprImpl.java new file mode 100644 index 000000000..299eceda5 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBoolAndExprImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBoolAndExpr; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigBoolAndExprImpl extends ZigExprImpl implements ZigBoolAndExpr { + + public ZigBoolAndExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBoolAndExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBoolOrExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBoolOrExprImpl.java new file mode 100644 index 000000000..279114661 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBoolOrExprImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBoolOrExpr; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigBoolOrExprImpl extends ZigExprImpl implements ZigBoolOrExpr { + + public ZigBoolOrExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBoolOrExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBreakLabelImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBreakLabelImpl.java new file mode 100644 index 000000000..4917debbd --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigBreakLabelImpl.java @@ -0,0 +1,43 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBreakLabel; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.COLON; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.IDENTIFIER; + +public class ZigBreakLabelImpl extends ASTWrapperPsiElement implements ZigBreakLabel { + + public ZigBreakLabelImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitBreakLabel(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public PsiElement getColon() { + return findNotNullChildByType(COLON); + } + + @Override + @NotNull + public PsiElement getIdentifier() { + return findNotNullChildByType(IDENTIFIER); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigByteAlignImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigByteAlignImpl.java new file mode 100644 index 000000000..68c3da4e4 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigByteAlignImpl.java @@ -0,0 +1,55 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigByteAlign; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigByteAlignImpl extends ASTWrapperPsiElement implements ZigByteAlign { + + public ZigByteAlignImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitByteAlign(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getKeywordAlign() { + return findNotNullChildByType(KEYWORD_ALIGN); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCallConvImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCallConvImpl.java new file mode 100644 index 000000000..2b44c4985 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCallConvImpl.java @@ -0,0 +1,55 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigCallConv; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigCallConvImpl extends ASTWrapperPsiElement implements ZigCallConv { + + public ZigCallConvImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitCallConv(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getKeywordCallconv() { + return findNotNullChildByType(KEYWORD_CALLCONV); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCompareExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCompareExprImpl.java new file mode 100644 index 000000000..84560fcd3 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCompareExprImpl.java @@ -0,0 +1,45 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigCompareExpr; +import com.falsepattern.zigbrains.zig.psi.ZigCompareOp; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class ZigCompareExprImpl extends ZigExprImpl implements ZigCompareExpr { + + public ZigCompareExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitCompareExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigCompareOp getCompareOp() { + return findChildByClass(ZigCompareOp.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCompareOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCompareOpImpl.java new file mode 100644 index 000000000..5d69250c7 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCompareOpImpl.java @@ -0,0 +1,67 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigCompareOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigCompareOpImpl extends ASTWrapperPsiElement implements ZigCompareOp { + + public ZigCompareOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitCompareOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public PsiElement getEqualequal() { + return findChildByType(EQUALEQUAL); + } + + @Override + @Nullable + public PsiElement getExclamationmarkequal() { + return findChildByType(EXCLAMATIONMARKEQUAL); + } + + @Override + @Nullable + public PsiElement getLarrow() { + return findChildByType(LARROW); + } + + @Override + @Nullable + public PsiElement getLarrowequal() { + return findChildByType(LARROWEQUAL); + } + + @Override + @Nullable + public PsiElement getRarrow() { + return findChildByType(RARROW); + } + + @Override + @Nullable + public PsiElement getRarrowequal() { + return findChildByType(RARROWEQUAL); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigComptimeDeclImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigComptimeDeclImpl.java new file mode 100644 index 000000000..c3e1ad8ac --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigComptimeDeclImpl.java @@ -0,0 +1,43 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBlock; +import com.falsepattern.zigbrains.zig.psi.ZigComptimeDecl; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_COMPTIME; + +public class ZigComptimeDeclImpl extends ASTWrapperPsiElement implements ZigComptimeDecl { + + public ZigComptimeDeclImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitComptimeDecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigBlock getBlock() { + return findNotNullChildByClass(ZigBlock.class); + } + + @Override + @NotNull + public PsiElement getKeywordComptime() { + return findNotNullChildByType(KEYWORD_COMPTIME); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigComptimeStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigComptimeStatementImpl.java new file mode 100644 index 000000000..0c0a4a4f1 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigComptimeStatementImpl.java @@ -0,0 +1,42 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBlockExpr; +import com.falsepattern.zigbrains.zig.psi.ZigComptimeStatement; +import com.falsepattern.zigbrains.zig.psi.ZigVarDeclExprStatement; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class ZigComptimeStatementImpl extends ASTWrapperPsiElement implements ZigComptimeStatement { + + public ZigComptimeStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitComptimeStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigBlockExpr getBlockExpr() { + return findChildByClass(ZigBlockExpr.class); + } + + @Override + @Nullable + public ZigVarDeclExprStatement getVarDeclExprStatement() { + return findChildByClass(ZigVarDeclExprStatement.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclAutoImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclAutoImpl.java new file mode 100644 index 000000000..c96ced9c3 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclAutoImpl.java @@ -0,0 +1,63 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigContainerDeclAuto; +import com.falsepattern.zigbrains.zig.psi.ZigContainerDeclType; +import com.falsepattern.zigbrains.zig.psi.ZigContainerMembers; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigContainerDeclAutoImpl extends ASTWrapperPsiElement implements ZigContainerDeclAuto { + + public ZigContainerDeclAutoImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitContainerDeclAuto(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigContainerDeclType getContainerDeclType() { + return findNotNullChildByClass(ZigContainerDeclType.class); + } + + @Override + @Nullable + public ZigContainerMembers getContainerMembers() { + return findChildByClass(ZigContainerMembers.class); + } + + @Override + @Nullable + public PsiElement getContainerDocComment() { + return findChildByType(CONTAINER_DOC_COMMENT); + } + + @Override + @NotNull + public PsiElement getLbrace() { + return findNotNullChildByType(LBRACE); + } + + @Override + @Nullable + public PsiElement getRbrace() { + return findChildByType(RBRACE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclImpl.java new file mode 100644 index 000000000..4b04d9df0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclImpl.java @@ -0,0 +1,51 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigContainerDecl; +import com.falsepattern.zigbrains.zig.psi.ZigContainerDeclAuto; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_EXTERN; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_PACKED; + +public class ZigContainerDeclImpl extends ASTWrapperPsiElement implements ZigContainerDecl { + + public ZigContainerDeclImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitContainerDecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigContainerDeclAuto getContainerDeclAuto() { + return findNotNullChildByClass(ZigContainerDeclAuto.class); + } + + @Override + @Nullable + public PsiElement getKeywordExtern() { + return findChildByType(KEYWORD_EXTERN); + } + + @Override + @Nullable + public PsiElement getKeywordPacked() { + return findChildByType(KEYWORD_PACKED); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclTypeImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclTypeImpl.java new file mode 100644 index 000000000..96c34fe6a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclTypeImpl.java @@ -0,0 +1,74 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigContainerDeclType; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigContainerDeclTypeImpl extends ASTWrapperPsiElement implements ZigContainerDeclType { + + public ZigContainerDeclTypeImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitContainerDeclType(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getKeywordEnum() { + return findChildByType(KEYWORD_ENUM); + } + + @Override + @Nullable + public PsiElement getKeywordOpaque() { + return findChildByType(KEYWORD_OPAQUE); + } + + @Override + @Nullable + public PsiElement getKeywordStruct() { + return findChildByType(KEYWORD_STRUCT); + } + + @Override + @Nullable + public PsiElement getKeywordUnion() { + return findChildByType(KEYWORD_UNION); + } + + @Override + @Nullable + public PsiElement getLparen() { + return findChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getRparen() { + return findChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclarationImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclarationImpl.java new file mode 100644 index 000000000..e869f320d --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerDeclarationImpl.java @@ -0,0 +1,61 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.DOC_COMMENT; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_PUB; + +public class ZigContainerDeclarationImpl extends ASTWrapperPsiElement implements ZigContainerDeclaration { + + public ZigContainerDeclarationImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitContainerDeclaration(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigComptimeDecl getComptimeDecl() { + return findChildByClass(ZigComptimeDecl.class); + } + + @Override + @Nullable + public ZigDecl getDecl() { + return findChildByClass(ZigDecl.class); + } + + @Override + @Nullable + public ZigTestDecl getTestDecl() { + return findChildByClass(ZigTestDecl.class); + } + + @Override + @Nullable + public PsiElement getDocComment() { + return findChildByType(DOC_COMMENT); + } + + @Override + @Nullable + public PsiElement getKeywordPub() { + return findChildByType(KEYWORD_PUB); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerFieldImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerFieldImpl.java new file mode 100644 index 000000000..9b8999bb4 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerFieldImpl.java @@ -0,0 +1,78 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigByteAlign; +import com.falsepattern.zigbrains.zig.psi.ZigContainerField; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigContainerFieldImpl extends ASTWrapperPsiElement implements ZigContainerField { + + public ZigContainerFieldImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitContainerField(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigByteAlign getByteAlign() { + return findChildByClass(ZigByteAlign.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getColon() { + return findChildByType(COLON); + } + + @Override + @Nullable + public PsiElement getDocComment() { + return findChildByType(DOC_COMMENT); + } + + @Override + @Nullable + public PsiElement getEqual() { + return findChildByType(EQUAL); + } + + @Override + @Nullable + public PsiElement getIdentifier() { + return findChildByType(IDENTIFIER); + } + + @Override + @Nullable + public PsiElement getKeywordComptime() { + return findChildByType(KEYWORD_COMPTIME); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerMembersImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerMembersImpl.java new file mode 100644 index 000000000..18a1da4c9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigContainerMembersImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigContainerDeclaration; +import com.falsepattern.zigbrains.zig.psi.ZigContainerField; +import com.falsepattern.zigbrains.zig.psi.ZigContainerMembers; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigContainerMembersImpl extends ASTWrapperPsiElement implements ZigContainerMembers { + + public ZigContainerMembersImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitContainerMembers(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getContainerDeclarationList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigContainerDeclaration.class); + } + + @Override + @NotNull + public List getContainerFieldList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigContainerField.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCurlySuffixExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCurlySuffixExprImpl.java new file mode 100644 index 000000000..301ccb1c9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigCurlySuffixExprImpl.java @@ -0,0 +1,42 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigCurlySuffixExpr; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigInitList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class ZigCurlySuffixExprImpl extends ZigExprImpl implements ZigCurlySuffixExpr { + + public ZigCurlySuffixExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitCurlySuffixExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigInitList getInitList() { + return findChildByClass(ZigInitList.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigDeclImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigDeclImpl.java new file mode 100644 index 000000000..1893a9bf0 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigDeclImpl.java @@ -0,0 +1,102 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigDeclImpl extends ASTWrapperPsiElement implements ZigDecl { + + public ZigDeclImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitDecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigBlock getBlock() { + return findChildByClass(ZigBlock.class); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigFnProto getFnProto() { + return findChildByClass(ZigFnProto.class); + } + + @Override + @Nullable + public ZigGlobalVarDecl getGlobalVarDecl() { + return findChildByClass(ZigGlobalVarDecl.class); + } + + @Override + @Nullable + public PsiElement getKeywordExport() { + return findChildByType(KEYWORD_EXPORT); + } + + @Override + @Nullable + public PsiElement getKeywordExtern() { + return findChildByType(KEYWORD_EXTERN); + } + + @Override + @Nullable + public PsiElement getKeywordInline() { + return findChildByType(KEYWORD_INLINE); + } + + @Override + @Nullable + public PsiElement getKeywordNoinline() { + return findChildByType(KEYWORD_NOINLINE); + } + + @Override + @Nullable + public PsiElement getKeywordThreadlocal() { + return findChildByType(KEYWORD_THREADLOCAL); + } + + @Override + @Nullable + public PsiElement getKeywordUsingnamespace() { + return findChildByType(KEYWORD_USINGNAMESPACE); + } + + @Override + @Nullable + public PsiElement getSemicolon() { + return findChildByType(SEMICOLON); + } + + @Override + @Nullable + public PsiElement getStringLiteralSingle() { + return findChildByType(STRING_LITERAL_SINGLE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigErrorSetDeclImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigErrorSetDeclImpl.java new file mode 100644 index 000000000..3ac790238 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigErrorSetDeclImpl.java @@ -0,0 +1,55 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigErrorSetDecl; +import com.falsepattern.zigbrains.zig.psi.ZigIdentifierList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigErrorSetDeclImpl extends ASTWrapperPsiElement implements ZigErrorSetDecl { + + public ZigErrorSetDeclImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitErrorSetDecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigIdentifierList getIdentifierList() { + return findNotNullChildByClass(ZigIdentifierList.class); + } + + @Override + @NotNull + public PsiElement getKeywordError() { + return findNotNullChildByType(KEYWORD_ERROR); + } + + @Override + @NotNull + public PsiElement getLbrace() { + return findNotNullChildByType(LBRACE); + } + + @Override + @NotNull + public PsiElement getRbrace() { + return findNotNullChildByType(RBRACE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigErrorUnionExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigErrorUnionExprImpl.java new file mode 100644 index 000000000..6cdb73030 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigErrorUnionExprImpl.java @@ -0,0 +1,47 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigErrorUnionExpr; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.EXCLAMATIONMARK; + +public class ZigErrorUnionExprImpl extends ZigExprImpl implements ZigErrorUnionExpr { + + public ZigErrorUnionExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitErrorUnionExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getExclamationmark() { + return findChildByType(EXCLAMATIONMARK); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigExprImpl.java new file mode 100644 index 000000000..c73da28d2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigExprImpl.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +public abstract class ZigExprImpl extends ASTWrapperPsiElement implements ZigExpr { + + public ZigExprImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigExprListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigExprListImpl.java new file mode 100644 index 000000000..e7730abc6 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigExprListImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigExprList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigExprListImpl extends ASTWrapperPsiElement implements ZigExprList { + + public ZigExprListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitExprList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFieldInitImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFieldInitImpl.java new file mode 100644 index 000000000..d133bc8fa --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFieldInitImpl.java @@ -0,0 +1,55 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigFieldInit; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigFieldInitImpl extends ASTWrapperPsiElement implements ZigFieldInit { + + public ZigFieldInitImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitFieldInit(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getDot() { + return findNotNullChildByType(DOT); + } + + @Override + @NotNull + public PsiElement getEqual() { + return findNotNullChildByType(EQUAL); + } + + @Override + @NotNull + public PsiElement getIdentifier() { + return findNotNullChildByType(IDENTIFIER); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFnCallArgumentsImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFnCallArgumentsImpl.java new file mode 100644 index 000000000..96df7928a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFnCallArgumentsImpl.java @@ -0,0 +1,51 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExprList; +import com.falsepattern.zigbrains.zig.psi.ZigFnCallArguments; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.LPAREN; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.RPAREN; + +public class ZigFnCallArgumentsImpl extends ASTWrapperPsiElement implements ZigFnCallArguments { + + public ZigFnCallArgumentsImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitFnCallArguments(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExprList getExprList() { + return findChildByClass(ZigExprList.class); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getRparen() { + return findChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFnProtoImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFnProtoImpl.java new file mode 100644 index 000000000..6e25f286c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigFnProtoImpl.java @@ -0,0 +1,96 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigFnProtoImpl extends ASTWrapperPsiElement implements ZigFnProto { + + public ZigFnProtoImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitFnProto(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAddrSpace getAddrSpace() { + return findChildByClass(ZigAddrSpace.class); + } + + @Override + @Nullable + public ZigByteAlign getByteAlign() { + return findChildByClass(ZigByteAlign.class); + } + + @Override + @Nullable + public ZigCallConv getCallConv() { + return findChildByClass(ZigCallConv.class); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigLinkSection getLinkSection() { + return findChildByClass(ZigLinkSection.class); + } + + @Override + @Nullable + public ZigParamDeclList getParamDeclList() { + return findChildByClass(ZigParamDeclList.class); + } + + @Override + @Nullable + public PsiElement getExclamationmark() { + return findChildByType(EXCLAMATIONMARK); + } + + @Override + @Nullable + public PsiElement getIdentifier() { + return findChildByType(IDENTIFIER); + } + + @Override + @NotNull + public PsiElement getKeywordFn() { + return findNotNullChildByType(KEYWORD_FN); + } + + @Override + @Nullable + public PsiElement getLparen() { + return findChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getRparen() { + return findChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForExprImpl.java new file mode 100644 index 000000000..dfa3d4243 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForExprImpl.java @@ -0,0 +1,54 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigForExpr; +import com.falsepattern.zigbrains.zig.psi.ZigForPrefix; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; + +public class ZigForExprImpl extends ZigExprImpl implements ZigForExpr { + + public ZigForExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitForExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @NotNull + public ZigForPrefix getForPrefix() { + return findNotNullChildByClass(ZigForPrefix.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForInputImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForInputImpl.java new file mode 100644 index 000000000..99d5ac043 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForInputImpl.java @@ -0,0 +1,47 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigForInput; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.DOT2; + +public class ZigForInputImpl extends ASTWrapperPsiElement implements ZigForInput { + + public ZigForInputImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitForInput(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getDot2() { + return findChildByType(DOT2); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForPayloadImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForPayloadImpl.java new file mode 100644 index 000000000..ae18b49e9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForPayloadImpl.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigForPayload; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +public class ZigForPayloadImpl extends ASTWrapperPsiElement implements ZigForPayload { + + public ZigForPayloadImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitForPayload(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForPrefixImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForPrefixImpl.java new file mode 100644 index 000000000..2160e1705 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForPrefixImpl.java @@ -0,0 +1,66 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigForInput; +import com.falsepattern.zigbrains.zig.psi.ZigForPayload; +import com.falsepattern.zigbrains.zig.psi.ZigForPrefix; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigForPrefixImpl extends ASTWrapperPsiElement implements ZigForPrefix { + + public ZigForPrefixImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitForPrefix(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getForInputList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigForInput.class); + } + + @Override + @Nullable + public ZigForPayload getForPayload() { + return findChildByClass(ZigForPayload.class); + } + + @Override + @NotNull + public PsiElement getKeywordFor() { + return findNotNullChildByType(KEYWORD_FOR); + } + + @Override + @Nullable + public PsiElement getLparen() { + return findChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getRparen() { + return findChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForStatementImpl.java new file mode 100644 index 000000000..5a8120ff2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForStatementImpl.java @@ -0,0 +1,61 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.SEMICOLON; + +public class ZigForStatementImpl extends ASTWrapperPsiElement implements ZigForStatement { + + public ZigForStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitForStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public ZigForPrefix getForPrefix() { + return findNotNullChildByClass(ZigForPrefix.class); + } + + @Override + @Nullable + public ZigStatement getStatement() { + return findChildByClass(ZigStatement.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + + @Override + @Nullable + public PsiElement getSemicolon() { + return findChildByType(SEMICOLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForTypeExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForTypeExprImpl.java new file mode 100644 index 000000000..4fc923692 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigForTypeExprImpl.java @@ -0,0 +1,54 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigForPrefix; +import com.falsepattern.zigbrains.zig.psi.ZigForTypeExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; + +public class ZigForTypeExprImpl extends ZigExprImpl implements ZigForTypeExpr { + + public ZigForTypeExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitForTypeExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @NotNull + public ZigForPrefix getForPrefix() { + return findNotNullChildByClass(ZigForPrefix.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigGlobalVarDeclImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigGlobalVarDeclImpl.java new file mode 100644 index 000000000..d70653d81 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigGlobalVarDeclImpl.java @@ -0,0 +1,58 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigGlobalVarDecl; +import com.falsepattern.zigbrains.zig.psi.ZigVarDeclProto; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.EQUAL; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.SEMICOLON; + +public class ZigGlobalVarDeclImpl extends ASTWrapperPsiElement implements ZigGlobalVarDecl { + + public ZigGlobalVarDeclImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitGlobalVarDecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public ZigVarDeclProto getVarDeclProto() { + return findNotNullChildByClass(ZigVarDeclProto.class); + } + + @Override + @Nullable + public PsiElement getEqual() { + return findChildByType(EQUAL); + } + + @Override + @Nullable + public PsiElement getSemicolon() { + return findChildByType(SEMICOLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigGroupedExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigGroupedExprImpl.java new file mode 100644 index 000000000..cb63d16c9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigGroupedExprImpl.java @@ -0,0 +1,50 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigGroupedExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.LPAREN; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.RPAREN; + +public class ZigGroupedExprImpl extends ZigExprImpl implements ZigGroupedExpr { + + public ZigGroupedExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitGroupedExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIdentifierListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIdentifierListImpl.java new file mode 100644 index 000000000..05b1cea99 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIdentifierListImpl.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigIdentifierList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +public class ZigIdentifierListImpl extends ASTWrapperPsiElement implements ZigIdentifierList { + + public ZigIdentifierListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitIdentifierList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfExprImpl.java new file mode 100644 index 000000000..fdea1e53b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfExprImpl.java @@ -0,0 +1,57 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; + +public class ZigIfExprImpl extends ZigExprImpl implements ZigIfExpr { + + public ZigIfExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitIfExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @NotNull + public ZigIfPrefix getIfPrefix() { + return findNotNullChildByClass(ZigIfPrefix.class); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfPrefixImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfPrefixImpl.java new file mode 100644 index 000000000..be5378aea --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfPrefixImpl.java @@ -0,0 +1,63 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigIfPrefix; +import com.falsepattern.zigbrains.zig.psi.ZigPtrPayload; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigIfPrefixImpl extends ASTWrapperPsiElement implements ZigIfPrefix { + + public ZigIfPrefixImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitIfPrefix(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigPtrPayload getPtrPayload() { + return findChildByClass(ZigPtrPayload.class); + } + + @Override + @NotNull + public PsiElement getKeywordIf() { + return findNotNullChildByType(KEYWORD_IF); + } + + @Override + @Nullable + public PsiElement getLparen() { + return findChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getRparen() { + return findChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfStatementImpl.java new file mode 100644 index 000000000..85210ef3e --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfStatementImpl.java @@ -0,0 +1,67 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.SEMICOLON; + +public class ZigIfStatementImpl extends ASTWrapperPsiElement implements ZigIfStatement { + + public ZigIfStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitIfStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public ZigIfPrefix getIfPrefix() { + return findNotNullChildByClass(ZigIfPrefix.class); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @Nullable + public ZigStatement getStatement() { + return findChildByClass(ZigStatement.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + + @Override + @Nullable + public PsiElement getSemicolon() { + return findChildByType(SEMICOLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfTypeExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfTypeExprImpl.java new file mode 100644 index 000000000..9a5328f67 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigIfTypeExprImpl.java @@ -0,0 +1,57 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; + +public class ZigIfTypeExprImpl extends ZigExprImpl implements ZigIfTypeExpr { + + public ZigIfTypeExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitIfTypeExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @NotNull + public ZigIfPrefix getIfPrefix() { + return findNotNullChildByClass(ZigIfPrefix.class); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigInitListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigInitListImpl.java new file mode 100644 index 000000000..ba6d84500 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigInitListImpl.java @@ -0,0 +1,61 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigFieldInit; +import com.falsepattern.zigbrains.zig.psi.ZigInitList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.LBRACE; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.RBRACE; + +public class ZigInitListImpl extends ASTWrapperPsiElement implements ZigInitList { + + public ZigInitListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitInitList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @NotNull + public List getFieldInitList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigFieldInit.class); + } + + @Override + @NotNull + public PsiElement getLbrace() { + return findNotNullChildByType(LBRACE); + } + + @Override + @Nullable + public PsiElement getRbrace() { + return findChildByType(RBRACE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLabeledStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLabeledStatementImpl.java new file mode 100644 index 000000000..6dd66a09b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLabeledStatementImpl.java @@ -0,0 +1,51 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class ZigLabeledStatementImpl extends ASTWrapperPsiElement implements ZigLabeledStatement { + + public ZigLabeledStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitLabeledStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigBlock getBlock() { + return findChildByClass(ZigBlock.class); + } + + @Override + @Nullable + public ZigBlockLabel getBlockLabel() { + return findChildByClass(ZigBlockLabel.class); + } + + @Override + @Nullable + public ZigLoopStatement getLoopStatement() { + return findChildByClass(ZigLoopStatement.class); + } + + @Override + @Nullable + public ZigSwitchExpr getSwitchExpr() { + return findChildByClass(ZigSwitchExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLabeledTypeExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLabeledTypeExprImpl.java new file mode 100644 index 000000000..0476d5be1 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLabeledTypeExprImpl.java @@ -0,0 +1,45 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class ZigLabeledTypeExprImpl extends ZigExprImpl implements ZigLabeledTypeExpr { + + public ZigLabeledTypeExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitLabeledTypeExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigBlock getBlock() { + return findChildByClass(ZigBlock.class); + } + + @Override + @Nullable + public ZigBlockLabel getBlockLabel() { + return findChildByClass(ZigBlockLabel.class); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLinkSectionImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLinkSectionImpl.java new file mode 100644 index 000000000..bb17d3504 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLinkSectionImpl.java @@ -0,0 +1,55 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigLinkSection; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigLinkSectionImpl extends ASTWrapperPsiElement implements ZigLinkSection { + + public ZigLinkSectionImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitLinkSection(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getKeywordLinksection() { + return findNotNullChildByType(KEYWORD_LINKSECTION); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopExprImpl.java new file mode 100644 index 000000000..1911dcf2b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigLoopExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_INLINE; + +public class ZigLoopExprImpl extends ZigExprImpl implements ZigLoopExpr { + + public ZigLoopExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitLoopExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getKeywordInline() { + return findChildByType(KEYWORD_INLINE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopStatementImpl.java new file mode 100644 index 000000000..d756f1a2a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopStatementImpl.java @@ -0,0 +1,51 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigForStatement; +import com.falsepattern.zigbrains.zig.psi.ZigLoopStatement; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.falsepattern.zigbrains.zig.psi.ZigWhileStatement; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_INLINE; + +public class ZigLoopStatementImpl extends ASTWrapperPsiElement implements ZigLoopStatement { + + public ZigLoopStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitLoopStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigForStatement getForStatement() { + return findChildByClass(ZigForStatement.class); + } + + @Override + @Nullable + public ZigWhileStatement getWhileStatement() { + return findChildByClass(ZigWhileStatement.class); + } + + @Override + @Nullable + public PsiElement getKeywordInline() { + return findChildByType(KEYWORD_INLINE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopTypeExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopTypeExprImpl.java new file mode 100644 index 000000000..ea3f73ca9 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigLoopTypeExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigLoopTypeExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_INLINE; + +public class ZigLoopTypeExprImpl extends ZigExprImpl implements ZigLoopTypeExpr { + + public ZigLoopTypeExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitLoopTypeExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getKeywordInline() { + return findChildByType(KEYWORD_INLINE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigMultiplyExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigMultiplyExprImpl.java new file mode 100644 index 000000000..393d756ea --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigMultiplyExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigMultiplyExpr; +import com.falsepattern.zigbrains.zig.psi.ZigMultiplyOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigMultiplyExprImpl extends ZigExprImpl implements ZigMultiplyExpr { + + public ZigMultiplyExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitMultiplyExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @NotNull + public List getMultiplyOpList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigMultiplyOp.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigMultiplyOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigMultiplyOpImpl.java new file mode 100644 index 000000000..900e91efe --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigMultiplyOpImpl.java @@ -0,0 +1,73 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigMultiplyOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigMultiplyOpImpl extends ASTWrapperPsiElement implements ZigMultiplyOp { + + public ZigMultiplyOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitMultiplyOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public PsiElement getAsterisk() { + return findChildByType(ASTERISK); + } + + @Override + @Nullable + public PsiElement getAsterisk2() { + return findChildByType(ASTERISK2); + } + + @Override + @Nullable + public PsiElement getAsteriskpercent() { + return findChildByType(ASTERISKPERCENT); + } + + @Override + @Nullable + public PsiElement getAsteriskpipe() { + return findChildByType(ASTERISKPIPE); + } + + @Override + @Nullable + public PsiElement getPercent() { + return findChildByType(PERCENT); + } + + @Override + @Nullable + public PsiElement getPipe2() { + return findChildByType(PIPE2); + } + + @Override + @Nullable + public PsiElement getSlash() { + return findChildByType(SLASH); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamDeclImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamDeclImpl.java new file mode 100644 index 000000000..1f2317cea --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamDeclImpl.java @@ -0,0 +1,74 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigParamDecl; +import com.falsepattern.zigbrains.zig.psi.ZigParamType; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigParamDeclImpl extends ASTWrapperPsiElement implements ZigParamDecl { + + public ZigParamDeclImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitParamDecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigParamType getParamType() { + return findChildByClass(ZigParamType.class); + } + + @Override + @Nullable + public PsiElement getColon() { + return findChildByType(COLON); + } + + @Override + @Nullable + public PsiElement getDocComment() { + return findChildByType(DOC_COMMENT); + } + + @Override + @Nullable + public PsiElement getDot3() { + return findChildByType(DOT3); + } + + @Override + @Nullable + public PsiElement getIdentifier() { + return findChildByType(IDENTIFIER); + } + + @Override + @Nullable + public PsiElement getKeywordComptime() { + return findChildByType(KEYWORD_COMPTIME); + } + + @Override + @Nullable + public PsiElement getKeywordNoalias() { + return findChildByType(KEYWORD_NOALIAS); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamDeclListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamDeclListImpl.java new file mode 100644 index 000000000..e1c4e122a --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamDeclListImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigParamDecl; +import com.falsepattern.zigbrains.zig.psi.ZigParamDeclList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigParamDeclListImpl extends ASTWrapperPsiElement implements ZigParamDeclList { + + public ZigParamDeclListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitParamDeclList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getParamDeclList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigParamDecl.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamTypeImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamTypeImpl.java new file mode 100644 index 000000000..81cfa4f37 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigParamTypeImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigParamType; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ANYTYPE; + +public class ZigParamTypeImpl extends ASTWrapperPsiElement implements ZigParamType { + + public ZigParamTypeImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitParamType(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getKeywordAnytype() { + return findChildByType(KEYWORD_ANYTYPE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPayloadImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPayloadImpl.java new file mode 100644 index 000000000..01a522af7 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPayloadImpl.java @@ -0,0 +1,36 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigPayload; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.IDENTIFIER; + +public class ZigPayloadImpl extends ASTWrapperPsiElement implements ZigPayload { + + public ZigPayloadImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPayload(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public PsiElement getIdentifier() { + return findNotNullChildByType(IDENTIFIER); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixExprImpl.java new file mode 100644 index 000000000..c87bee426 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigPrefixExpr; +import com.falsepattern.zigbrains.zig.psi.ZigPrefixOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigPrefixExprImpl extends ZigExprImpl implements ZigPrefixExpr { + + public ZigPrefixExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPrefixExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public List getPrefixOpList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigPrefixOp.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixOpImpl.java new file mode 100644 index 000000000..c21671998 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixOpImpl.java @@ -0,0 +1,73 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigPrefixOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigPrefixOpImpl extends ASTWrapperPsiElement implements ZigPrefixOp { + + public ZigPrefixOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPrefixOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public PsiElement getAmpersand() { + return findChildByType(AMPERSAND); + } + + @Override + @Nullable + public PsiElement getExclamationmark() { + return findChildByType(EXCLAMATIONMARK); + } + + @Override + @Nullable + public PsiElement getKeywordAwait() { + return findChildByType(KEYWORD_AWAIT); + } + + @Override + @Nullable + public PsiElement getKeywordTry() { + return findChildByType(KEYWORD_TRY); + } + + @Override + @Nullable + public PsiElement getMinus() { + return findChildByType(MINUS); + } + + @Override + @Nullable + public PsiElement getMinuspercent() { + return findChildByType(MINUSPERCENT); + } + + @Override + @Nullable + public PsiElement getTilde() { + return findChildByType(TILDE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixTypeOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixTypeOpImpl.java new file mode 100644 index 000000000..00cd8f51b --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrefixTypeOpImpl.java @@ -0,0 +1,87 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigPrefixTypeOpImpl extends ASTWrapperPsiElement implements ZigPrefixTypeOp { + + public ZigPrefixTypeOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPrefixTypeOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getAddrSpaceList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigAddrSpace.class); + } + + @Override + @Nullable + public ZigArrayTypeStart getArrayTypeStart() { + return findChildByClass(ZigArrayTypeStart.class); + } + + @Override + @NotNull + public List getByteAlignList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigByteAlign.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public ZigPtrTypeStart getPtrTypeStart() { + return findChildByClass(ZigPtrTypeStart.class); + } + + @Override + @Nullable + public ZigSliceTypeStart getSliceTypeStart() { + return findChildByClass(ZigSliceTypeStart.class); + } + + @Override + @Nullable + public PsiElement getKeywordAnyframe() { + return findChildByType(KEYWORD_ANYFRAME); + } + + @Override + @Nullable + public PsiElement getMinusrarrow() { + return findChildByType(MINUSRARROW); + } + + @Override + @Nullable + public PsiElement getQuestionmark() { + return findChildByType(QUESTIONMARK); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrimaryExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrimaryExprImpl.java new file mode 100644 index 000000000..0e898516f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrimaryExprImpl.java @@ -0,0 +1,90 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigPrimaryExprImpl extends ZigExprImpl implements ZigPrimaryExpr { + + public ZigPrimaryExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPrimaryExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigBlock getBlock() { + return findChildByClass(ZigBlock.class); + } + + @Override + @Nullable + public ZigBlockLabel getBlockLabel() { + return findChildByClass(ZigBlockLabel.class); + } + + @Override + @Nullable + public ZigBreakLabel getBreakLabel() { + return findChildByClass(ZigBreakLabel.class); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getKeywordBreak() { + return findChildByType(KEYWORD_BREAK); + } + + @Override + @Nullable + public PsiElement getKeywordComptime() { + return findChildByType(KEYWORD_COMPTIME); + } + + @Override + @Nullable + public PsiElement getKeywordContinue() { + return findChildByType(KEYWORD_CONTINUE); + } + + @Override + @Nullable + public PsiElement getKeywordNosuspend() { + return findChildByType(KEYWORD_NOSUSPEND); + } + + @Override + @Nullable + public PsiElement getKeywordResume() { + return findChildByType(KEYWORD_RESUME); + } + + @Override + @Nullable + public PsiElement getKeywordReturn() { + return findChildByType(KEYWORD_RETURN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrimaryTypeExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrimaryTypeExprImpl.java new file mode 100644 index 000000000..bbfe1fac2 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPrimaryTypeExprImpl.java @@ -0,0 +1,132 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigPrimaryTypeExprImpl extends ZigExprImpl implements ZigPrimaryTypeExpr { + + public ZigPrimaryTypeExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPrimaryTypeExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigContainerDecl getContainerDecl() { + return findChildByClass(ZigContainerDecl.class); + } + + @Override + @Nullable + public ZigErrorSetDecl getErrorSetDecl() { + return findChildByClass(ZigErrorSetDecl.class); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigFnCallArguments getFnCallArguments() { + return findChildByClass(ZigFnCallArguments.class); + } + + @Override + @Nullable + public ZigFnProto getFnProto() { + return findChildByClass(ZigFnProto.class); + } + + @Override + @Nullable + public ZigInitList getInitList() { + return findChildByClass(ZigInitList.class); + } + + @Override + @Nullable + public ZigStringLiteral getStringLiteral() { + return findChildByClass(ZigStringLiteral.class); + } + + @Override + @Nullable + public PsiElement getBuiltinidentifier() { + return findChildByType(BUILTINIDENTIFIER); + } + + @Override + @Nullable + public PsiElement getCharLiteral() { + return findChildByType(CHAR_LITERAL); + } + + @Override + @Nullable + public PsiElement getDot() { + return findChildByType(DOT); + } + + @Override + @Nullable + public PsiElement getFloat() { + return findChildByType(FLOAT); + } + + @Override + @Nullable + public PsiElement getIdentifier() { + return findChildByType(IDENTIFIER); + } + + @Override + @Nullable + public PsiElement getInteger() { + return findChildByType(INTEGER); + } + + @Override + @Nullable + public PsiElement getKeywordAnyframe() { + return findChildByType(KEYWORD_ANYFRAME); + } + + @Override + @Nullable + public PsiElement getKeywordComptime() { + return findChildByType(KEYWORD_COMPTIME); + } + + @Override + @Nullable + public PsiElement getKeywordError() { + return findChildByType(KEYWORD_ERROR); + } + + @Override + @Nullable + public PsiElement getKeywordUnreachable() { + return findChildByType(KEYWORD_UNREACHABLE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrIndexPayloadImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrIndexPayloadImpl.java new file mode 100644 index 000000000..41b5903ea --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrIndexPayloadImpl.java @@ -0,0 +1,27 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigPtrIndexPayload; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +public class ZigPtrIndexPayloadImpl extends ASTWrapperPsiElement implements ZigPtrIndexPayload { + + public ZigPtrIndexPayloadImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPtrIndexPayload(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrPayloadImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrPayloadImpl.java new file mode 100644 index 000000000..22ca6d55f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrPayloadImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigPtrPayload; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.ASTERISK; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.IDENTIFIER; + +public class ZigPtrPayloadImpl extends ASTWrapperPsiElement implements ZigPtrPayload { + + public ZigPtrPayloadImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPtrPayload(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public PsiElement getAsterisk() { + return findChildByType(ASTERISK); + } + + @Override + @NotNull + public PsiElement getIdentifier() { + return findNotNullChildByType(IDENTIFIER); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrTypeStartImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrTypeStartImpl.java new file mode 100644 index 000000000..58958cf83 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigPtrTypeStartImpl.java @@ -0,0 +1,68 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigPtrTypeStart; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigPtrTypeStartImpl extends ASTWrapperPsiElement implements ZigPtrTypeStart { + + public ZigPtrTypeStartImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitPtrTypeStart(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getAsterisk() { + return findChildByType(ASTERISK); + } + + @Override + @Nullable + public PsiElement getAsterisk2() { + return findChildByType(ASTERISK2); + } + + @Override + @Nullable + public PsiElement getColon() { + return findChildByType(COLON); + } + + @Override + @Nullable + public PsiElement getLbracket() { + return findChildByType(LBRACKET); + } + + @Override + @Nullable + public PsiElement getRbracket() { + return findChildByType(RBRACKET); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSingleAssignExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSingleAssignExprImpl.java new file mode 100644 index 000000000..7bd5c3933 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSingleAssignExprImpl.java @@ -0,0 +1,45 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigAssignOp; +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigSingleAssignExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class ZigSingleAssignExprImpl extends ZigExprImpl implements ZigSingleAssignExpr { + + public ZigSingleAssignExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSingleAssignExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAssignOp getAssignOp() { + return findChildByClass(ZigAssignOp.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSliceTypeStartImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSliceTypeStartImpl.java new file mode 100644 index 000000000..8acce2ea7 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSliceTypeStartImpl.java @@ -0,0 +1,56 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigSliceTypeStart; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigSliceTypeStartImpl extends ASTWrapperPsiElement implements ZigSliceTypeStart { + + public ZigSliceTypeStartImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSliceTypeStart(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getColon() { + return findChildByType(COLON); + } + + @Override + @NotNull + public PsiElement getLbracket() { + return findNotNullChildByType(LBRACKET); + } + + @Override + @NotNull + public PsiElement getRbracket() { + return findNotNullChildByType(RBRACKET); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStatementImpl.java new file mode 100644 index 000000000..edbe4619f --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStatementImpl.java @@ -0,0 +1,96 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigStatementImpl extends ASTWrapperPsiElement implements ZigStatement { + + public ZigStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigBlockExprStatement getBlockExprStatement() { + return findChildByClass(ZigBlockExprStatement.class); + } + + @Override + @Nullable + public ZigComptimeStatement getComptimeStatement() { + return findChildByClass(ZigComptimeStatement.class); + } + + @Override + @Nullable + public ZigIfStatement getIfStatement() { + return findChildByClass(ZigIfStatement.class); + } + + @Override + @Nullable + public ZigLabeledStatement getLabeledStatement() { + return findChildByClass(ZigLabeledStatement.class); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @Nullable + public ZigVarDeclExprStatement getVarDeclExprStatement() { + return findChildByClass(ZigVarDeclExprStatement.class); + } + + @Override + @Nullable + public PsiElement getKeywordComptime() { + return findChildByType(KEYWORD_COMPTIME); + } + + @Override + @Nullable + public PsiElement getKeywordDefer() { + return findChildByType(KEYWORD_DEFER); + } + + @Override + @Nullable + public PsiElement getKeywordErrdefer() { + return findChildByType(KEYWORD_ERRDEFER); + } + + @Override + @Nullable + public PsiElement getKeywordNosuspend() { + return findChildByType(KEYWORD_NOSUSPEND); + } + + @Override + @Nullable + public PsiElement getKeywordSuspend() { + return findChildByType(KEYWORD_SUSPEND); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStringListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStringListImpl.java new file mode 100644 index 000000000..541ac5f58 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStringListImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigStringList; +import com.falsepattern.zigbrains.zig.psi.ZigStringLiteral; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigStringListImpl extends ASTWrapperPsiElement implements ZigStringList { + + public ZigStringListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitStringList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getStringLiteralList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigStringLiteral.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStringLiteralImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStringLiteralImpl.java new file mode 100644 index 000000000..3bc872910 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigStringLiteralImpl.java @@ -0,0 +1,26 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigStringLiteral; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +public class ZigStringLiteralImpl extends ASTWrapperPsiElement implements ZigStringLiteral { + + public ZigStringLiteralImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitStringLiteral(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSuffixExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSuffixExprImpl.java new file mode 100644 index 000000000..41b2ea391 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSuffixExprImpl.java @@ -0,0 +1,57 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ASYNC; + +public class ZigSuffixExprImpl extends ZigExprImpl implements ZigSuffixExpr { + + public ZigSuffixExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSuffixExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public List getFnCallArgumentsList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigFnCallArguments.class); + } + + @Override + @NotNull + public List getSuffixOpList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigSuffixOp.class); + } + + @Override + @Nullable + public PsiElement getKeywordAsync() { + return findChildByType(KEYWORD_ASYNC); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSuffixOpImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSuffixOpImpl.java new file mode 100644 index 000000000..6cc43ac6c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSuffixOpImpl.java @@ -0,0 +1,89 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigSuffixOp; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigSuffixOpImpl extends ASTWrapperPsiElement implements ZigSuffixOp { + + public ZigSuffixOpImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSuffixOp(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getColon() { + return findChildByType(COLON); + } + + @Override + @Nullable + public PsiElement getDot() { + return findChildByType(DOT); + } + + @Override + @Nullable + public PsiElement getDot2() { + return findChildByType(DOT2); + } + + @Override + @Nullable + public PsiElement getDotasterisk() { + return findChildByType(DOTASTERISK); + } + + @Override + @Nullable + public PsiElement getDotquestionmark() { + return findChildByType(DOTQUESTIONMARK); + } + + @Override + @Nullable + public PsiElement getIdentifier() { + return findChildByType(IDENTIFIER); + } + + @Override + @Nullable + public PsiElement getLbracket() { + return findChildByType(LBRACKET); + } + + @Override + @Nullable + public PsiElement getRbracket() { + return findChildByType(RBRACKET); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchCaseImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchCaseImpl.java new file mode 100644 index 000000000..93e03b624 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchCaseImpl.java @@ -0,0 +1,47 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigSwitchCase; +import com.falsepattern.zigbrains.zig.psi.ZigSwitchItem; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; + +public class ZigSwitchCaseImpl extends ASTWrapperPsiElement implements ZigSwitchCase { + + public ZigSwitchCaseImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSwitchCase(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getSwitchItemList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigSwitchItem.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchExprImpl.java new file mode 100644 index 000000000..2f256c78e --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchExprImpl.java @@ -0,0 +1,75 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigSwitchExpr; +import com.falsepattern.zigbrains.zig.psi.ZigSwitchProngList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigSwitchExprImpl extends ZigExprImpl implements ZigSwitchExpr { + + public ZigSwitchExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSwitchExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigSwitchProngList getSwitchProngList() { + return findChildByClass(ZigSwitchProngList.class); + } + + @Override + @NotNull + public PsiElement getKeywordSwitch() { + return findNotNullChildByType(KEYWORD_SWITCH); + } + + @Override + @Nullable + public PsiElement getLbrace() { + return findChildByType(LBRACE); + } + + @Override + @Nullable + public PsiElement getLparen() { + return findChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getRbrace() { + return findChildByType(RBRACE); + } + + @Override + @Nullable + public PsiElement getRparen() { + return findChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchItemImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchItemImpl.java new file mode 100644 index 000000000..b0d561bb3 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchItemImpl.java @@ -0,0 +1,47 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigSwitchItem; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.DOT3; + +public class ZigSwitchItemImpl extends ASTWrapperPsiElement implements ZigSwitchItem { + + public ZigSwitchItemImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSwitchItem(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public PsiElement getDot3() { + return findChildByType(DOT3); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchProngImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchProngImpl.java new file mode 100644 index 000000000..8b6785678 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchProngImpl.java @@ -0,0 +1,61 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.EQUALRARROW; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_INLINE; + +public class ZigSwitchProngImpl extends ASTWrapperPsiElement implements ZigSwitchProng { + + public ZigSwitchProngImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSwitchProng(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigPtrIndexPayload getPtrIndexPayload() { + return findChildByClass(ZigPtrIndexPayload.class); + } + + @Override + @NotNull + public ZigSwitchCase getSwitchCase() { + return findNotNullChildByClass(ZigSwitchCase.class); + } + + @Override + @NotNull + public PsiElement getEqualrarrow() { + return findNotNullChildByType(EQUALRARROW); + } + + @Override + @Nullable + public PsiElement getKeywordInline() { + return findChildByType(KEYWORD_INLINE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchProngListImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchProngListImpl.java new file mode 100644 index 000000000..a6af29b05 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigSwitchProngListImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigSwitchProng; +import com.falsepattern.zigbrains.zig.psi.ZigSwitchProngList; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigSwitchProngListImpl extends ASTWrapperPsiElement implements ZigSwitchProngList { + + public ZigSwitchProngListImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitSwitchProngList(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getSwitchProngList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigSwitchProng.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigTestDeclImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigTestDeclImpl.java new file mode 100644 index 000000000..4813fe852 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigTestDeclImpl.java @@ -0,0 +1,56 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigBlock; +import com.falsepattern.zigbrains.zig.psi.ZigTestDecl; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigTestDeclImpl extends ASTWrapperPsiElement implements ZigTestDecl { + + public ZigTestDeclImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitTestDecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigBlock getBlock() { + return findChildByClass(ZigBlock.class); + } + + @Override + @Nullable + public PsiElement getIdentifier() { + return findChildByType(IDENTIFIER); + } + + @Override + @NotNull + public PsiElement getKeywordTest() { + return findNotNullChildByType(KEYWORD_TEST); + } + + @Override + @Nullable + public PsiElement getStringLiteralSingle() { + return findChildByType(STRING_LITERAL_SINGLE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigTypeExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigTypeExprImpl.java new file mode 100644 index 000000000..d946ba989 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigTypeExprImpl.java @@ -0,0 +1,44 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigPrefixTypeOp; +import com.falsepattern.zigbrains.zig.psi.ZigTypeExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ZigTypeExprImpl extends ZigExprImpl implements ZigTypeExpr { + + public ZigTypeExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitTypeExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public List getPrefixTypeOpList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigPrefixTypeOp.class); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigVarDeclExprStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigVarDeclExprStatementImpl.java new file mode 100644 index 000000000..81d355bcb --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigVarDeclExprStatementImpl.java @@ -0,0 +1,64 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.EQUAL; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.SEMICOLON; + +public class ZigVarDeclExprStatementImpl extends ASTWrapperPsiElement implements ZigVarDeclExprStatement { + + public ZigVarDeclExprStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitVarDeclExprStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAssignOp getAssignOp() { + return findChildByClass(ZigAssignOp.class); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @NotNull + public List getVarDeclProtoList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigVarDeclProto.class); + } + + @Override + @Nullable + public PsiElement getEqual() { + return findChildByType(EQUAL); + } + + @Override + @Nullable + public PsiElement getSemicolon() { + return findChildByType(SEMICOLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigVarDeclProtoImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigVarDeclProtoImpl.java new file mode 100644 index 000000000..f213c8aa5 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigVarDeclProtoImpl.java @@ -0,0 +1,78 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigVarDeclProtoImpl extends ASTWrapperPsiElement implements ZigVarDeclProto { + + public ZigVarDeclProtoImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitVarDeclProto(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigAddrSpace getAddrSpace() { + return findChildByClass(ZigAddrSpace.class); + } + + @Override + @Nullable + public ZigByteAlign getByteAlign() { + return findChildByClass(ZigByteAlign.class); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigLinkSection getLinkSection() { + return findChildByClass(ZigLinkSection.class); + } + + @Override + @Nullable + public PsiElement getColon() { + return findChildByType(COLON); + } + + @Override + @Nullable + public PsiElement getIdentifier() { + return findChildByType(IDENTIFIER); + } + + @Override + @Nullable + public PsiElement getKeywordConst() { + return findChildByType(KEYWORD_CONST); + } + + @Override + @Nullable + public PsiElement getKeywordVar() { + return findChildByType(KEYWORD_VAR); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileContinueExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileContinueExprImpl.java new file mode 100644 index 000000000..ef6c0ccae --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileContinueExprImpl.java @@ -0,0 +1,55 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.falsepattern.zigbrains.zig.psi.ZigWhileContinueExpr; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigWhileContinueExprImpl extends ZigExprImpl implements ZigWhileContinueExpr { + + public ZigWhileContinueExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitWhileContinueExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public ZigExpr getExpr() { + return findNotNullChildByClass(ZigExpr.class); + } + + @Override + @NotNull + public PsiElement getColon() { + return findNotNullChildByType(COLON); + } + + @Override + @NotNull + public PsiElement getLparen() { + return findNotNullChildByType(LPAREN); + } + + @Override + @NotNull + public PsiElement getRparen() { + return findNotNullChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileExprImpl.java new file mode 100644 index 000000000..8e21f3e31 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileExprImpl.java @@ -0,0 +1,57 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; + +public class ZigWhileExprImpl extends ZigExprImpl implements ZigWhileExpr { + + public ZigWhileExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitWhileExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @NotNull + public ZigWhilePrefix getWhilePrefix() { + return findNotNullChildByClass(ZigWhilePrefix.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhilePrefixImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhilePrefixImpl.java new file mode 100644 index 000000000..407f7940c --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhilePrefixImpl.java @@ -0,0 +1,66 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.ZigExpr; +import com.falsepattern.zigbrains.zig.psi.ZigPtrPayload; +import com.falsepattern.zigbrains.zig.psi.ZigVisitor; +import com.falsepattern.zigbrains.zig.psi.ZigWhilePrefix; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.*; + +public class ZigWhilePrefixImpl extends ASTWrapperPsiElement implements ZigWhilePrefix { + + public ZigWhilePrefixImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitWhilePrefix(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public ZigPtrPayload getPtrPayload() { + return findChildByClass(ZigPtrPayload.class); + } + + @Override + @NotNull + public PsiElement getKeywordWhile() { + return findNotNullChildByType(KEYWORD_WHILE); + } + + @Override + @Nullable + public PsiElement getLparen() { + return findChildByType(LPAREN); + } + + @Override + @Nullable + public PsiElement getRparen() { + return findChildByType(RPAREN); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileStatementImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileStatementImpl.java new file mode 100644 index 000000000..5f109b009 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileStatementImpl.java @@ -0,0 +1,67 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.SEMICOLON; + +public class ZigWhileStatementImpl extends ASTWrapperPsiElement implements ZigWhileStatement { + + public ZigWhileStatementImpl(@NotNull ASTNode node) { + super(node); + } + + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitWhileStatement(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public ZigExpr getExpr() { + return findChildByClass(ZigExpr.class); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @Nullable + public ZigStatement getStatement() { + return findChildByClass(ZigStatement.class); + } + + @Override + @NotNull + public ZigWhilePrefix getWhilePrefix() { + return findNotNullChildByClass(ZigWhilePrefix.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + + @Override + @Nullable + public PsiElement getSemicolon() { + return findChildByType(SEMICOLON); + } + +} diff --git a/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileTypeExprImpl.java b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileTypeExprImpl.java new file mode 100644 index 000000000..272b356d6 --- /dev/null +++ b/src/test/java/com/falsepattern/zigbrains/zig/psi/impl/ZigWhileTypeExprImpl.java @@ -0,0 +1,57 @@ +// This is a generated file. Not intended for manual editing. +package com.falsepattern.zigbrains.zig.psi.impl; + +import com.falsepattern.zigbrains.zig.psi.*; +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.falsepattern.zigbrains.zig.psi.ZigTypes.KEYWORD_ELSE; + +public class ZigWhileTypeExprImpl extends ZigExprImpl implements ZigWhileTypeExpr { + + public ZigWhileTypeExprImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull ZigVisitor visitor) { + visitor.visitWhileTypeExpr(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof ZigVisitor) accept((ZigVisitor)visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExprList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, ZigExpr.class); + } + + @Override + @Nullable + public ZigPayload getPayload() { + return findChildByClass(ZigPayload.class); + } + + @Override + @NotNull + public ZigWhilePrefix getWhilePrefix() { + return findNotNullChildByClass(ZigWhilePrefix.class); + } + + @Override + @Nullable + public PsiElement getKeywordElse() { + return findChildByType(KEYWORD_ELSE); + } + +} diff --git a/src/test/kotlin/com/falsepattern/zigbrains/LICENSE b/src/test/kotlin/com/falsepattern/zigbrains/LICENSE new file mode 100644 index 000000000..4cb800976 --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/LICENSE @@ -0,0 +1,32 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +Zigbrains is Copyright (C) 2023-2025 FalsePattern, All Rights Reserved +ZigBrains is licensed under the LGPLv3 license. + +The generated zig parser, lexer, and the following classes: +com.falsepattern.zigbrains.zig.ZigFileType +com.falsepattern.zigbrains.zig.ZigLanguage +com.falsepattern.zigbrains.zig.psi.ZigFile +com.falsepattern.zigbrains.zig.parser.ZigElementType +com.falsepattern.zigbrains.zig.parser.ZigParserDefinition +com.falsepattern.zigbrains.zig.parser.ZigTokenSets +com.falsepattern.zigbrains.zig.parser.ZigTokenType +com.falsepattern.zigbrains.zig.lexer.ZigLexerAdapter + +have been dual-licensed under the EPL2.0 license for use in testing +of the LSP4IJ plugin. +This message, along with the attached signature, signed by +FalsePattern's PGP key, shall serve as proof of this. + +-----BEGIN PGP SIGNATURE----- + +iQEzBAEBCgAdFiEE4S1HwWvKg24eRaEg6TDN7FDFDiMFAmerq5QACgkQ6TDN7FDF +DiN7WAgAvWjmAwupQUup/B9m2vkGBdGXpu600XnWm3vGc8krwhcZXvTY33M9nNis +t2sNbrugBiCqQtkvM3cPXcRaf765ahSBuzmVUfshyDC5HTpaAKSYavq2iT4CE4Xb +4hPGJ6GT25n+BkTGwYr73leYEQYsWfL9uEGZL+bf1sMNRQAGUROmBCYCXYRvwQye +/vSrvGymhHkDvwZMs+p5hzID1Z6Sc9LLQJyyViJf3lZresS1KbxPHz63ACjJaNu/ ++SNNXS+zI05HrJoR01q9ma7BQPMn/elqPinapC3nHAbqYYBjqv8N+9oDQk+RjNdC +PQAkfdgRJkfrGlTHX047mOSoC15VXw== +=S7Yw +-----END PGP SIGNATURE----- \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/ZigFileType.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/ZigFileType.kt new file mode 100644 index 000000000..6d3c533d0 --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/ZigFileType.kt @@ -0,0 +1,35 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig + +import com.intellij.openapi.fileTypes.LanguageFileType + +object ZigFileType : LanguageFileType(ZigLanguage) { + override fun getName() = "Zig File" + + override fun getDescription() = "Zig File" + + override fun getDefaultExtension() = "zig" + + override fun getIcon() = null +} \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/ZigLanguage.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/ZigLanguage.kt new file mode 100644 index 000000000..6bd9b4a5d --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/ZigLanguage.kt @@ -0,0 +1,29 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig + +import com.intellij.lang.Language + +object ZigLanguage: Language("Zig") { + private fun readResolve(): Any = ZigLanguage +} \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/lexer/ZigLexerAdapter.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/lexer/ZigLexerAdapter.kt new file mode 100644 index 000000000..35510a383 --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/lexer/ZigLexerAdapter.kt @@ -0,0 +1,27 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig.lexer + +import com.intellij.lexer.FlexAdapter + +class ZigLexerAdapter: FlexAdapter(ZigFlexLexer(null)) \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigElementType.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigElementType.kt new file mode 100644 index 000000000..d8ab9e720 --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigElementType.kt @@ -0,0 +1,28 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig.parser + +import com.falsepattern.zigbrains.zig.ZigLanguage +import com.intellij.psi.tree.IElementType + +class ZigElementType(debugName: String): IElementType(debugName, ZigLanguage) \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigParserDefinition.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigParserDefinition.kt new file mode 100644 index 000000000..a8161e719 --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigParserDefinition.kt @@ -0,0 +1,52 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig.parser + +import com.falsepattern.zigbrains.zig.ZigLanguage +import com.falsepattern.zigbrains.zig.lexer.ZigLexerAdapter +import com.falsepattern.zigbrains.zig.psi.ZigFile +import com.falsepattern.zigbrains.zig.psi.ZigTypes +import com.intellij.lang.ASTNode +import com.intellij.lang.ParserDefinition +import com.intellij.openapi.project.Project +import com.intellij.psi.FileViewProvider +import com.intellij.psi.tree.IFileElementType + +class ZigParserDefinition : ParserDefinition { + override fun createLexer(project: Project?) = ZigLexerAdapter() + + override fun createParser(project: Project?) = ZigParser() + + override fun getFileNodeType() = FILE + + override fun getCommentTokens() = ZigTokenSets.COMMENTS + + override fun getStringLiteralElements() = ZigTokenSets.STRINGS + + override fun createElement(node: ASTNode?) = ZigTypes.Factory.createElement(node)!! + + override fun createFile(viewProvider: FileViewProvider) = ZigFile(viewProvider) + +} + +val FILE = IFileElementType(ZigLanguage) \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigTokenSets.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigTokenSets.kt new file mode 100644 index 000000000..88b69d7fb --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigTokenSets.kt @@ -0,0 +1,31 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig.parser + +import com.falsepattern.zigbrains.zig.psi.ZigTypes +import com.intellij.psi.tree.TokenSet + +object ZigTokenSets { + val COMMENTS = TokenSet.create(ZigTypes.LINE_COMMENT, ZigTypes.DOC_COMMENT, ZigTypes.CONTAINER_DOC_COMMENT) + val STRINGS = TokenSet.create(ZigTypes.STRING_LITERAL_SINGLE, ZigTypes.STRING_LITERAL_MULTI) +} \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigTokenType.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigTokenType.kt new file mode 100644 index 000000000..9558a4278 --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/parser/ZigTokenType.kt @@ -0,0 +1,28 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig.parser + +import com.falsepattern.zigbrains.zig.ZigLanguage +import com.intellij.psi.tree.IElementType + +class ZigTokenType(debugName: String): IElementType(debugName, ZigLanguage) \ No newline at end of file diff --git a/src/test/kotlin/com/falsepattern/zigbrains/zig/psi/ZigFile.kt b/src/test/kotlin/com/falsepattern/zigbrains/zig/psi/ZigFile.kt new file mode 100644 index 000000000..94bf96db8 --- /dev/null +++ b/src/test/kotlin/com/falsepattern/zigbrains/zig/psi/ZigFile.kt @@ -0,0 +1,34 @@ +/* + * This file is part of ZigBrains. + * + * Copyright (C) 2023-2025 FalsePattern + * All Rights Reserved + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * ZigBrains is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * ZigBrains is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with ZigBrains. If not, see . + */ + +package com.falsepattern.zigbrains.zig.psi + +import com.falsepattern.zigbrains.zig.ZigFileType +import com.falsepattern.zigbrains.zig.ZigLanguage +import com.intellij.extapi.psi.PsiFileBase +import com.intellij.psi.FileViewProvider + +class ZigFile(viewProvider: FileViewProvider): PsiFileBase(viewProvider, ZigLanguage) { + override fun getFileType() = ZigFileType + + override fun toString() = ZigFileType.name +} \ No newline at end of file