diff --git a/gen/intellij/haskell/_HaskellLexer.java b/gen/intellij/haskell/_HaskellLexer.java index b1c4e326d..85e6f685c 100644 --- a/gen/intellij/haskell/_HaskellLexer.java +++ b/gen/intellij/haskell/_HaskellLexer.java @@ -15,13 +15,19 @@ */ public class _HaskellLexer implements FlexLexer { - /** This character denotes the end of file */ + /** + * This character denotes the end of file + */ public static final int YYEOF = -1; - /** initial size of the lookahead buffer */ + /** + * initial size of the lookahead buffer + */ private static final int ZZ_BUFFERSIZE = 16384; - /** lexical states */ + /** + * lexical states + */ public static final int YYINITIAL = 0; public static final int NCOMMENT = 2; public static final int NHADDOCK = 4; @@ -31,7 +37,7 @@ public class _HaskellLexer implements FlexLexer { /** * 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 + * 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[] = { @@ -87,22 +93,22 @@ public static int ZZ_CMAP(int ch) { "\6\5\1\47\1\50\3\5\1\51\4\5\1\52\2\5" + "\2\0\1\53\1\0\2\5\1\11\4\0\1\54\5\0" + "\2\22\1\23\3\0\1\55\1\0\1\56\4\5\1\57" + - "\1\60\1\61\1\62\1\63\3\0\1\42\2\0\1\44" + - "\1\53\2\44\4\0\1\64\17\5\1\65\2\5\20\0" + - "\1\5\1\66\1\0\1\66\3\54\1\67\1\70\1\71" + - "\20\0\1\72\1\73\4\5\1\74\16\44\1\71\17\44" + - "\6\0\1\64\15\5\1\75\1\76\2\5\1\77\13\0" + - "\1\54\1\100\1\54\15\0\1\101\1\102\2\5\27\44" + - "\7\0\1\64\3\5\1\103\6\5\1\104\3\0\1\5" + - "\1\105\3\0\1\5\1\106\1\107\1\5\1\110\4\5" + - "\6\0\1\111\1\0\3\5\1\112\1\5\1\113\2\0" + - "\1\100\3\0\1\64\1\114\1\0\1\115\2\0\2\100" + - "\3\0\1\64\7\0\1\64\7\0\1\116\5\0\1\117" + - "\1\116\2\0\1\54\5\0\1\120\1\121\1\122\3\0" + - "\1\100"; + "\1\60\1\61\1\62\1\63\3\0\1\42\1\0\1\44" + + "\1\0\1\44\1\53\2\44\4\0\1\64\17\5\1\65" + + "\2\5\20\0\1\5\1\66\1\0\1\66\3\54\1\67" + + "\1\70\1\71\20\0\1\72\1\73\4\5\1\74\16\44" + + "\1\71\17\44\6\0\1\64\15\5\1\75\1\76\2\5" + + "\1\77\13\0\1\54\1\100\1\54\15\0\1\101\1\102" + + "\2\5\27\44\7\0\1\64\3\5\1\103\6\5\1\104" + + "\3\0\1\5\1\105\3\0\1\5\1\106\1\107\1\5" + + "\1\110\4\5\6\0\1\111\1\0\3\5\1\112\1\5" + + "\1\113\2\0\1\100\3\0\1\64\1\114\1\0\1\115" + + "\2\0\2\100\3\0\1\64\7\0\1\64\7\0\1\116" + + "\5\0\1\117\1\116\2\0\1\54\5\0\1\120\1\121" + + "\1\122\3\0\1\100"; private static int[] zzUnpackAction() { - int[] result = new int[423]; + int[] result = new int[424]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -143,46 +149,46 @@ private static int zzUnpackAction(String packed, int offset, int[] result) { "\0\u1bc0\0\u1c20\0\u1c80\0\u1ce0\0\u1d40\0\u1da0\0\u1da0\0\u0cc0" + "\0\u1e00\0\u1e60\0\u1e00\0\u1ec0\0\u1f20\0\u1f80\0\u1fe0\0\u2040" + "\0\u20a0\0\u01e0\0\u01e0\0\u01e0\0\u01e0\0\u01e0\0\u10e0\0\u2100" + - "\0\u2160\0\u2100\0\u21c0\0\u2220\0\u2280\0\u11a0\0\u22e0\0\u2340" + + "\0\u2160\0\u2100\0\u21c0\0\u2220\0\u2280\0\u22e0\0\u11a0\0\u2340" + "\0\u23a0\0\u2400\0\u2460\0\u24c0\0\u2520\0\u2580\0\u25e0\0\u2640" + "\0\u26a0\0\u2700\0\u2760\0\u27c0\0\u2820\0\u2880\0\u28e0\0\u2940" + - "\0\u29a0\0\u2a00\0\u2a60\0\u2ac0\0\u05a0\0\u2b20\0\u2b80\0\u2be0" + + "\0\u29a0\0\u2a00\0\u2a60\0\u2ac0\0\u2b20\0\u05a0\0\u2b80\0\u2be0" + "\0\u2c40\0\u2ca0\0\u2d00\0\u2d60\0\u2dc0\0\u2e20\0\u2e80\0\u2ee0" + "\0\u2f40\0\u2fa0\0\u3000\0\u3060\0\u30c0\0\u3120\0\u3180\0\u31e0" + - "\0\u3240\0\u3240\0\u32a0\0\u3300\0\u3360\0\u33c0\0\u1bc0\0\u1c20" + - "\0\u01e0\0\u3420\0\u3480\0\u34e0\0\u3540\0\u35a0\0\u3600\0\u3660" + + "\0\u3240\0\u32a0\0\u32a0\0\u3300\0\u3360\0\u33c0\0\u3420\0\u1bc0" + + "\0\u1c20\0\u01e0\0\u3480\0\u34e0\0\u3540\0\u35a0\0\u3600\0\u3660" + "\0\u36c0\0\u3720\0\u3780\0\u37e0\0\u3840\0\u38a0\0\u3900\0\u3960" + - "\0\u39c0\0\u01e0\0\u01e0\0\u3a20\0\u3a80\0\u3ae0\0\u3b40\0\u01e0" + - "\0\u3ba0\0\u3c00\0\u3c60\0\u3cc0\0\u3d20\0\u3d80\0\u3de0\0\u3e40" + - "\0\u3ea0\0\u3f00\0\u3f60\0\u3fc0\0\u4020\0\u4080\0\u11a0\0\u40e0" + + "\0\u39c0\0\u3a20\0\u01e0\0\u01e0\0\u3a80\0\u3ae0\0\u3b40\0\u3ba0" + + "\0\u01e0\0\u3c00\0\u3c60\0\u3cc0\0\u3d20\0\u3d80\0\u3de0\0\u3e40" + + "\0\u3ea0\0\u3f00\0\u3f60\0\u3fc0\0\u4020\0\u4080\0\u40e0\0\u11a0" + "\0\u4140\0\u41a0\0\u4200\0\u4260\0\u42c0\0\u4320\0\u4380\0\u43e0" + "\0\u4440\0\u44a0\0\u4500\0\u4560\0\u45c0\0\u4620\0\u4680\0\u46e0" + "\0\u4740\0\u47a0\0\u4800\0\u4860\0\u48c0\0\u4920\0\u4980\0\u49e0" + "\0\u4a40\0\u4aa0\0\u4b00\0\u4b60\0\u4bc0\0\u4c20\0\u4c80\0\u4ce0" + - "\0\u4d40\0\u4da0\0\u05a0\0\u05a0\0\u4e00\0\u4e60\0\u05a0\0\u4ec0" + + "\0\u4d40\0\u4da0\0\u4e00\0\u05a0\0\u05a0\0\u4e60\0\u4ec0\0\u05a0" + "\0\u4f20\0\u4f80\0\u4fe0\0\u5040\0\u50a0\0\u5100\0\u5160\0\u51c0" + "\0\u5220\0\u5280\0\u52e0\0\u5340\0\u53a0\0\u5400\0\u5460\0\u54c0" + "\0\u5520\0\u5580\0\u55e0\0\u5640\0\u56a0\0\u5700\0\u5760\0\u57c0" + - "\0\u5820\0\u5880\0\u58e0\0\u05a0\0\u5940\0\u59a0\0\u5a00\0\u5a60" + + "\0\u5820\0\u5880\0\u58e0\0\u5940\0\u05a0\0\u59a0\0\u5a00\0\u5a60" + "\0\u5ac0\0\u5b20\0\u5b80\0\u5be0\0\u5c40\0\u5ca0\0\u5d00\0\u5d60" + "\0\u5dc0\0\u5e20\0\u5e80\0\u5ee0\0\u5f40\0\u5fa0\0\u6000\0\u6060" + "\0\u60c0\0\u6120\0\u6180\0\u61e0\0\u6240\0\u62a0\0\u6300\0\u6360" + "\0\u63c0\0\u6420\0\u6480\0\u64e0\0\u6540\0\u65a0\0\u6600\0\u6660" + - "\0\u66c0\0\u6720\0\u6780\0\u67e0\0\u6840\0\u68a0\0\u6900\0\u05a0" + - "\0\u6960\0\u69c0\0\u6a20\0\u6a80\0\u05a0\0\u6ae0\0\u6b40\0\u6ba0" + - "\0\u6c00\0\u05a0\0\u05a0\0\u6c60\0\u05a0\0\u6cc0\0\u6d20\0\u6d80" + - "\0\u6de0\0\u6e40\0\u6ea0\0\u6f00\0\u6f60\0\u6fc0\0\u7020\0\u05a0" + - "\0\u7080\0\u70e0\0\u7140\0\u71a0\0\u05a0\0\u7200\0\u05a0\0\u7260" + - "\0\u72c0\0\u7320\0\u7380\0\u73e0\0\u7440\0\u74a0\0\u05a0\0\u7500" + - "\0\u05a0\0\u7560\0\u75c0\0\u7620\0\u7680\0\u76e0\0\u7740\0\u77a0" + + "\0\u66c0\0\u6720\0\u6780\0\u67e0\0\u6840\0\u68a0\0\u6900\0\u6960" + + "\0\u05a0\0\u69c0\0\u6a20\0\u6a80\0\u6ae0\0\u05a0\0\u6b40\0\u6ba0" + + "\0\u6c00\0\u6c60\0\u05a0\0\u05a0\0\u6cc0\0\u05a0\0\u6d20\0\u6d80" + + "\0\u6de0\0\u6e40\0\u6ea0\0\u6f00\0\u6f60\0\u6fc0\0\u7020\0\u7080" + + "\0\u05a0\0\u70e0\0\u7140\0\u71a0\0\u7200\0\u05a0\0\u7260\0\u05a0" + + "\0\u72c0\0\u7320\0\u7380\0\u73e0\0\u7440\0\u74a0\0\u7500\0\u05a0" + + "\0\u7560\0\u05a0\0\u75c0\0\u7620\0\u7680\0\u76e0\0\u7740\0\u77a0" + "\0\u7800\0\u7860\0\u78c0\0\u7920\0\u7980\0\u79e0\0\u7a40\0\u7aa0" + "\0\u7b00\0\u7b60\0\u7bc0\0\u7c20\0\u7c80\0\u7ce0\0\u7d40\0\u7da0" + - "\0\u2520\0\u7e00\0\u7e60\0\u7ec0\0\u7f20\0\u7f80\0\u01e0\0\u01e0" + - "\0\u7fe0\0\u8040\0\u01e0\0\u80a0\0\u8100\0\u8160\0\u81c0\0\u8220" + - "\0\u01e0\0\u01e0\0\u01e0\0\u8280\0\u82e0\0\u8340\0\u83a0"; + "\0\u7e00\0\u2580\0\u7e60\0\u7ec0\0\u7f20\0\u7f80\0\u7fe0\0\u01e0" + + "\0\u01e0\0\u8040\0\u80a0\0\u01e0\0\u8100\0\u8160\0\u81c0\0\u8220" + + "\0\u8280\0\u01e0\0\u01e0\0\u01e0\0\u82e0\0\u8340\0\u83a0\0\u8400"; private static int[] zzUnpackRowMap() { - int[] result = new int[423]; + int[] result = new int[424]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -301,479 +307,480 @@ private static int zzUnpackRowMap(String packed, int offset, int[] result) { "\2\201\1\0\2\201\1\0\1\201\2\177\1\201\1\0" + "\1\200\1\201\1\200\17\201\1\0\3\201\1\0\11\200" + "\1\202\1\200\1\0\1\200\3\203\11\0\1\200\2\201" + - "\2\0\6\201\31\0\1\204\113\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\32\103\1\0\32\103" + - "\1\0\7\103\2\135\1\136\2\135\13\104\1\205\1\206" + - "\2\104\1\135\1\104\1\135\1\104\2\135\10\104\1\135" + - "\32\104\1\135\32\104\1\135\7\104\2\153\1\0\2\153" + - "\13\207\1\210\3\207\1\153\1\207\1\153\1\207\2\153" + - "\10\207\1\153\30\207\1\103\1\207\1\153\32\207\1\153" + - "\7\207\1\0\1\110\1\0\1\110\1\0\1\211\1\0" + - "\1\212\1\213\6\0\1\214\22\0\1\110\102\0\1\112" + - "\1\215\2\112\1\216\6\112\2\0\7\112\1\0\7\112" + - "\2\0\1\112\2\0\1\112\1\0\24\112\32\0\2\112" + - "\2\0\6\112\5\0\13\112\2\0\7\112\1\0\7\112" + + "\2\0\6\201\31\204\1\205\106\204\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\10\103\1\0\32\103\1\0" + + "\32\103\1\0\7\103\2\135\1\136\2\135\13\104\1\206" + + "\1\207\2\104\1\135\1\104\1\135\1\104\2\135\10\104" + + "\1\135\32\104\1\135\32\104\1\135\7\104\2\153\1\0" + + "\2\153\13\210\1\211\3\210\1\153\1\210\1\153\1\210" + + "\2\153\10\210\1\153\30\210\1\103\1\210\1\153\32\210" + + "\1\153\7\210\1\0\1\110\1\0\1\110\1\0\1\212" + + "\1\0\1\213\1\214\6\0\1\215\22\0\1\110\102\0" + + "\1\112\1\216\2\112\1\217\6\112\2\0\7\112\1\0" + + "\7\112\2\0\1\112\2\0\1\112\1\0\24\112\32\0" + + "\2\112\2\0\6\112\5\0\13\112\2\0\7\112\1\0" + + "\7\112\2\0\1\112\2\0\1\112\1\0\24\112\32\0" + + "\2\112\2\0\6\112\5\0\3\112\1\220\7\112\2\0" + + "\7\112\1\0\7\112\2\0\1\112\2\0\1\112\1\0" + + "\24\112\32\0\2\112\2\0\6\112\5\0\4\112\1\221" + + "\1\222\1\112\1\223\3\112\2\0\7\112\1\0\7\112" + "\2\0\1\112\2\0\1\112\1\0\24\112\32\0\2\112" + - "\2\0\6\112\5\0\3\112\1\217\7\112\2\0\7\112" + + "\2\0\6\112\5\0\4\112\1\224\6\112\2\0\7\112" + "\1\0\7\112\2\0\1\112\2\0\1\112\1\0\24\112" + - "\32\0\2\112\2\0\6\112\5\0\4\112\1\220\1\221" + - "\1\112\1\222\3\112\2\0\7\112\1\0\7\112\2\0" + + "\32\0\2\112\2\0\6\112\4\0\1\116\1\21\1\225" + + "\4\21\1\226\4\21\2\0\7\21\1\0\7\21\2\0" + + "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + + "\6\21\4\0\1\116\13\21\2\0\7\21\1\0\7\21" + + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + + "\2\0\2\21\1\227\3\21\4\0\1\116\7\21\1\230" + + "\3\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + + "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\4\0" + + "\1\116\1\21\1\231\5\21\1\232\3\21\2\0\7\21" + + "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + + "\32\0\2\21\2\0\6\21\4\0\1\116\13\21\2\0" + + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + + "\24\21\32\0\2\21\2\0\1\233\5\21\4\0\1\116" + + "\6\21\1\234\4\21\2\0\7\21\1\0\7\21\2\0" + + "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + + "\6\21\4\0\1\116\13\21\2\0\7\21\1\0\7\21" + + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + + "\2\0\4\21\1\235\1\21\4\0\1\116\13\21\2\0" + + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + + "\24\21\32\0\2\21\2\0\1\236\5\21\4\0\1\116" + + "\13\21\2\0\7\21\1\0\1\237\6\21\2\0\1\21" + + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + + "\4\0\1\116\6\21\1\240\4\21\2\0\7\21\1\0" + + "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + + "\2\21\2\0\6\21\10\0\1\241\130\0\3\242\2\0" + + "\1\135\2\0\1\135\2\0\1\135\1\243\2\0\2\135" + + "\5\0\2\135\1\0\1\135\1\244\1\135\1\245\1\0" + + "\1\135\2\0\1\242\1\246\1\0\2\135\1\247\1\250" + + "\1\251\1\252\1\253\1\254\2\0\1\255\1\256\1\0" + + "\1\257\1\260\1\254\1\251\1\0\1\135\2\0\1\251" + + "\1\135\32\0\1\135\3\0\1\135\11\0\1\116\3\21" + + "\1\261\7\21\2\0\1\140\4\21\1\141\1\21\1\0" + + "\2\21\1\141\2\21\1\141\1\21\1\145\1\0\1\261" + + "\2\0\1\21\1\0\17\21\1\141\4\21\32\0\2\21" + + "\2\0\6\21\27\0\1\262\1\0\1\263\2\0\1\262" + + "\2\0\1\262\27\0\1\262\6\0\1\263\63\0\1\144" + + "\4\0\1\30\1\31\3\0\1\30\2\0\1\30\27\0" + + "\1\30\72\0\1\145\4\0\1\264\4\0\1\264\2\0" + + "\1\264\27\0\1\264\50\0\1\265\1\266\1\0\1\267" + + "\1\37\34\265\1\37\1\267\2\265\1\37\26\265\1\37" + + "\1\265\1\37\1\265\5\37\33\265\41\0\1\145\120\0" + + "\1\151\11\0\1\270\2\0\1\270\27\0\1\270\56\0" + + "\3\271\5\0\1\271\3\0\1\152\4\0\1\271\2\0" + + "\3\271\2\0\1\271\3\0\1\271\13\0\2\271\1\0" + + "\2\271\3\0\1\271\36\0\1\271\104\0\1\272\52\0" + + "\1\153\2\0\1\153\2\0\1\153\1\273\2\0\2\153" + + "\5\0\2\274\1\0\1\153\1\275\1\274\1\276\1\0" + + "\1\274\3\0\1\277\1\0\2\153\1\300\1\301\1\302" + + "\1\303\1\304\1\305\2\0\1\306\1\307\1\0\1\310" + + "\1\311\1\305\1\302\1\0\1\274\2\0\1\302\1\153" + + "\32\0\1\153\3\0\1\153\11\0\1\156\13\0\1\156" + + "\10\0\1\156\7\0\1\156\3\0\1\156\1\0\1\156" + + "\23\0\1\272\15\156\14\0\1\156\16\0\1\156\13\0" + + "\1\156\10\0\1\156\7\0\1\156\3\0\1\156\1\0" + + "\1\156\24\0\15\156\14\0\1\156\13\0\1\160\1\0" + + "\1\160\1\161\13\162\1\161\1\0\5\162\2\0\1\161" + + "\2\162\1\0\2\162\1\0\1\162\1\161\1\160\1\162" + + "\1\0\1\161\1\162\1\161\17\162\1\0\3\162\1\0" + + "\11\161\1\163\3\161\3\164\11\0\1\161\2\162\2\0" + + "\6\162\1\0\1\160\1\0\1\160\1\161\13\162\1\161" + + "\1\0\7\162\1\161\7\162\2\160\1\162\1\0\1\161" + + "\1\162\1\161\24\162\11\161\1\163\1\161\1\0\1\161" + + "\3\164\11\0\1\161\2\162\2\0\6\162\4\0\1\161" + + "\13\0\1\161\10\0\1\161\7\0\1\161\3\0\1\161" + + "\1\0\1\161\24\0\15\161\14\0\1\161\13\0\1\312" + + "\1\0\1\312\1\313\35\0\1\312\42\0\1\314\36\0" + + "\1\116\13\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\2\21" + + "\1\315\3\21\4\0\1\116\3\21\1\316\7\21\2\0" + + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + + "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\2\21" + + "\1\317\10\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + + "\4\0\1\116\3\21\1\320\7\21\2\0\7\21\1\0" + + "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + + "\2\21\2\0\6\21\1\0\1\177\1\0\1\177\1\200" + + "\13\201\1\200\1\0\5\201\2\0\1\200\2\201\1\0" + + "\2\201\1\0\1\201\1\200\1\177\1\201\1\0\1\200" + + "\1\201\1\200\17\201\1\0\3\201\1\0\11\200\1\202" + + "\3\200\3\203\11\0\1\200\2\201\2\0\6\201\1\0" + + "\1\177\1\0\1\177\1\200\13\201\1\200\1\0\7\201" + + "\1\200\7\201\2\177\1\201\1\0\1\200\1\201\1\200" + + "\24\201\11\200\1\202\1\200\1\0\1\200\3\203\11\0" + + "\1\200\2\201\2\0\6\201\4\0\1\200\13\0\1\200" + + "\10\0\1\200\7\0\1\200\3\0\1\200\1\0\1\200" + + "\24\0\15\200\14\0\1\200\12\0\31\204\1\0\106\204" + + "\123\0\1\321\15\0\3\242\1\0\1\103\1\104\2\103" + + "\1\104\2\103\1\104\1\322\2\103\2\104\2\103\1\0" + + "\1\103\1\0\1\104\1\135\1\0\1\104\1\323\1\104" + + "\1\324\1\103\1\104\2\103\1\242\1\325\1\103\2\104" + + "\1\326\1\327\1\330\1\331\1\332\1\333\2\103\1\334" + + "\1\335\1\103\1\336\1\337\1\333\1\330\1\103\1\104" + + "\2\103\1\330\1\104\1\103\1\0\30\103\1\104\1\103" + + "\1\0\1\103\1\104\5\103\5\0\17\103\1\0\1\103" + + "\1\0\1\103\2\0\10\103\1\0\30\103\1\340\1\103" + + "\1\0\32\103\1\0\7\103\5\0\1\103\1\210\2\103" + + "\1\210\2\103\1\210\1\341\2\103\2\210\2\103\1\0" + + "\1\103\1\0\1\342\1\274\1\0\1\210\1\343\1\342" + + "\1\344\1\103\1\342\2\103\1\0\1\345\1\103\2\210" + + "\1\346\1\347\1\350\1\351\1\352\1\353\2\103\1\354" + + "\1\355\1\103\1\356\1\357\1\353\1\350\1\103\1\342" + + "\2\103\1\350\1\210\1\103\1\0\30\103\1\210\1\103" + + "\1\0\1\103\1\210\5\103\6\0\1\216\2\0\1\360" + + "\136\0\1\361\140\0\1\362\1\363\1\0\1\364\134\0" + + "\1\365\126\0\1\216\2\0\15\216\1\366\117\216\5\0" + + "\11\112\1\367\1\112\2\0\7\112\1\0\7\112\2\0" + "\1\112\2\0\1\112\1\0\24\112\32\0\2\112\2\0" + - "\6\112\5\0\4\112\1\223\6\112\2\0\7\112\1\0" + + "\6\112\5\0\1\112\1\370\11\112\2\0\7\112\1\0" + "\7\112\2\0\1\112\2\0\1\112\1\0\24\112\32\0" + - "\2\112\2\0\6\112\4\0\1\116\1\21\1\224\4\21" + - "\1\225\4\21\2\0\7\21\1\0\7\21\2\0\1\21" + - "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + - "\4\0\1\116\13\21\2\0\7\21\1\0\7\21\2\0" + - "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + - "\2\21\1\226\3\21\4\0\1\116\7\21\1\227\3\21" + + "\2\112\2\0\6\112\5\0\2\112\1\371\10\112\2\0" + + "\7\112\1\0\7\112\2\0\1\112\2\0\1\112\1\0" + + "\24\112\32\0\2\112\2\0\6\112\5\0\1\372\5\112" + + "\1\373\4\112\2\0\7\112\1\0\7\112\2\0\1\112" + + "\2\0\1\112\1\0\24\112\32\0\2\112\2\0\6\112" + + "\5\0\7\112\1\374\3\112\2\0\7\112\1\0\7\112" + + "\2\0\1\112\2\0\1\112\1\0\24\112\32\0\2\112" + + "\2\0\6\112\5\0\2\112\1\375\10\112\2\0\7\112" + + "\1\0\7\112\2\0\1\112\2\0\1\112\1\0\24\112" + + "\32\0\2\112\2\0\6\112\4\0\1\116\1\376\12\21" + "\2\0\7\21\1\0\7\21\2\0\1\21\2\0\1\21" + "\1\0\24\21\32\0\2\21\2\0\6\21\4\0\1\116" + - "\1\21\1\230\5\21\1\231\3\21\2\0\7\21\1\0" + + "\13\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + + "\1\21\1\0\24\21\32\0\2\21\2\0\1\377\5\21" + + "\4\0\1\116\10\21\1\u0100\2\21\2\0\7\21\1\0" + "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + - "\2\21\2\0\6\21\4\0\1\116\13\21\2\0\7\21" + - "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + - "\32\0\2\21\2\0\1\232\5\21\4\0\1\116\6\21" + - "\1\233\4\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\2\21\2\0\6\21\4\0\1\116\3\21\1\u0101\7\21" + + "\2\0\7\21\1\0\7\21\2\0\1\21\2\0\1\21" + + "\1\0\24\21\32\0\2\21\2\0\6\21\4\0\1\116" + + "\13\21\2\0\7\21\1\0\1\u0102\6\21\2\0\1\21" + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + - "\4\0\1\116\13\21\2\0\7\21\1\0\7\21\2\0" + - "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + - "\4\21\1\234\1\21\4\0\1\116\13\21\2\0\7\21" + - "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + - "\32\0\2\21\2\0\1\235\5\21\4\0\1\116\13\21" + - "\2\0\7\21\1\0\1\236\6\21\2\0\1\21\2\0" + - "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\4\0" + - "\1\116\6\21\1\237\4\21\2\0\7\21\1\0\7\21" + + "\4\0\1\116\1\u0103\12\21\2\0\7\21\1\0\7\21" + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + - "\2\0\6\21\10\0\1\240\130\0\3\241\2\0\1\135" + - "\2\0\1\135\2\0\1\135\1\242\2\0\2\135\5\0" + - "\2\135\1\0\1\135\1\243\1\135\1\244\1\0\1\135" + - "\2\0\1\241\1\245\1\0\2\135\1\246\1\247\1\250" + - "\1\251\1\252\1\253\2\0\1\254\1\255\1\0\1\256" + - "\1\257\1\253\1\250\1\0\1\135\2\0\1\250\1\135" + - "\32\0\1\135\3\0\1\135\11\0\1\116\3\21\1\260" + - "\7\21\2\0\1\140\4\21\1\141\1\21\1\0\2\21" + - "\1\141\2\21\1\141\1\21\1\145\1\0\1\260\2\0" + - "\1\21\1\0\17\21\1\141\4\21\32\0\2\21\2\0" + - "\6\21\27\0\1\261\1\0\1\262\2\0\1\261\2\0" + - "\1\261\27\0\1\261\6\0\1\262\63\0\1\144\4\0" + - "\1\30\1\31\3\0\1\30\2\0\1\30\27\0\1\30" + - "\72\0\1\145\4\0\1\263\4\0\1\263\2\0\1\263" + - "\27\0\1\263\50\0\1\264\1\265\1\0\1\266\1\37" + - "\34\264\1\37\1\266\2\264\1\37\26\264\1\37\1\264" + - "\1\37\1\264\5\37\33\264\41\0\1\145\120\0\1\151" + - "\11\0\1\267\2\0\1\267\27\0\1\267\56\0\3\270" + - "\5\0\1\270\3\0\1\152\4\0\1\270\2\0\3\270" + - "\2\0\1\270\3\0\1\270\13\0\2\270\1\0\2\270" + - "\3\0\1\270\36\0\1\270\104\0\1\271\52\0\1\153" + - "\2\0\1\153\2\0\1\153\1\272\2\0\2\153\5\0" + - "\2\273\1\0\1\153\1\274\1\273\1\275\1\0\1\273" + - "\3\0\1\276\1\0\2\153\1\277\1\300\1\301\1\302" + - "\1\303\1\304\2\0\1\305\1\306\1\0\1\307\1\310" + - "\1\304\1\301\1\0\1\273\2\0\1\301\1\153\32\0" + - "\1\153\3\0\1\153\11\0\1\156\13\0\1\156\10\0" + - "\1\156\7\0\1\156\3\0\1\156\1\0\1\156\23\0" + - "\1\271\15\156\14\0\1\156\16\0\1\156\13\0\1\156" + - "\10\0\1\156\7\0\1\156\3\0\1\156\1\0\1\156" + - "\24\0\15\156\14\0\1\156\13\0\1\160\1\0\1\160" + - "\1\161\13\162\1\161\1\0\5\162\2\0\1\161\2\162" + - "\1\0\2\162\1\0\1\162\1\161\1\160\1\162\1\0" + - "\1\161\1\162\1\161\17\162\1\0\3\162\1\0\11\161" + - "\1\163\3\161\3\164\11\0\1\161\2\162\2\0\6\162" + - "\1\0\1\160\1\0\1\160\1\161\13\162\1\161\1\0" + - "\7\162\1\161\7\162\2\160\1\162\1\0\1\161\1\162" + - "\1\161\24\162\11\161\1\163\1\161\1\0\1\161\3\164" + - "\11\0\1\161\2\162\2\0\6\162\4\0\1\161\13\0" + - "\1\161\10\0\1\161\7\0\1\161\3\0\1\161\1\0" + - "\1\161\24\0\15\161\14\0\1\161\13\0\1\311\1\0" + - "\1\311\1\312\35\0\1\311\42\0\1\313\36\0\1\116" + - "\13\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + - "\1\21\1\0\24\21\32\0\2\21\2\0\2\21\1\314" + - "\3\21\4\0\1\116\3\21\1\315\7\21\2\0\7\21" + - "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + - "\32\0\2\21\2\0\6\21\4\0\1\116\2\21\1\316" + - "\10\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + + "\2\0\6\21\4\0\1\116\13\21\2\0\7\21\1\0" + + "\1\u0104\6\21\2\0\1\21\2\0\1\21\1\0\24\21" + + "\32\0\2\21\2\0\6\21\4\0\1\116\3\21\1\u0105" + + "\7\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\4\0" + - "\1\116\3\21\1\317\7\21\2\0\7\21\1\0\7\21" + + "\1\116\13\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\1\u0106" + + "\5\21\4\0\1\116\6\21\1\u0107\4\21\2\0\7\21" + + "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + + "\32\0\2\21\2\0\6\21\4\0\1\116\3\21\1\u0108" + + "\7\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + + "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\127\0" + + "\1\u0109\11\0\3\242\14\0\1\135\21\0\1\242\131\0" + + "\1\135\2\0\1\135\27\0\1\135\113\0\1\u010a\6\0" + + "\1\u010b\5\0\1\u010c\65\0\3\135\5\0\1\135\10\0" + + "\1\135\2\0\3\135\2\0\1\135\3\0\1\135\13\0" + + "\2\135\1\0\2\135\3\0\1\135\36\0\1\135\51\0" + + "\1\254\7\0\1\u010d\2\0\1\u010e\1\0\1\u010f\13\0" + + "\1\135\66\0\1\135\1\0\1\135\2\0\2\135\4\0" + + "\1\135\2\0\1\135\1\0\1\135\2\0\2\135\2\0" + + "\20\135\1\0\3\135\11\0\1\135\13\0\1\135\70\0" + + "\1\u010a\5\0\1\u0110\133\0\1\135\147\0\1\135\114\0" + + "\1\135\10\0\1\u0111\3\0\1\u0112\10\0\1\135\1\0" + + "\1\u0113\124\0\1\135\142\0\1\u0110\136\0\1\u0113\5\0" + + "\1\135\115\0\1\u010a\7\0\1\135\137\0\1\135\7\0" + + "\1\135\60\0\1\116\13\21\2\0\7\21\1\263\7\21" + + "\2\0\1\21\2\0\1\21\1\0\24\21\2\0\1\263" + + "\27\0\2\21\2\0\6\21\27\0\1\262\4\0\1\262" + + "\2\0\1\262\27\0\1\262\60\0\1\143\11\0\1\145" + + "\4\0\1\264\4\0\1\264\2\0\1\264\3\0\1\143" + + "\23\0\1\264\50\0\1\265\2\0\135\265\1\0\1\u0114" + + "\1\0\1\u0114\36\0\1\u0114\4\0\1\u0115\35\0\1\u0115" + + "\32\0\1\265\1\u0114\1\0\1\u0116\36\265\1\u0116\4\265" + + "\1\u0115\35\265\1\u0115\32\265\34\0\1\u0117\2\0\1\u0117" + + "\27\0\1\u0117\77\0\2\274\3\0\1\274\2\0\1\274" + + "\27\0\1\274\3\0\1\272\107\0\1\u0118\6\0\1\u0119" + + "\5\0\1\u011a\65\0\3\u011b\5\0\1\u011b\10\0\1\u011b" + + "\2\0\3\u011b\2\0\1\u011b\3\0\1\u011b\13\0\2\u011b" + + "\1\0\2\u011b\3\0\1\u011b\36\0\1\u011b\51\0\1\305" + + "\7\0\1\u011c\2\0\1\u011d\1\0\1\u011e\13\0\1\153" + + "\66\0\1\153\1\0\1\153\2\0\2\153\4\0\1\153" + + "\2\0\1\153\1\0\1\153\2\0\2\153\2\0\20\153" + + "\1\0\3\153\11\0\1\153\13\0\1\153\70\0\1\u0118" + + "\5\0\1\u011f\133\0\1\153\147\0\1\153\114\0\1\u0120" + + "\10\0\1\u0121\3\0\1\u0122\10\0\1\153\1\0\1\u0123" + + "\124\0\1\153\142\0\1\u011f\136\0\1\u0123\5\0\1\153" + + "\115\0\1\u0118\7\0\1\153\137\0\1\153\7\0\1\153" + + "\161\0\1\314\36\0\1\116\3\21\1\u0124\7\21\2\0" + + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + + "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\4\21" + + "\1\u0125\6\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + + "\4\0\1\116\12\21\1\u0126\2\0\7\21\1\0\7\21" + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + - "\2\0\6\21\1\0\1\177\1\0\1\177\1\200\13\201" + - "\1\200\1\0\5\201\2\0\1\200\2\201\1\0\2\201" + - "\1\0\1\201\1\200\1\177\1\201\1\0\1\200\1\201" + - "\1\200\17\201\1\0\3\201\1\0\11\200\1\202\3\200" + - "\3\203\11\0\1\200\2\201\2\0\6\201\1\0\1\177" + - "\1\0\1\177\1\200\13\201\1\200\1\0\7\201\1\200" + - "\7\201\2\177\1\201\1\0\1\200\1\201\1\200\24\201" + - "\11\200\1\202\1\200\1\0\1\200\3\203\11\0\1\200" + - "\2\201\2\0\6\201\4\0\1\200\13\0\1\200\10\0" + - "\1\200\7\0\1\200\3\0\1\200\1\0\1\200\24\0" + - "\15\200\14\0\1\200\135\0\1\320\15\0\3\241\1\0" + - "\1\103\1\104\2\103\1\104\2\103\1\104\1\321\2\103" + - "\2\104\2\103\1\0\1\103\1\0\1\104\1\135\1\0" + - "\1\104\1\322\1\104\1\323\1\103\1\104\2\103\1\241" + - "\1\324\1\103\2\104\1\325\1\326\1\327\1\330\1\331" + - "\1\332\2\103\1\333\1\334\1\103\1\335\1\336\1\332" + - "\1\327\1\103\1\104\2\103\1\327\1\104\1\103\1\0" + - "\30\103\1\104\1\103\1\0\1\103\1\104\5\103\5\0" + + "\2\0\6\21\4\0\1\116\7\21\1\u0127\3\21\2\0" + + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + + "\24\21\32\0\2\21\2\0\6\21\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\2\103\1\104\2\103\1\104" + + "\2\103\1\0\24\103\1\104\5\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\1\u0128\6\103\1\u0129\5\103\1\u012a\14\103" + + "\1\0\32\103\1\0\7\103\5\0\1\103\3\104\5\103" + + "\1\104\5\103\1\0\1\103\1\0\1\104\2\0\3\104" + + "\2\103\1\104\2\103\1\0\1\104\13\103\2\104\1\103" + + "\2\104\3\103\1\104\5\103\1\0\30\103\1\104\1\103" + + "\1\0\7\103\5\0\17\103\1\0\1\103\1\0\1\103" + + "\2\0\6\103\1\333\1\103\1\0\5\103\1\u012b\2\103" + + "\1\u012c\1\103\1\u012d\13\103\1\104\3\103\1\0\32\103" + + "\1\0\7\103\5\0\13\103\1\104\1\103\1\104\1\103" + + "\1\0\1\104\1\135\1\103\2\0\1\103\1\104\2\103" + + "\1\104\1\103\1\104\1\103\1\0\2\104\2\103\20\104" + + "\1\103\3\104\2\103\1\0\6\103\1\104\13\103\1\104" + + "\7\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + + "\1\103\2\0\10\103\1\0\6\103\1\u0128\5\103\1\u012e" + + "\15\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\10\103\1\0\10\103\1\104" + + "\21\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\10\103\1\0\20\103\1\104" + + "\11\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\6\103\1\104\1\103\1\0" + + "\6\103\1\u012f\3\103\1\u0130\10\103\1\104\1\103\1\u0131" + + "\4\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\10\103\1\0\12\103\1\104" + + "\17\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\10\103\1\0\15\103\1\u012e" + + "\14\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\10\103\1\0\14\103\1\u0131" + + "\5\103\1\104\7\103\1\0\32\103\1\0\7\103\5\0" + + "\17\103\1\0\1\103\1\0\1\103\2\0\10\103\1\0" + + "\1\u0128\7\103\1\104\21\103\1\0\32\103\1\0\7\103" + + "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\10\103" + + "\1\0\10\103\1\104\7\103\1\104\11\103\1\0\32\103" + + "\1\0\7\103\5\0\17\103\1\0\1\103\1\0\1\103" + + "\2\0\2\103\1\u0132\2\103\1\u0132\2\103\1\0\24\103" + + "\1\u0132\5\103\1\0\32\103\1\0\7\103\5\0\17\103" + + "\1\0\1\103\1\0\1\342\1\274\1\0\2\103\1\342" + + "\2\103\1\342\2\103\1\0\24\103\1\342\3\103\1\340" + + "\1\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + + "\1\103\1\0\1\103\2\0\10\103\1\0\1\u0133\6\103" + + "\1\u0134\5\103\1\u0135\14\103\1\0\32\103\1\0\7\103" + + "\5\0\1\103\3\u0136\5\103\1\u0136\5\103\1\0\1\103" + + "\1\0\1\u0136\2\0\3\u0136\2\103\1\u0136\2\103\1\0" + + "\1\u0136\13\103\2\u0136\1\103\2\u0136\3\103\1\u0136\5\103" + + "\1\0\30\103\1\u0136\1\103\1\0\7\103\5\0\17\103" + + "\1\0\1\103\1\0\1\103\2\0\6\103\1\353\1\103" + + "\1\0\5\103\1\u0137\2\103\1\u0138\1\103\1\u0139\13\103" + + "\1\210\3\103\1\0\32\103\1\0\7\103\5\0\13\103" + + "\1\210\1\103\1\210\1\103\1\0\1\210\1\153\1\103" + + "\2\0\1\103\1\210\2\103\1\210\1\103\1\210\1\103" + + "\1\0\2\210\2\103\20\210\1\103\3\210\2\103\1\0" + + "\6\103\1\210\13\103\1\210\7\103\1\0\7\103\5\0" + "\17\103\1\0\1\103\1\0\1\103\2\0\10\103\1\0" + - "\30\103\1\337\1\103\1\0\32\103\1\0\7\103\5\0" + - "\1\103\1\207\2\103\1\207\2\103\1\207\1\340\2\103" + - "\2\207\2\103\1\0\1\103\1\0\1\341\1\273\1\0" + - "\1\207\1\342\1\341\1\343\1\103\1\341\2\103\1\0" + - "\1\344\1\103\2\207\1\345\1\346\1\347\1\350\1\351" + - "\1\352\2\103\1\353\1\354\1\103\1\355\1\356\1\352" + - "\1\347\1\103\1\341\2\103\1\347\1\207\1\103\1\0" + - "\30\103\1\207\1\103\1\0\1\103\1\207\5\103\6\0" + - "\1\215\2\0\1\357\136\0\1\360\140\0\1\361\1\362" + - "\1\0\1\363\134\0\1\364\126\0\1\215\2\0\15\215" + - "\1\365\117\215\5\0\11\112\1\366\1\112\2\0\7\112" + + "\6\103\1\u0133\5\103\1\u013a\15\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\10\103\1\210\21\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\20\103\1\210\11\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\6\103\1\u013b\1\103\1\0\6\103\1\u013c\3\103\1\u013d" + + "\10\103\1\210\1\103\1\u013e\4\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\12\103\1\210\17\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\15\103\1\u013a\14\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\14\103\1\u013e\5\103\1\210\7\103\1\0" + + "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + + "\1\103\2\0\10\103\1\0\1\u0133\7\103\1\210\21\103" + + "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + + "\1\0\1\103\2\0\10\103\1\0\10\103\1\210\7\103" + + "\1\210\11\103\1\0\32\103\1\0\7\103\16\0\1\u013f" + + "\127\0\1\u0140\140\0\1\u0141\135\0\1\u0142\5\0\1\u0143" + + "\140\0\1\u0144\132\0\1\u0145\130\0\1\216\1\u0146\16\216" + + "\1\366\117\216\5\0\5\112\1\u0147\5\112\2\0\7\112" + "\1\0\7\112\2\0\1\112\2\0\1\112\1\0\24\112" + - "\32\0\2\112\2\0\6\112\5\0\1\112\1\367\11\112" + + "\32\0\2\112\2\0\6\112\5\0\1\u0148\12\112\2\0" + + "\7\112\1\0\7\112\2\0\1\112\2\0\1\112\1\0" + + "\24\112\32\0\2\112\2\0\6\112\5\0\1\372\12\112" + "\2\0\7\112\1\0\7\112\2\0\1\112\2\0\1\112" + - "\1\0\24\112\32\0\2\112\2\0\6\112\5\0\2\112" + - "\1\370\10\112\2\0\7\112\1\0\7\112\2\0\1\112" + + "\1\0\24\112\32\0\2\112\2\0\6\112\5\0\1\112" + + "\1\216\11\112\2\0\7\112\1\0\7\112\2\0\1\112" + "\2\0\1\112\1\0\24\112\32\0\2\112\2\0\6\112" + - "\5\0\1\371\5\112\1\372\4\112\2\0\7\112\1\0" + - "\7\112\2\0\1\112\2\0\1\112\1\0\24\112\32\0" + - "\2\112\2\0\6\112\5\0\7\112\1\373\3\112\2\0" + - "\7\112\1\0\7\112\2\0\1\112\2\0\1\112\1\0" + - "\24\112\32\0\2\112\2\0\6\112\5\0\2\112\1\374" + - "\10\112\2\0\7\112\1\0\7\112\2\0\1\112\2\0" + - "\1\112\1\0\24\112\32\0\2\112\2\0\6\112\4\0" + - "\1\116\1\375\12\21\2\0\7\21\1\0\7\21\2\0" + + "\5\0\3\112\1\216\7\112\2\0\7\112\1\0\7\112" + + "\2\0\1\112\2\0\1\112\1\0\24\112\32\0\2\112" + + "\2\0\6\112\5\0\10\112\1\u0149\2\112\2\0\7\112" + + "\1\0\7\112\2\0\1\112\2\0\1\112\1\0\24\112" + + "\32\0\2\112\2\0\6\112\5\0\3\112\1\372\7\112" + + "\2\0\7\112\1\0\7\112\2\0\1\112\2\0\1\112" + + "\1\0\24\112\32\0\2\112\2\0\6\112\4\0\1\116" + + "\13\21\2\0\7\21\1\0\3\21\1\u014a\3\21\2\0" + "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + - "\6\21\4\0\1\116\13\21\2\0\7\21\1\0\7\21" + - "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + - "\2\0\1\376\5\21\4\0\1\116\10\21\1\377\2\21" + + "\6\21\4\0\1\116\13\21\2\0\7\21\1\0\1\u014b" + + "\6\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + + "\2\21\2\0\6\21\4\0\1\116\7\21\1\u014c\3\21" + "\2\0\7\21\1\0\7\21\2\0\1\21\2\0\1\21" + "\1\0\24\21\32\0\2\21\2\0\6\21\4\0\1\116" + - "\3\21\1\u0100\7\21\2\0\7\21\1\0\7\21\2\0" + - "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + - "\6\21\4\0\1\116\13\21\2\0\7\21\1\0\1\u0101" + - "\6\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + - "\2\21\2\0\6\21\4\0\1\116\1\u0102\12\21\2\0" + - "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + - "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\13\21" + - "\2\0\7\21\1\0\1\u0103\6\21\2\0\1\21\2\0" + - "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\4\0" + - "\1\116\3\21\1\u0104\7\21\2\0\7\21\1\0\7\21" + + "\1\u014d\12\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + + "\4\0\1\116\12\21\1\u014e\2\0\7\21\1\0\7\21" + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + "\2\0\6\21\4\0\1\116\13\21\2\0\7\21\1\0" + - "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + - "\2\21\2\0\1\u0105\5\21\4\0\1\116\6\21\1\u0106" + - "\4\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + + "\7\21\2\0\1\21\2\0\1\u014f\1\0\24\21\32\0" + + "\2\21\2\0\6\21\4\0\1\116\13\21\2\0\7\21" + + "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + + "\32\0\2\21\2\0\1\21\1\u0150\4\21\4\0\1\116" + + "\6\21\1\u0151\4\21\2\0\7\21\1\0\7\21\2\0" + + "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + + "\6\21\5\0\1\u0152\204\0\1\135\130\0\1\135\163\0" + + "\1\135\126\0\1\135\141\0\1\135\115\0\1\135\23\0" + + "\1\135\136\0\1\135\140\0\1\135\113\0\1\135\151\0" + + "\1\135\70\0\1\u0114\1\0\1\u0114\36\0\1\u0114\75\0" + + "\1\u0115\2\u0153\135\u0115\1\265\1\u0114\1\0\1\u0116\36\265" + + "\1\u0116\75\265\34\0\1\u0117\2\0\1\u0117\27\0\1\u0117" + + "\3\0\1\272\116\0\1\153\130\0\1\153\163\0\1\153" + + "\56\0\3\u011b\5\0\1\u011b\10\0\1\u011b\2\0\3\u011b" + + "\2\0\1\u011b\3\0\1\u011b\13\0\2\u011b\1\0\2\u011b" + + "\3\0\1\u011b\3\0\1\272\32\0\1\u011b\67\0\1\153" + + "\141\0\1\153\115\0\1\153\23\0\1\153\136\0\1\153" + + "\132\0\1\153\16\0\1\272\126\0\1\153\113\0\1\153" + + "\151\0\1\153\73\0\1\116\13\21\2\0\7\21\1\0" + + "\7\21\1\0\1\u0154\1\21\2\0\1\21\1\0\24\21" + + "\32\0\2\21\2\0\6\21\4\0\1\116\5\21\1\u0155" + + "\5\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\4\0" + - "\1\116\3\21\1\u0107\7\21\2\0\7\21\1\0\7\21" + + "\1\116\3\21\1\u0156\7\21\2\0\7\21\1\0\7\21" + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + - "\2\0\6\21\127\0\1\u0108\11\0\3\241\14\0\1\135" + - "\21\0\1\241\131\0\1\135\2\0\1\135\27\0\1\135" + - "\113\0\1\u0109\6\0\1\u010a\5\0\1\u010b\65\0\3\135" + - "\5\0\1\135\10\0\1\135\2\0\3\135\2\0\1\135" + - "\3\0\1\135\13\0\2\135\1\0\2\135\3\0\1\135" + - "\36\0\1\135\51\0\1\253\7\0\1\u010c\2\0\1\u010d" + - "\1\0\1\u010e\13\0\1\135\66\0\1\135\1\0\1\135" + - "\2\0\2\135\4\0\1\135\2\0\1\135\1\0\1\135" + - "\2\0\2\135\2\0\20\135\1\0\3\135\11\0\1\135" + - "\13\0\1\135\70\0\1\u0109\5\0\1\u010f\133\0\1\135" + - "\147\0\1\135\114\0\1\135\10\0\1\u0110\3\0\1\u0111" + - "\10\0\1\135\1\0\1\u0112\124\0\1\135\142\0\1\u010f" + - "\136\0\1\u0112\5\0\1\135\115\0\1\u0109\7\0\1\135" + - "\137\0\1\135\7\0\1\135\60\0\1\116\13\21\2\0" + - "\7\21\1\262\7\21\2\0\1\21\2\0\1\21\1\0" + - "\24\21\2\0\1\262\27\0\2\21\2\0\6\21\27\0" + - "\1\261\4\0\1\261\2\0\1\261\27\0\1\261\60\0" + - "\1\143\11\0\1\145\4\0\1\263\4\0\1\263\2\0" + - "\1\263\3\0\1\143\23\0\1\263\50\0\1\264\2\0" + - "\135\264\1\0\1\u0113\1\0\1\u0113\36\0\1\u0113\4\0" + - "\1\u0114\35\0\1\u0114\32\0\1\264\1\u0113\1\0\1\u0115" + - "\36\264\1\u0115\4\264\1\u0114\35\264\1\u0114\32\264\34\0" + - "\1\u0116\2\0\1\u0116\27\0\1\u0116\77\0\2\273\3\0" + - "\1\273\2\0\1\273\27\0\1\273\3\0\1\271\107\0" + - "\1\u0117\6\0\1\u0118\5\0\1\u0119\65\0\3\u011a\5\0" + - "\1\u011a\10\0\1\u011a\2\0\3\u011a\2\0\1\u011a\3\0" + - "\1\u011a\13\0\2\u011a\1\0\2\u011a\3\0\1\u011a\36\0" + - "\1\u011a\51\0\1\304\7\0\1\u011b\2\0\1\u011c\1\0" + - "\1\u011d\13\0\1\153\66\0\1\153\1\0\1\153\2\0" + - "\2\153\4\0\1\153\2\0\1\153\1\0\1\153\2\0" + - "\2\153\2\0\20\153\1\0\3\153\11\0\1\153\13\0" + - "\1\153\70\0\1\u0117\5\0\1\u011e\133\0\1\153\147\0" + - "\1\153\114\0\1\u011f\10\0\1\u0120\3\0\1\u0121\10\0" + - "\1\153\1\0\1\u0122\124\0\1\153\142\0\1\u011e\136\0" + - "\1\u0122\5\0\1\153\115\0\1\u0117\7\0\1\153\137\0" + - "\1\153\7\0\1\153\161\0\1\313\36\0\1\116\3\21" + - "\1\u0123\7\21\2\0\7\21\1\0\7\21\2\0\1\21" + - "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + - "\4\0\1\116\4\21\1\u0124\6\21\2\0\7\21\1\0" + - "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + - "\2\21\2\0\6\21\4\0\1\116\12\21\1\u0125\2\0" + - "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + - "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\7\21" + - "\1\u0126\3\21\2\0\7\21\1\0\7\21\2\0\1\21" + - "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + - "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\2\103" + - "\1\104\2\103\1\104\2\103\1\0\24\103\1\104\5\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\1\u0127\6\103\1\u0128" + - "\5\103\1\u0129\14\103\1\0\32\103\1\0\7\103\5\0" + - "\1\103\3\104\5\103\1\104\5\103\1\0\1\103\1\0" + - "\1\104\2\0\3\104\2\103\1\104\2\103\1\0\1\104" + - "\13\103\2\104\1\103\2\104\3\103\1\104\5\103\1\0" + - "\30\103\1\104\1\103\1\0\7\103\5\0\17\103\1\0" + - "\1\103\1\0\1\103\2\0\6\103\1\332\1\103\1\0" + - "\5\103\1\u012a\2\103\1\u012b\1\103\1\u012c\13\103\1\104" + - "\3\103\1\0\32\103\1\0\7\103\5\0\13\103\1\104" + - "\1\103\1\104\1\103\1\0\1\104\1\135\1\103\2\0" + - "\1\103\1\104\2\103\1\104\1\103\1\104\1\103\1\0" + - "\2\104\2\103\20\104\1\103\3\104\2\103\1\0\6\103" + - "\1\104\13\103\1\104\7\103\1\0\7\103\5\0\17\103" + - "\1\0\1\103\1\0\1\103\2\0\10\103\1\0\6\103" + - "\1\u0127\5\103\1\u012d\15\103\1\0\32\103\1\0\7\103" + - "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\10\103" + - "\1\0\10\103\1\104\21\103\1\0\32\103\1\0\7\103" + - "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\10\103" + - "\1\0\20\103\1\104\11\103\1\0\32\103\1\0\7\103" + - "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\6\103" + - "\1\104\1\103\1\0\6\103\1\u012e\3\103\1\u012f\10\103" + - "\1\104\1\103\1\u0130\4\103\1\0\32\103\1\0\7\103" + + "\2\0\6\21\5\0\17\103\1\0\1\103\1\0\1\103" + + "\2\0\10\103\1\0\7\103\1\104\22\103\1\0\32\103" + + "\1\0\7\103\5\0\17\103\1\0\1\103\1\0\1\103" + + "\2\0\10\103\1\0\1\104\31\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\24\103\1\104\5\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\13\103\1\104\16\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\15\103\1\104\14\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\4\103\1\104\3\103\1\0\17\103\1\104\12\103\1\0" + + "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + + "\1\103\2\0\10\103\1\0\16\103\1\104\13\103\1\0" + + "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + + "\1\103\2\0\10\103\1\0\17\103\1\104\12\103\1\0" + + "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + + "\1\103\2\0\4\103\1\104\3\103\1\0\32\103\1\0" + + "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + + "\1\103\2\0\10\103\1\0\5\103\1\104\24\103\1\0" + + "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + + "\1\103\2\0\2\103\1\u0132\2\103\1\u0132\2\103\1\0" + + "\24\103\1\u0132\3\103\1\340\1\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\7\103\1\210\22\103\1\0\32\103\1\0" + + "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + + "\10\103\1\0\1\210\31\103\1\0\32\103\1\0\7\103" + "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\10\103" + - "\1\0\12\103\1\104\17\103\1\0\32\103\1\0\7\103" + + "\1\0\24\103\1\210\5\103\1\0\32\103\1\0\7\103" + + "\5\0\1\103\3\u0136\5\103\1\u0136\5\103\1\0\1\103" + + "\1\0\1\u0136\2\0\3\u0136\2\103\1\u0136\2\103\1\0" + + "\1\u0136\13\103\2\u0136\1\103\2\u0136\3\103\1\u0136\3\103" + + "\1\340\1\103\1\0\30\103\1\u0136\1\103\1\0\7\103" + "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\10\103" + - "\1\0\15\103\1\u012d\14\103\1\0\32\103\1\0\7\103" + + "\1\0\13\103\1\210\16\103\1\0\32\103\1\0\7\103" + "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\10\103" + - "\1\0\14\103\1\u0130\5\103\1\104\7\103\1\0\32\103" + + "\1\0\15\103\1\210\14\103\1\0\32\103\1\0\7\103" + + "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\4\103" + + "\1\210\3\103\1\0\17\103\1\210\12\103\1\0\32\103" + "\1\0\7\103\5\0\17\103\1\0\1\103\1\0\1\103" + - "\2\0\10\103\1\0\1\u0127\7\103\1\104\21\103\1\0" + - "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + - "\1\103\2\0\10\103\1\0\10\103\1\104\7\103\1\104" + - "\11\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + - "\1\103\1\0\1\103\2\0\2\103\1\u0131\2\103\1\u0131" + - "\2\103\1\0\24\103\1\u0131\5\103\1\0\32\103\1\0" + - "\7\103\5\0\17\103\1\0\1\103\1\0\1\341\1\273" + - "\1\0\2\103\1\341\2\103\1\341\2\103\1\0\24\103" + - "\1\341\3\103\1\337\1\103\1\0\32\103\1\0\7\103" + - "\5\0\17\103\1\0\1\103\1\0\1\103\2\0\10\103" + - "\1\0\1\u0132\6\103\1\u0133\5\103\1\u0134\14\103\1\0" + - "\32\103\1\0\7\103\5\0\1\103\3\u0135\5\103\1\u0135" + - "\5\103\1\0\1\103\1\0\1\u0135\2\0\3\u0135\2\103" + - "\1\u0135\2\103\1\0\1\u0135\13\103\2\u0135\1\103\2\u0135" + - "\3\103\1\u0135\5\103\1\0\30\103\1\u0135\1\103\1\0" + - "\7\103\5\0\17\103\1\0\1\103\1\0\1\103\2\0" + - "\6\103\1\352\1\103\1\0\5\103\1\u0136\2\103\1\u0137" + - "\1\103\1\u0138\13\103\1\207\3\103\1\0\32\103\1\0" + - "\7\103\5\0\13\103\1\207\1\103\1\207\1\103\1\0" + - "\1\207\1\153\1\103\2\0\1\103\1\207\2\103\1\207" + - "\1\103\1\207\1\103\1\0\2\207\2\103\20\207\1\103" + - "\3\207\2\103\1\0\6\103\1\207\13\103\1\207\7\103" + + "\2\0\10\103\1\0\16\103\1\210\13\103\1\0\32\103" + "\1\0\7\103\5\0\17\103\1\0\1\103\1\0\1\103" + - "\2\0\10\103\1\0\6\103\1\u0132\5\103\1\u0139\15\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\10\103\1\207\21\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\20\103\1\207\11\103" + + "\2\0\10\103\1\0\11\103\1\210\16\103\1\340\1\103" + "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\6\103\1\u013a\1\103\1\0\6\103" + - "\1\u013b\3\103\1\u013c\10\103\1\207\1\103\1\u013d\4\103" + + "\1\0\1\103\2\0\10\103\1\0\17\103\1\210\12\103" + "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\12\103\1\207\17\103" + + "\1\0\1\103\2\0\4\103\1\210\3\103\1\0\32\103" + "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\15\103\1\u0139\14\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\14\103\1\u013d\5\103" + - "\1\207\7\103\1\0\32\103\1\0\7\103\5\0\17\103" + - "\1\0\1\103\1\0\1\103\2\0\10\103\1\0\1\u0132" + - "\7\103\1\207\21\103\1\0\32\103\1\0\7\103\5\0" + - "\17\103\1\0\1\103\1\0\1\103\2\0\10\103\1\0" + - "\10\103\1\207\7\103\1\207\11\103\1\0\32\103\1\0" + - "\7\103\16\0\1\u013e\127\0\1\u013f\140\0\1\u0140\135\0" + - "\1\u0141\5\0\1\u0142\140\0\1\u0143\132\0\1\u0144\130\0" + - "\1\215\1\u0145\16\215\1\365\117\215\5\0\5\112\1\u0146" + - "\5\112\2\0\7\112\1\0\7\112\2\0\1\112\2\0" + - "\1\112\1\0\24\112\32\0\2\112\2\0\6\112\5\0" + - "\1\u0147\12\112\2\0\7\112\1\0\7\112\2\0\1\112" + - "\2\0\1\112\1\0\24\112\32\0\2\112\2\0\6\112" + - "\5\0\1\371\12\112\2\0\7\112\1\0\7\112\2\0" + + "\1\0\1\103\2\0\10\103\1\0\5\103\1\210\24\103" + + "\1\0\32\103\1\0\7\103\12\0\1\u0157\132\0\1\u0158" + + "\137\0\1\u0142\140\0\1\216\141\0\1\216\144\0\1\u0159" + + "\132\0\1\u0142\127\0\1\216\1\0\16\216\1\366\117\216" + + "\5\0\12\112\1\u015a\2\0\7\112\1\0\7\112\2\0" + "\1\112\2\0\1\112\1\0\24\112\32\0\2\112\2\0" + - "\6\112\5\0\1\112\1\215\11\112\2\0\7\112\1\0" + + "\6\112\5\0\4\112\1\373\6\112\2\0\7\112\1\0" + "\7\112\2\0\1\112\2\0\1\112\1\0\24\112\32\0" + - "\2\112\2\0\6\112\5\0\3\112\1\215\7\112\2\0" + + "\2\112\2\0\6\112\5\0\7\112\1\216\3\112\2\0" + "\7\112\1\0\7\112\2\0\1\112\2\0\1\112\1\0" + - "\24\112\32\0\2\112\2\0\6\112\5\0\10\112\1\u0148" + - "\2\112\2\0\7\112\1\0\7\112\2\0\1\112\2\0" + - "\1\112\1\0\24\112\32\0\2\112\2\0\6\112\5\0" + - "\3\112\1\371\7\112\2\0\7\112\1\0\7\112\2\0" + - "\1\112\2\0\1\112\1\0\24\112\32\0\2\112\2\0" + - "\6\112\4\0\1\116\13\21\2\0\7\21\1\0\3\21" + - "\1\u0149\3\21\2\0\1\21\2\0\1\21\1\0\24\21" + - "\32\0\2\21\2\0\6\21\4\0\1\116\13\21\2\0" + - "\7\21\1\0\1\u014a\6\21\2\0\1\21\2\0\1\21" + - "\1\0\24\21\32\0\2\21\2\0\6\21\4\0\1\116" + - "\7\21\1\u014b\3\21\2\0\7\21\1\0\7\21\2\0" + - "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + - "\6\21\4\0\1\116\1\u014c\12\21\2\0\7\21\1\0" + - "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + - "\2\21\2\0\6\21\4\0\1\116\12\21\1\u014d\2\0" + + "\24\112\32\0\2\112\2\0\6\112\4\0\1\116\5\21" + + "\1\u015b\1\21\1\u015c\3\21\2\0\7\21\1\0\7\21" + + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + + "\2\0\6\21\4\0\1\116\4\21\1\u015d\6\21\2\0" + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\13\21" + - "\2\0\7\21\1\0\7\21\2\0\1\21\2\0\1\u014e" + + "\2\0\7\21\1\0\7\21\2\0\1\21\2\0\1\21" + + "\1\0\24\21\32\0\2\21\2\0\1\u015e\5\21\4\0" + + "\1\116\13\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\2\0\1\21\1\0\24\21\32\0\1\21\1\u015f\2\0" + + "\6\21\4\0\1\116\5\21\1\u0160\5\21\2\0\7\21" + + "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + + "\32\0\2\21\2\0\6\21\4\0\1\116\1\u0161\12\21" + + "\2\0\7\21\1\0\7\21\2\0\1\21\2\0\1\21" + "\1\0\24\21\32\0\2\21\2\0\6\21\4\0\1\116" + "\13\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + - "\1\21\1\0\24\21\32\0\2\21\2\0\1\21\1\u014f" + - "\4\21\4\0\1\116\6\21\1\u0150\4\21\2\0\7\21" + - "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + - "\32\0\2\21\2\0\6\21\5\0\1\u0151\204\0\1\135" + - "\130\0\1\135\163\0\1\135\126\0\1\135\141\0\1\135" + - "\115\0\1\135\23\0\1\135\136\0\1\135\140\0\1\135" + - "\113\0\1\135\151\0\1\135\70\0\1\u0113\1\0\1\u0113" + - "\36\0\1\u0113\75\0\1\u0114\2\u0152\135\u0114\1\264\1\u0113" + - "\1\0\1\u0115\36\264\1\u0115\75\264\34\0\1\u0116\2\0" + - "\1\u0116\27\0\1\u0116\3\0\1\271\116\0\1\153\130\0" + - "\1\153\163\0\1\153\56\0\3\u011a\5\0\1\u011a\10\0" + - "\1\u011a\2\0\3\u011a\2\0\1\u011a\3\0\1\u011a\13\0" + - "\2\u011a\1\0\2\u011a\3\0\1\u011a\3\0\1\271\32\0" + - "\1\u011a\67\0\1\153\141\0\1\153\115\0\1\153\23\0" + - "\1\153\136\0\1\153\132\0\1\153\16\0\1\271\126\0" + - "\1\153\113\0\1\153\151\0\1\153\73\0\1\116\13\21" + - "\2\0\7\21\1\0\7\21\1\0\1\u0153\1\21\2\0" + - "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\4\0" + - "\1\116\5\21\1\u0154\5\21\2\0\7\21\1\0\7\21" + + "\1\21\1\0\24\21\32\0\2\21\2\0\2\21\1\u0162" + + "\3\21\11\0\1\u0163\127\0\2\u0153\1\u0164\14\0\1\u0165" + + "\10\0\1\u0166\10\0\1\u0164\102\0\1\u0167\1\u0168\135\0" + + "\1\116\3\21\1\u0169\7\21\2\0\7\21\1\0\7\21" + "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + - "\2\0\6\21\4\0\1\116\3\21\1\u0155\7\21\2\0" + - "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + - "\24\21\32\0\2\21\2\0\6\21\5\0\17\103\1\0" + - "\1\103\1\0\1\103\2\0\10\103\1\0\7\103\1\104" + - "\22\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + - "\1\103\1\0\1\103\2\0\10\103\1\0\1\104\31\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\24\103\1\104\5\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\13\103\1\104\16\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\15\103\1\104\14\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\4\103\1\104\3\103\1\0\17\103" + - "\1\104\12\103\1\0\32\103\1\0\7\103\5\0\17\103" + - "\1\0\1\103\1\0\1\103\2\0\10\103\1\0\16\103" + - "\1\104\13\103\1\0\32\103\1\0\7\103\5\0\17\103" + - "\1\0\1\103\1\0\1\103\2\0\10\103\1\0\17\103" + - "\1\104\12\103\1\0\32\103\1\0\7\103\5\0\17\103" + - "\1\0\1\103\1\0\1\103\2\0\4\103\1\104\3\103" + - "\1\0\32\103\1\0\32\103\1\0\7\103\5\0\17\103" + - "\1\0\1\103\1\0\1\103\2\0\10\103\1\0\5\103" + - "\1\104\24\103\1\0\32\103\1\0\7\103\5\0\17\103" + - "\1\0\1\103\1\0\1\103\2\0\2\103\1\u0131\2\103" + - "\1\u0131\2\103\1\0\24\103\1\u0131\3\103\1\337\1\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\7\103\1\207\22\103" + - "\1\0\32\103\1\0\7\103\5\0\17\103\1\0\1\103" + - "\1\0\1\103\2\0\10\103\1\0\1\207\31\103\1\0" + - "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + - "\1\103\2\0\10\103\1\0\24\103\1\207\5\103\1\0" + - "\32\103\1\0\7\103\5\0\1\103\3\u0135\5\103\1\u0135" + - "\5\103\1\0\1\103\1\0\1\u0135\2\0\3\u0135\2\103" + - "\1\u0135\2\103\1\0\1\u0135\13\103\2\u0135\1\103\2\u0135" + - "\3\103\1\u0135\3\103\1\337\1\103\1\0\30\103\1\u0135" + - "\1\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + - "\1\103\2\0\10\103\1\0\13\103\1\207\16\103\1\0" + - "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + - "\1\103\2\0\10\103\1\0\15\103\1\207\14\103\1\0" + - "\32\103\1\0\7\103\5\0\17\103\1\0\1\103\1\0" + - "\1\103\2\0\4\103\1\207\3\103\1\0\17\103\1\207" + - "\12\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + - "\1\103\1\0\1\103\2\0\10\103\1\0\16\103\1\207" + - "\13\103\1\0\32\103\1\0\7\103\5\0\17\103\1\0" + - "\1\103\1\0\1\103\2\0\10\103\1\0\11\103\1\207" + - "\16\103\1\337\1\103\1\0\32\103\1\0\7\103\5\0" + - "\17\103\1\0\1\103\1\0\1\103\2\0\10\103\1\0" + - "\17\103\1\207\12\103\1\0\32\103\1\0\7\103\5\0" + - "\17\103\1\0\1\103\1\0\1\103\2\0\4\103\1\207" + - "\3\103\1\0\32\103\1\0\32\103\1\0\7\103\5\0" + - "\17\103\1\0\1\103\1\0\1\103\2\0\10\103\1\0" + - "\5\103\1\207\24\103\1\0\32\103\1\0\7\103\12\0" + - "\1\u0156\132\0\1\u0157\137\0\1\u0141\140\0\1\215\141\0" + - "\1\215\144\0\1\u0158\132\0\1\u0141\127\0\1\215\1\0" + - "\16\215\1\365\117\215\5\0\12\112\1\u0159\2\0\7\112" + - "\1\0\7\112\2\0\1\112\2\0\1\112\1\0\24\112" + - "\32\0\2\112\2\0\6\112\5\0\4\112\1\372\6\112" + - "\2\0\7\112\1\0\7\112\2\0\1\112\2\0\1\112" + - "\1\0\24\112\32\0\2\112\2\0\6\112\5\0\7\112" + - "\1\215\3\112\2\0\7\112\1\0\7\112\2\0\1\112" + - "\2\0\1\112\1\0\24\112\32\0\2\112\2\0\6\112" + - "\4\0\1\116\5\21\1\u015a\1\21\1\u015b\3\21\2\0" + + "\2\0\6\21\17\0\1\u016a\131\0\1\u0143\142\0\1\216" + + "\130\0\2\112\1\u016b\10\112\2\0\7\112\1\0\7\112" + + "\2\0\1\112\2\0\1\112\1\0\24\112\32\0\2\112" + + "\2\0\6\112\4\0\1\116\11\21\1\u016c\1\21\2\0" + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\4\21" + - "\1\u015c\6\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\1\u016d\6\21\2\0\7\21\1\0\7\21\2\0\1\21" + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + "\4\0\1\116\13\21\2\0\7\21\1\0\7\21\2\0" + "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + - "\1\u015d\5\21\4\0\1\116\13\21\2\0\7\21\1\0" + - "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + - "\1\21\1\u015e\2\0\6\21\4\0\1\116\5\21\1\u015f" + - "\5\21\2\0\7\21\1\0\7\21\2\0\1\21\2\0" + - "\1\21\1\0\24\21\32\0\2\21\2\0\6\21\4\0" + - "\1\116\1\u0160\12\21\2\0\7\21\1\0\7\21\2\0" + - "\1\21\2\0\1\21\1\0\24\21\32\0\2\21\2\0" + - "\6\21\4\0\1\116\13\21\2\0\7\21\1\0\7\21" + - "\2\0\1\21\2\0\1\21\1\0\24\21\32\0\2\21" + - "\2\0\2\21\1\u0161\3\21\11\0\1\u0162\127\0\2\u0152" + - "\1\u0163\14\0\1\u0164\10\0\1\u0165\10\0\1\u0163\102\0" + - "\1\u0166\1\u0167\135\0\1\116\3\21\1\u0168\7\21\2\0" + + "\1\u016e\5\21\4\0\1\116\4\21\1\u016f\6\21\2\0" + "\7\21\1\0\7\21\2\0\1\21\2\0\1\21\1\0" + - "\24\21\32\0\2\21\2\0\6\21\17\0\1\u0169\131\0" + - "\1\u0142\142\0\1\215\130\0\2\112\1\u016a\10\112\2\0" + - "\7\112\1\0\7\112\2\0\1\112\2\0\1\112\1\0" + - "\24\112\32\0\2\112\2\0\6\112\4\0\1\116\11\21" + - "\1\u016b\1\21\2\0\7\21\1\0\7\21\2\0\1\21" + + "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\3\21" + + "\1\u0170\7\21\2\0\7\21\1\0\7\21\2\0\1\21" + "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + - "\4\0\1\116\4\21\1\u016c\6\21\2\0\7\21\1\0" + + "\122\0\1\u0171\16\0\1\u0164\1\0\1\u0164\14\0\1\u0165" + + "\10\0\1\u0166\10\0\1\u0164\223\0\1\u0172\42\0\1\u0173" + + "\117\0\1\u0174\160\0\1\u0175\114\0\1\u0176\135\0\3\112" + + "\1\u0177\7\112\2\0\7\112\1\0\7\112\2\0\1\112" + + "\2\0\1\112\1\0\24\112\32\0\2\112\2\0\6\112" + + "\4\0\1\116\3\21\1\u0178\7\21\2\0\7\21\1\0" + "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + "\2\21\2\0\6\21\4\0\1\116\13\21\2\0\7\21" + - "\1\0\7\21\2\0\1\21\2\0\1\21\1\0\24\21" + - "\32\0\2\21\2\0\1\u016d\5\21\4\0\1\116\4\21" + - "\1\u016e\6\21\2\0\7\21\1\0\7\21\2\0\1\21" + - "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + - "\4\0\1\116\3\21\1\u016f\7\21\2\0\7\21\1\0" + - "\7\21\2\0\1\21\2\0\1\21\1\0\24\21\32\0" + - "\2\21\2\0\6\21\122\0\1\u0170\16\0\1\u0163\1\0" + - "\1\u0163\14\0\1\u0164\10\0\1\u0165\10\0\1\u0163\223\0" + - "\1\u0171\42\0\1\u0172\117\0\1\u0173\160\0\1\u0174\114\0" + - "\1\u0175\135\0\3\112\1\u0176\7\112\2\0\7\112\1\0" + - "\7\112\2\0\1\112\2\0\1\112\1\0\24\112\32\0" + - "\2\112\2\0\6\112\4\0\1\116\3\21\1\u0177\7\21" + + "\1\0\7\21\1\0\1\u0179\1\21\2\0\1\21\1\0" + + "\24\21\32\0\2\21\2\0\6\21\4\0\1\116\13\21" + "\2\0\7\21\1\0\7\21\2\0\1\21\2\0\1\21" + - "\1\0\24\21\32\0\2\21\2\0\6\21\4\0\1\116" + - "\13\21\2\0\7\21\1\0\7\21\1\0\1\u0178\1\21" + - "\2\0\1\21\1\0\24\21\32\0\2\21\2\0\6\21" + - "\4\0\1\116\13\21\2\0\7\21\1\0\7\21\2\0" + - "\1\21\2\0\1\21\1\0\24\21\32\0\1\21\1\u0179" + - "\2\0\6\21\16\0\1\u017a\131\0\1\u017b\127\0\1\u0114" + - "\1\u017c\1\u0152\1\u017d\1\0\34\u0114\1\0\1\u017d\2\u0114" + - "\1\0\26\u0114\1\0\1\u0114\1\0\1\u0114\5\0\33\u0114" + - "\13\0\1\u017e\261\0\1\u017f\12\0\1\u0176\127\0\1\215" + - "\1\u0180\1\0\1\u0176\14\215\1\365\1\u0181\20\215\1\u0176" + - "\75\215\5\0\1\u0182\2\0\1\u0183\144\0\1\u0184\251\0" + - "\1\u0185\11\0\1\u017c\1\u0152\1\u017c\14\0\1\u0164\10\0" + - "\1\u0165\10\0\1\u017c\75\0\1\u0114\1\u017c\1\u0152\1\u017d" + - "\36\u0114\1\u017d\75\u0114\132\0\1\u0186\12\0\1\u0187\133\0" + - "\1\u0180\1\0\1\u0180\15\0\1\u0188\20\0\1\u0180\75\0" + - "\1\215\2\0\2\215\13\u0189\1\365\1\215\7\u0189\1\215" + - "\10\u0189\1\215\1\u0189\2\215\1\u0189\1\215\23\u0189\4\215" + - "\1\u0189\26\215\2\u0189\2\215\6\u0189\135\0\1\u018a\37\0" + - "\1\u018b\111\0\1\u018c\135\0\1\u018d\164\0\1\u018e\117\0" + - "\1\u018f\132\0\13\u0190\2\0\7\u0190\1\0\10\u0190\1\0" + - "\1\u0190\2\0\1\u0190\1\0\23\u0190\4\0\1\u0190\26\0" + - "\2\u0190\2\0\6\u0190\1\215\2\0\2\215\13\u0189\1\365" + - "\1\u0191\7\u0189\1\215\10\u0189\1\215\1\u0189\2\215\1\u0189" + - "\1\215\23\u0189\4\215\1\u0189\26\215\2\u0189\2\215\6\u0189" + - "\134\0\1\u0192\137\0\1\u0193\13\0\1\u0194\140\0\1\u0195" + - "\137\0\1\u0196\261\0\1\u0197\11\0\13\u0190\1\0\1\u0198" + - "\7\u0190\1\0\10\u0190\1\0\1\u0190\2\0\1\u0190\1\0" + - "\23\u0190\4\0\1\u0190\26\0\2\u0190\2\0\6\u0190\15\0" + - "\1\u0199\137\0\1\u019a\245\0\1\u019b\136\0\1\u019c\33\0" + - "\1\u019d\135\0\1\u019e\137\0\1\u019f\141\0\1\u01a0\131\0" + - "\1\u01a1\261\0\1\u01a2\137\0\1\u01a3\22\0\1\u01a4\131\0" + - "\1\u01a5\140\0\1\u01a6\252\0\1\u01a7\15\0\2\u0152\135\0"; + "\1\0\24\21\32\0\1\21\1\u017a\2\0\6\21\16\0" + + "\1\u017b\131\0\1\u017c\127\0\1\u0115\1\u017d\1\u0153\1\u017e" + + "\1\0\34\u0115\1\0\1\u017e\2\u0115\1\0\26\u0115\1\0" + + "\1\u0115\1\0\1\u0115\5\0\33\u0115\13\0\1\u017f\261\0" + + "\1\u0180\12\0\1\u0177\127\0\1\216\1\u0181\1\0\1\u0177" + + "\14\216\1\366\1\u0182\20\216\1\u0177\75\216\5\0\1\u0183" + + "\2\0\1\u0184\144\0\1\u0185\251\0\1\u0186\11\0\1\u017d" + + "\1\u0153\1\u017d\14\0\1\u0165\10\0\1\u0166\10\0\1\u017d" + + "\75\0\1\u0115\1\u017d\1\u0153\1\u017e\36\u0115\1\u017e\75\u0115" + + "\132\0\1\u0187\12\0\1\u0188\133\0\1\u0181\1\0\1\u0181" + + "\15\0\1\u0189\20\0\1\u0181\75\0\1\216\2\0\2\216" + + "\13\u018a\1\366\1\216\7\u018a\1\216\10\u018a\1\216\1\u018a" + + "\2\216\1\u018a\1\216\23\u018a\4\216\1\u018a\26\216\2\u018a" + + "\2\216\6\u018a\135\0\1\u018b\37\0\1\u018c\111\0\1\u018d" + + "\135\0\1\u018e\164\0\1\u018f\117\0\1\u0190\132\0\13\u0191" + + "\2\0\7\u0191\1\0\10\u0191\1\0\1\u0191\2\0\1\u0191" + + "\1\0\23\u0191\4\0\1\u0191\26\0\2\u0191\2\0\6\u0191" + + "\1\216\2\0\2\216\13\u018a\1\366\1\u0192\7\u018a\1\216" + + "\10\u018a\1\216\1\u018a\2\216\1\u018a\1\216\23\u018a\4\216" + + "\1\u018a\26\216\2\u018a\2\216\6\u018a\134\0\1\u0193\137\0" + + "\1\u0194\13\0\1\u0195\140\0\1\u0196\137\0\1\u0197\261\0" + + "\1\u0198\11\0\13\u0191\1\0\1\u0199\7\u0191\1\0\10\u0191" + + "\1\0\1\u0191\2\0\1\u0191\1\0\23\u0191\4\0\1\u0191" + + "\26\0\2\u0191\2\0\6\u0191\15\0\1\u019a\137\0\1\u019b" + + "\245\0\1\u019c\136\0\1\u019d\33\0\1\u019e\135\0\1\u019f" + + "\137\0\1\u01a0\141\0\1\u01a1\131\0\1\u01a2\261\0\1\u01a3" + + "\137\0\1\u01a4\22\0\1\u01a5\131\0\1\u01a6\140\0\1\u01a7" + + "\252\0\1\u01a8\15\0\2\u0153\135\0"; private static int[] zzUnpackTrans() { - int[] result = new int[33792]; + int[] result = new int[33888]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -816,16 +823,16 @@ private static int zzUnpackTrans(String packed, int offset, int[] result) { "\5\1\1\11\5\1\1\11\2\1\1\0\5\1\1\11" + "\15\1\2\0\1\11\1\0\2\1\1\11\4\0\1\1" + "\5\0\3\1\3\0\1\1\1\0\5\1\5\11\3\0" + - "\1\1\2\0\4\1\4\0\23\1\20\0\2\1\1\0" + - "\6\1\1\11\20\0\2\11\4\1\1\11\36\1\6\0" + - "\23\1\13\0\3\1\15\0\33\1\7\0\14\1\3\0" + - "\2\1\3\0\11\1\6\0\1\1\1\0\6\1\2\0" + - "\1\1\3\0\2\1\1\0\1\1\2\0\2\1\3\0" + - "\1\1\7\0\1\1\7\0\1\1\5\0\2\11\2\0" + - "\1\11\5\0\3\11\3\0\1\1"; + "\1\1\1\0\1\1\1\0\4\1\4\0\23\1\20\0" + + "\2\1\1\0\6\1\1\11\20\0\2\11\4\1\1\11" + + "\36\1\6\0\23\1\13\0\3\1\15\0\33\1\7\0" + + "\14\1\3\0\2\1\3\0\11\1\6\0\1\1\1\0" + + "\6\1\2\0\1\1\3\0\2\1\1\0\1\1\2\0" + + "\2\1\3\0\1\1\7\0\1\1\7\0\1\1\5\0" + + "\2\11\2\0\1\11\5\0\3\11\3\0\1\1"; private static int[] zzUnpackAttribute() { - int[] result = new int[423]; + int[] result = new int[424]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; @@ -843,30 +850,46 @@ private static int zzUnpackAttribute(String packed, int offset, int[] result) { return j; } - /** the input device */ + /** + * the input device + */ private java.io.Reader zzReader; - /** the current state of the DFA */ + /** + * the current state of the DFA + */ private int zzState; - /** the current lexical state */ + /** + * 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 */ + /** + * 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 */ + /** + * the textposition at the last accepting state + */ private int zzMarkedPos; - /** the current text position in the buffer */ + /** + * the current text position in the buffer + */ private int zzCurrentPos; - /** startRead marks the beginning of the yytext() string in the buffer */ + /** + * 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 */ + /** + * endRead marks the last character in the buffer, that has been read + * from input + */ private int zzEndRead; /** @@ -874,10 +897,14 @@ the source of the yytext() string */ */ private boolean zzAtBOL = true; - /** zzAtEOF == true <=> the scanner is at the EOF */ + /** + * zzAtEOF == true <=> the scanner is at the EOF + */ private boolean zzAtEOF; - /** denotes if the user-EOF-code has already been executed */ + /** + * denotes if the user-EOF-code has already been executed + */ private boolean zzEOFDone; /* user code: */ @@ -901,7 +928,7 @@ public _HaskellLexer() { /** * Creates a new scanner * - * @param in the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public _HaskellLexer(java.io.Reader in) { this.zzReader = in; @@ -911,7 +938,7 @@ public _HaskellLexer(java.io.Reader in) { /** * Unpacks the compressed character translation table. * - * @param packed the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -950,89 +977,87 @@ public void reset(CharSequence buffer, int start, int end, int initialState) { /** * Refills the input buffer. * - * @return {@code false}, iff there was new input. + * @return {@code false}, iff there was new input. + * @throws 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 * - * @exception java.io.IOException if any I/O-Error occurs + * @param newState the new lexical state */ - 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); - } + 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); + } /** @@ -1141,27 +1166,27 @@ public IElementType advance() throws java.io.IOException { zzStartRead = commentStart; return HS_NOT_TERMINATED_COMMENT; } // fall though - case 424: + case 425: break; case NHADDOCK: { yybegin(YYINITIAL); zzStartRead = haddockStart; return HS_NOT_TERMINATED_COMMENT; } // fall though - case 425: + case 426: break; case QQ: { yybegin(YYINITIAL); zzStartRead = qqStart; return HS_NOT_TERMINATED_QQ_EXPRESSION; } // fall though - case 426: + case 427: break; case OPTIONS_GHC: { yybegin(YYINITIAL); return com.intellij.psi.TokenType.BAD_CHARACTER; } // fall though - case 427: + case 428: break; default: return null; diff --git a/gen/intellij/haskell/parser/HaskellParser.java b/gen/intellij/haskell/parser/HaskellParser.java index 6df84b3e9..211f00cf5 100644 --- a/gen/intellij/haskell/parser/HaskellParser.java +++ b/gen/intellij/haskell/parser/HaskellParser.java @@ -7,6 +7,7 @@ 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 intellij.haskell.psi.HaskellParserUtil.*; import static intellij.haskell.psi.HaskellTypes.*; @@ -21,7 +22,7 @@ public ASTNode parse(IElementType t, PsiBuilder b) { public void parseLight(IElementType t, PsiBuilder b) { boolean r; - b = adapt_builder_(t, b, this, null); + b = adapt_builder_(t, b, this, EXTENDS_SETS_); Marker m = enter_section_(b, 0, _COLLAPSE_, null); r = parse_root_(t, b); exit_section_(b, 0, m, t, r, true, TRUE_CONDITION); @@ -35,6 +36,65 @@ static boolean parse_root_(IElementType t, PsiBuilder b, int l) { return program(b, l + 1); } + public static final TokenSet[] EXTENDS_SETS_ = new TokenSet[]{ + create_token_set_(HS_APPLICATION_EXPRESSION, HS_ATOM_EXPRESSION, HS_BRACKET_EXPRESSION, HS_CASE_OF_EXPRESSION, + HS_DO_NOTATION_EXPRESSION, HS_EXPRESSION, HS_IF_EXPRESSION, HS_LET_ABSTRACTION, + HS_PAREN_EXPRESSION), + create_token_set_(HS_CDECL_DATA_DECLARATION, HS_CLASS_DECLARATION, HS_DATA_DECLARATION, HS_DEFAULT_DECLARATION, + HS_DERIVING_DECLARATION, HS_FIXITY_DECLARATION, HS_FOREIGN_DECLARATION, HS_IMPLEMENTATION_DECLARATION, + HS_IMPORT_DECLARATION, HS_INSTANCE_DECLARATION, HS_MODULE_DECLARATION, HS_NEWTYPE_DECLARATION, + HS_TOP_DECLARATION, HS_TYPE_DECLARATION, HS_TYPE_FAMILY_DECLARATION, HS_TYPE_INSTANCE_DECLARATION), + }; + + /* ********************************************************** */ + // expression atom+ + public static boolean application_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "application_expression")) return false; + boolean r; + Marker m = enter_section_(b, l, _COLLAPSE_, HS_APPLICATION_EXPRESSION, ""); + r = expression(b, l + 1); + r = r && application_expression_1(b, l + 1); + exit_section_(b, l, m, r, false, null); + return r; + } + + // atom+ + private static boolean application_expression_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "application_expression_1")) return false; + boolean r; + Marker m = enter_section_(b); + r = atom(b, l + 1); + while (r) { + int c = current_position_(b); + if (!atom(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "application_expression_1", c)) break; + } + exit_section_(b, m, null, r); + return r; + } + + /* ********************************************************** */ + // atom_expression | bracket_expression | paren_expression + static boolean atom(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "atom")) return false; + boolean r; + r = atom_expression(b, l + 1); + if (!r) r = bracket_expression(b, l + 1); + if (!r) r = paren_expression(b, l + 1); + return r; + } + + /* ********************************************************** */ + // general_id + public static boolean atom_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "atom_expression")) return false; + boolean r; + Marker m = enter_section_(b, l, _NONE_, HS_ATOM_EXPRESSION, ""); + r = general_id(b, l + 1); + exit_section_(b, l, m, r, false, null); + return r; + } + /* ********************************************************** */ // (("forall" | FORALL) onl (((q_name onls)+ LEFT_PAREN onl (type_signature | ttype) onl (COMMA onl (type_signature | ttype))* onl RIGHT_PAREN)+ | onl type_signature | (onls q_name)+) (onl DOUBLE_RIGHT_ARROW onl ttype)? | // (q_name | UNDERSCORE)* QUOTE? LEFT_PAREN ttype1 RIGHT_PAREN | @@ -648,6 +708,20 @@ private static boolean body_0(PsiBuilder b, int l) { return true; } + /* ********************************************************** */ + // LEFT_BRACKET expression RIGHT_BRACKET + public static boolean bracket_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "bracket_expression")) return false; + if (!nextTokenIs(b, HS_LEFT_BRACKET)) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, HS_LEFT_BRACKET); + r = r && expression(b, l + 1); + r = r && consumeToken(b, HS_RIGHT_BRACKET); + exit_section_(b, m, HS_BRACKET_EXPRESSION, r); + return r; + } + /* ********************************************************** */ // (atype | TILDE | UNDERSCORE)+ static boolean btype(PsiBuilder b, int l) { @@ -674,6 +748,75 @@ private static boolean btype_0(PsiBuilder b, int l) { return r; } + /* ********************************************************** */ + // expression RIGHT_ARROW expression + public static boolean case_clause(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "case_clause")) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, HS_CASE_CLAUSE, ""); + r = expression(b, l + 1); + r = r && consumeToken(b, HS_RIGHT_ARROW); + p = r; // pin = 2 + r = r && expression(b, l + 1); + exit_section_(b, l, m, r, p, null); + return r || p; + } + + /* ********************************************************** */ + // case_clause SEMICOLON + static boolean case_definition(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "case_definition")) return false; + boolean r; + Marker m = enter_section_(b); + r = case_clause(b, l + 1); + r = r && consumeToken(b, HS_SEMICOLON); + exit_section_(b, m, null, r); + return r; + } + + /* ********************************************************** */ + // CASE expression OF LEFT_BRACE case_definition* case_clause? RIGHT_BRACE? + public static boolean case_of_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "case_of_expression")) return false; + if (!nextTokenIs(b, HS_CASE)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, HS_CASE_OF_EXPRESSION, null); + r = consumeToken(b, HS_CASE); + p = r; // pin = 1 + r = r && report_error_(b, expression(b, l + 1)); + r = p && report_error_(b, consumeTokens(b, -1, HS_OF, HS_LEFT_BRACE)) && r; + r = p && report_error_(b, case_of_expression_4(b, l + 1)) && r; + r = p && report_error_(b, case_of_expression_5(b, l + 1)) && r; + r = p && case_of_expression_6(b, l + 1) && r; + exit_section_(b, l, m, r, p, null); + return r || p; + } + + // case_definition* + private static boolean case_of_expression_4(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "case_of_expression_4")) return false; + while (true) { + int c = current_position_(b); + if (!case_definition(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "case_of_expression_4", c)) break; + } + return true; + } + + // case_clause? + private static boolean case_of_expression_5(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "case_of_expression_5")) return false; + case_clause(b, l + 1); + return true; + } + + // RIGHT_BRACE? + private static boolean case_of_expression_6(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "case_of_expression_6")) return false; + consumeToken(b, HS_RIGHT_BRACE); + return true; + } + /* ********************************************************** */ // LEFT_PAREN onls clazz (onls COMMA onls clazz)* onls RIGHT_PAREN | // clazz @@ -894,7 +1037,8 @@ private static boolean cdecls_1_0(PsiBuilder b, int l) { /* ********************************************************** */ // pragma | instance_declaration | default_declaration | - // newtype_declaration | data_declaration | type_declaration | type_family_declaration | line_expression + // newtype_declaration | data_declaration | type_declaration | type_family_declaration + // | line_expression | implementation_declaration public static boolean cidecl(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "cidecl")) return false; boolean r; @@ -907,6 +1051,7 @@ public static boolean cidecl(PsiBuilder b, int l) { if (!r) r = type_declaration(b, l + 1); if (!r) r = type_family_declaration(b, l + 1); if (!r) r = line_expression(b, l + 1); + if (!r) r = implementation_declaration(b, l + 1); exit_section_(b, l, m, r, false, null); return r; } @@ -2372,6 +2517,59 @@ public static boolean deriving_via(PsiBuilder b, int l) { return r; } + /* ********************************************************** */ + // expression SEMICOLON + static boolean do_definition(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "do_definition")) return false; + boolean r; + Marker m = enter_section_(b); + r = expression(b, l + 1); + r = r && consumeToken(b, HS_SEMICOLON); + exit_section_(b, m, null, r); + return r; + } + + /* ********************************************************** */ + // DO LEFT_BRACE do_definition* expression? RIGHT_BRACE? + public static boolean do_notation_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "do_notation_expression")) return false; + if (!nextTokenIs(b, HS_DO)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, HS_DO_NOTATION_EXPRESSION, null); + r = consumeTokens(b, 1, HS_DO, HS_LEFT_BRACE); + p = r; // pin = 1 + r = r && report_error_(b, do_notation_expression_2(b, l + 1)); + r = p && report_error_(b, do_notation_expression_3(b, l + 1)) && r; + r = p && do_notation_expression_4(b, l + 1) && r; + exit_section_(b, l, m, r, p, null); + return r || p; + } + + // do_definition* + private static boolean do_notation_expression_2(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "do_notation_expression_2")) return false; + while (true) { + int c = current_position_(b); + if (!do_definition(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "do_notation_expression_2", c)) break; + } + return true; + } + + // expression? + private static boolean do_notation_expression_3(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "do_notation_expression_3")) return false; + expression(b, l + 1); + return true; + } + + // RIGHT_BRACE? + private static boolean do_notation_expression_4(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "do_notation_expression_4")) return false; + consumeToken(b, HS_RIGHT_BRACE); + return true; + } + /* ********************************************************** */ // DOT DOT public static boolean dot_dot(PsiBuilder b, int l) { @@ -2596,31 +2794,47 @@ private static boolean exports_0_2_0(PsiBuilder b, int l) { } /* ********************************************************** */ - // line_expression (nls line_expression)* + // let_abstraction | do_notation_expression | if_expression | application_expression | case_of_expression | atom | line_expression (nls line_expression)* public static boolean expression(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "expression")) return false; boolean r; - Marker m = enter_section_(b, l, _NONE_, HS_EXPRESSION, ""); - r = line_expression(b, l + 1); - r = r && expression_1(b, l + 1); + Marker m = enter_section_(b, l, _COLLAPSE_, HS_EXPRESSION, ""); + r = let_abstraction(b, l + 1); + if (!r) r = do_notation_expression(b, l + 1); + if (!r) r = if_expression(b, l + 1); + if (!r) r = application_expression(b, l + 1); + if (!r) r = case_of_expression(b, l + 1); + if (!r) r = atom(b, l + 1); + if (!r) r = expression_6(b, l + 1); exit_section_(b, l, m, r, false, null); return r; } + // line_expression (nls line_expression)* + private static boolean expression_6(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "expression_6")) return false; + boolean r; + Marker m = enter_section_(b); + r = line_expression(b, l + 1); + r = r && expression_6_1(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + // (nls line_expression)* - private static boolean expression_1(PsiBuilder b, int l) { - if (!recursion_guard_(b, l, "expression_1")) return false; + private static boolean expression_6_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "expression_6_1")) return false; while (true) { int c = current_position_(b); - if (!expression_1_0(b, l + 1)) break; - if (!empty_element_parsed_guard_(b, "expression_1", c)) break; + if (!expression_6_1_0(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "expression_6_1", c)) break; } return true; } // nls line_expression - private static boolean expression_1_0(PsiBuilder b, int l) { - if (!recursion_guard_(b, l, "expression_1_0")) return false; + private static boolean expression_6_1_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "expression_6_1_0")) return false; boolean r; Marker m = enter_section_(b); r = nls(b, l + 1); @@ -3001,6 +3215,38 @@ private static boolean gtycon_4_2(PsiBuilder b, int l) { return true; } + /* ********************************************************** */ + // IF expression THEN expression ELSE expression + public static boolean if_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "if_expression")) return false; + if (!nextTokenIs(b, HS_IF)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, HS_IF_EXPRESSION, null); + r = consumeToken(b, HS_IF); + p = r; // pin = 1 + r = r && report_error_(b, expression(b, l + 1)); + r = p && report_error_(b, consumeToken(b, HS_THEN)) && r; + r = p && report_error_(b, expression(b, l + 1)) && r; + r = p && report_error_(b, consumeToken(b, HS_ELSE)) && r; + r = p && expression(b, l + 1) && r; + exit_section_(b, l, m, r, p, null); + return r || p; + } + + /* ********************************************************** */ + // expression EQUAL expression + public static boolean implementation_declaration(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "implementation_declaration")) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, HS_IMPLEMENTATION_DECLARATION, ""); + r = expression(b, l + 1); + r = r && consumeToken(b, HS_EQUAL); + p = r; // pin = 2 + r = r && expression(b, l + 1); + exit_section_(b, l, m, r, p, null); + return r || p; + } + /* ********************************************************** */ // IMPORT (onls pragma)? (onls import_qualified)? (onls import_package_name)? onls modid (onls import_qualified_as)? (onls import_spec)? NEWLINE? public static boolean import_declaration(PsiBuilder b, int l) { @@ -4185,6 +4431,61 @@ public static boolean kind_signature(PsiBuilder b, int l) { return r; } + /* ********************************************************** */ + // LET LEFT_BRACE let_definition* cdecl? RIGHT_BRACE? semi IN expression + public static boolean let_abstraction(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "let_abstraction")) return false; + if (!nextTokenIs(b, HS_LET)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, HS_LET_ABSTRACTION, null); + r = consumeTokens(b, 1, HS_LET, HS_LEFT_BRACE); + p = r; // pin = 1 + r = r && report_error_(b, let_abstraction_2(b, l + 1)); + r = p && report_error_(b, let_abstraction_3(b, l + 1)) && r; + r = p && report_error_(b, let_abstraction_4(b, l + 1)) && r; + r = p && report_error_(b, consumeTokens(b, -1, HS_SEMI, HS_IN)) && r; + r = p && expression(b, l + 1) && r; + exit_section_(b, l, m, r, p, null); + return r || p; + } + + // let_definition* + private static boolean let_abstraction_2(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "let_abstraction_2")) return false; + while (true) { + int c = current_position_(b); + if (!let_definition(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "let_abstraction_2", c)) break; + } + return true; + } + + // cdecl? + private static boolean let_abstraction_3(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "let_abstraction_3")) return false; + cdecl(b, l + 1); + return true; + } + + // RIGHT_BRACE? + private static boolean let_abstraction_4(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "let_abstraction_4")) return false; + consumeToken(b, HS_RIGHT_BRACE); + return true; + } + + /* ********************************************************** */ + // cdecl SEMICOLON + static boolean let_definition(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "let_definition")) return false; + boolean r; + Marker m = enter_section_(b); + r = cdecl(b, l + 1); + r = r && consumeToken(b, HS_SEMICOLON); + exit_section_(b, m, null, r); + return r; + } + /* ********************************************************** */ // (general_id | LIST_COMPREHENSION)+ | NOT_TERMINATED_QQ_EXPRESSION static boolean line_expression(PsiBuilder b, int l) { @@ -4329,7 +4630,7 @@ private static boolean module_body_1(PsiBuilder b, int l) { } /* ********************************************************** */ - // MODULE modid onl pragma? onl (exports onl)? WHERE + // MODULE modid onl pragma? onl (exports onl)? where_clause public static boolean module_declaration(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "module_declaration")) return false; if (!nextTokenIs(b, HS_MODULE)) return false; @@ -4341,7 +4642,7 @@ public static boolean module_declaration(PsiBuilder b, int l) { r = r && module_declaration_3(b, l + 1); r = r && onl(b, l + 1); r = r && module_declaration_5(b, l + 1); - r = r && consumeToken(b, HS_WHERE); + r = r && where_clause(b, l + 1); exit_section_(b, m, HS_MODULE_DECLARATION, r); return r; } @@ -4817,6 +5118,20 @@ private static boolean oonls_0_1_2(PsiBuilder b, int l) { return r; } + /* ********************************************************** */ + // LEFT_PAREN expression RIGHT_PAREN + public static boolean paren_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "paren_expression")) return false; + if (!nextTokenIs(b, HS_LEFT_PAREN)) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, HS_LEFT_PAREN); + r = r && expression(b, l + 1); + r = r && consumeToken(b, HS_RIGHT_PAREN); + exit_section_(b, m, HS_PAREN_EXPRESSION, r); + return r; + } + /* ********************************************************** */ // PRAGMA_START general_pragma_content* PRAGMA_END NEWLINE? public static boolean pragma(PsiBuilder b, int l) { @@ -5679,11 +5994,11 @@ public static boolean text_literal(PsiBuilder b, int l) { /* ********************************************************** */ // (type_declaration | data_declaration | newtype_declaration | class_declaration | instance_declaration | default_declaration | // foreign_declaration | type_family_declaration | deriving_declaration | type_instance_declaration | type_signature | - // pragma | fixity_declaration | expression | DIRECTIVE) SEMICOLON? NEWLINE? + // pragma | fixity_declaration | expression | DIRECTIVE | implementation_declaration) SEMICOLON? NEWLINE? public static boolean top_declaration(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "top_declaration")) return false; boolean r; - Marker m = enter_section_(b, l, _NONE_, HS_TOP_DECLARATION, ""); + Marker m = enter_section_(b, l, _COLLAPSE_, HS_TOP_DECLARATION, ""); r = top_declaration_0(b, l + 1); r = r && top_declaration_1(b, l + 1); r = r && top_declaration_2(b, l + 1); @@ -5693,7 +6008,7 @@ public static boolean top_declaration(PsiBuilder b, int l) { // type_declaration | data_declaration | newtype_declaration | class_declaration | instance_declaration | default_declaration | // foreign_declaration | type_family_declaration | deriving_declaration | type_instance_declaration | type_signature | - // pragma | fixity_declaration | expression | DIRECTIVE + // pragma | fixity_declaration | expression | DIRECTIVE | implementation_declaration private static boolean top_declaration_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "top_declaration_0")) return false; boolean r; @@ -5712,6 +6027,7 @@ private static boolean top_declaration_0(PsiBuilder b, int l) { if (!r) r = fixity_declaration(b, l + 1); if (!r) r = expression(b, l + 1); if (!r) r = consumeToken(b, HS_DIRECTIVE); + if (!r) r = implementation_declaration(b, l + 1); return r; } @@ -6807,4 +7123,26 @@ private static boolean varsym_8_2(PsiBuilder b, int l) { return r; } + /* ********************************************************** */ + // WHERE LEFT_BRACE body RIGHT_BRACE? + public static boolean where_clause(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "where_clause")) return false; + if (!nextTokenIs(b, HS_WHERE)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, HS_WHERE_CLAUSE, null); + r = consumeTokens(b, 1, HS_WHERE, HS_LEFT_BRACE); + p = r; // pin = 1 + r = r && report_error_(b, body(b, l + 1)); + r = p && where_clause_3(b, l + 1) && r; + exit_section_(b, l, m, r, p, null); + return r || p; + } + + // RIGHT_BRACE? + private static boolean where_clause_3(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "where_clause_3")) return false; + consumeToken(b, HS_RIGHT_BRACE); + return true; + } + } diff --git a/gen/intellij/haskell/psi/HaskellApplicationExpression.java b/gen/intellij/haskell/psi/HaskellApplicationExpression.java new file mode 100644 index 000000000..8c5587a34 --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellApplicationExpression.java @@ -0,0 +1,13 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface HaskellApplicationExpression extends HaskellExpression { + + @NotNull + List getExpressionList(); + +} diff --git a/gen/intellij/haskell/psi/HaskellAtomExpression.java b/gen/intellij/haskell/psi/HaskellAtomExpression.java new file mode 100644 index 000000000..a498ca87a --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellAtomExpression.java @@ -0,0 +1,23 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import org.jetbrains.annotations.Nullable; + +public interface HaskellAtomExpression extends HaskellExpression { + + @Nullable + HaskellDotDot getDotDot(); + + @Nullable + HaskellPragma getPragma(); + + @Nullable + HaskellQName getQName(); + + @Nullable + HaskellQuasiQuote getQuasiQuote(); + + @Nullable + HaskellTextLiteral getTextLiteral(); + +} diff --git a/gen/intellij/haskell/psi/HaskellBracketExpression.java b/gen/intellij/haskell/psi/HaskellBracketExpression.java new file mode 100644 index 000000000..b668ff02a --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellBracketExpression.java @@ -0,0 +1,11 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import org.jetbrains.annotations.NotNull; + +public interface HaskellBracketExpression extends HaskellExpression { + + @NotNull + HaskellExpression getExpression(); + +} diff --git a/gen/intellij/haskell/psi/HaskellCaseClause.java b/gen/intellij/haskell/psi/HaskellCaseClause.java new file mode 100644 index 000000000..b62f1bd0a --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellCaseClause.java @@ -0,0 +1,13 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import java.util.List; +import org.jetbrains.annotations.*; +import com.intellij.psi.PsiElement; + +public interface HaskellCaseClause extends HaskellCompositeElement { + + @NotNull + List getExpressionList(); + +} diff --git a/gen/intellij/haskell/psi/HaskellCaseOfExpression.java b/gen/intellij/haskell/psi/HaskellCaseOfExpression.java new file mode 100644 index 000000000..5d0d33eea --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellCaseOfExpression.java @@ -0,0 +1,16 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import java.util.List; +import org.jetbrains.annotations.*; +import com.intellij.psi.PsiElement; + +public interface HaskellCaseOfExpression extends HaskellExpression { + + @NotNull + List getCaseClauseList(); + + @Nullable + HaskellExpression getExpression(); + +} diff --git a/gen/intellij/haskell/psi/HaskellCdeclDataDeclaration.java b/gen/intellij/haskell/psi/HaskellCdeclDataDeclaration.java index 4e561df2f..d87e4b962 100644 --- a/gen/intellij/haskell/psi/HaskellCdeclDataDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellCdeclDataDeclaration.java @@ -6,7 +6,7 @@ import java.util.List; -public interface HaskellCdeclDataDeclaration extends HaskellCompositeElement { +public interface HaskellCdeclDataDeclaration extends HaskellTopDeclaration { @NotNull List getKindSignatureList(); diff --git a/gen/intellij/haskell/psi/HaskellCidecl.java b/gen/intellij/haskell/psi/HaskellCidecl.java index 5a76f1842..cdf5f40c5 100644 --- a/gen/intellij/haskell/psi/HaskellCidecl.java +++ b/gen/intellij/haskell/psi/HaskellCidecl.java @@ -8,21 +8,9 @@ public interface HaskellCidecl extends HaskellCompositeElement { - @Nullable - HaskellDataDeclaration getDataDeclaration(); - - @Nullable - HaskellDefaultDeclaration getDefaultDeclaration(); - @NotNull List getDotDotList(); - @Nullable - HaskellInstanceDeclaration getInstanceDeclaration(); - - @Nullable - HaskellNewtypeDeclaration getNewtypeDeclaration(); - @Nullable HaskellPragma getPragma(); @@ -36,9 +24,6 @@ public interface HaskellCidecl extends HaskellCompositeElement { List getTextLiteralList(); @Nullable - HaskellTypeDeclaration getTypeDeclaration(); - - @Nullable - HaskellTypeFamilyDeclaration getTypeFamilyDeclaration(); + HaskellTopDeclaration getTopDeclaration(); } diff --git a/gen/intellij/haskell/psi/HaskellClassDeclaration.java b/gen/intellij/haskell/psi/HaskellClassDeclaration.java index d826105e4..b40fc2618 100644 --- a/gen/intellij/haskell/psi/HaskellClassDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellClassDeclaration.java @@ -9,7 +9,7 @@ import java.util.List; -public interface HaskellClassDeclaration extends HaskellDeclarationElement { +public interface HaskellClassDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @Nullable HaskellCdecls getCdecls(); diff --git a/gen/intellij/haskell/psi/HaskellDataDeclaration.java b/gen/intellij/haskell/psi/HaskellDataDeclaration.java index 24329b2e0..dde74a17c 100644 --- a/gen/intellij/haskell/psi/HaskellDataDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellDataDeclaration.java @@ -9,7 +9,7 @@ import java.util.List; -public interface HaskellDataDeclaration extends HaskellDataConstructorDeclarationElement { +public interface HaskellDataDeclaration extends HaskellTopDeclaration, HaskellDataConstructorDeclarationElement { @Nullable HaskellCcontext getCcontext(); diff --git a/gen/intellij/haskell/psi/HaskellDefaultDeclaration.java b/gen/intellij/haskell/psi/HaskellDefaultDeclaration.java index 855bfb3fb..1f62c4e12 100644 --- a/gen/intellij/haskell/psi/HaskellDefaultDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellDefaultDeclaration.java @@ -3,13 +3,12 @@ import com.intellij.navigation.ItemPresentation; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.immutable.Seq; import java.util.List; -public interface HaskellDefaultDeclaration extends HaskellDeclarationElement { +public interface HaskellDefaultDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @NotNull List getPragmaList(); @@ -17,9 +16,6 @@ public interface HaskellDefaultDeclaration extends HaskellDeclarationElement { @NotNull List getTtypeList(); - @Nullable - HaskellTypeSignature getTypeSignature(); - String getName(); ItemPresentation getPresentation(); diff --git a/gen/intellij/haskell/psi/HaskellDerivingDeclaration.java b/gen/intellij/haskell/psi/HaskellDerivingDeclaration.java index 80047fe2b..ca1a5800a 100644 --- a/gen/intellij/haskell/psi/HaskellDerivingDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellDerivingDeclaration.java @@ -9,7 +9,7 @@ import java.util.List; -public interface HaskellDerivingDeclaration extends HaskellDeclarationElement { +public interface HaskellDerivingDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @NotNull HaskellInst getInst(); diff --git a/gen/intellij/haskell/psi/HaskellDoNotationExpression.java b/gen/intellij/haskell/psi/HaskellDoNotationExpression.java new file mode 100644 index 000000000..13dbeb3c6 --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellDoNotationExpression.java @@ -0,0 +1,13 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import java.util.List; +import org.jetbrains.annotations.*; +import com.intellij.psi.PsiElement; + +public interface HaskellDoNotationExpression extends HaskellExpression { + + @NotNull + List getExpressionList(); + +} diff --git a/gen/intellij/haskell/psi/HaskellFixityDeclaration.java b/gen/intellij/haskell/psi/HaskellFixityDeclaration.java index b4100c25a..3b2363e14 100644 --- a/gen/intellij/haskell/psi/HaskellFixityDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellFixityDeclaration.java @@ -5,7 +5,7 @@ import org.jetbrains.annotations.*; import com.intellij.psi.PsiElement; -public interface HaskellFixityDeclaration extends HaskellCompositeElement { +public interface HaskellFixityDeclaration extends HaskellTopDeclaration { @NotNull HaskellQNames getQNames(); diff --git a/gen/intellij/haskell/psi/HaskellForeignDeclaration.java b/gen/intellij/haskell/psi/HaskellForeignDeclaration.java index dbfae2829..2d68a7db1 100644 --- a/gen/intellij/haskell/psi/HaskellForeignDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellForeignDeclaration.java @@ -8,7 +8,7 @@ import java.util.List; -public interface HaskellForeignDeclaration extends HaskellDeclarationElement { +public interface HaskellForeignDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @NotNull HaskellExpression getExpression(); diff --git a/gen/intellij/haskell/psi/HaskellIfExpression.java b/gen/intellij/haskell/psi/HaskellIfExpression.java new file mode 100644 index 000000000..62e3f0f00 --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellIfExpression.java @@ -0,0 +1,13 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import java.util.List; +import org.jetbrains.annotations.*; +import com.intellij.psi.PsiElement; + +public interface HaskellIfExpression extends HaskellExpression { + + @NotNull + List getExpressionList(); + +} diff --git a/gen/intellij/haskell/psi/HaskellImplementationDeclaration.java b/gen/intellij/haskell/psi/HaskellImplementationDeclaration.java new file mode 100644 index 000000000..890344076 --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellImplementationDeclaration.java @@ -0,0 +1,13 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import java.util.List; +import org.jetbrains.annotations.*; +import com.intellij.psi.PsiElement; + +public interface HaskellImplementationDeclaration extends HaskellTopDeclaration { + + @NotNull + List getExpressionList(); + +} diff --git a/gen/intellij/haskell/psi/HaskellImportDeclaration.java b/gen/intellij/haskell/psi/HaskellImportDeclaration.java index dbe70bad7..e6a1cf6f6 100644 --- a/gen/intellij/haskell/psi/HaskellImportDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellImportDeclaration.java @@ -7,7 +7,7 @@ import java.util.List; -public interface HaskellImportDeclaration extends HaskellCompositeElement { +public interface HaskellImportDeclaration extends HaskellTopDeclaration { @Nullable HaskellImportPackageName getImportPackageName(); diff --git a/gen/intellij/haskell/psi/HaskellImportEmptySpec.java b/gen/intellij/haskell/psi/HaskellImportEmptySpec.java index c6f5f1d71..6d3be32e0 100644 --- a/gen/intellij/haskell/psi/HaskellImportEmptySpec.java +++ b/gen/intellij/haskell/psi/HaskellImportEmptySpec.java @@ -1,10 +1,6 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi; -import java.util.List; -import org.jetbrains.annotations.*; -import com.intellij.psi.PsiElement; - public interface HaskellImportEmptySpec extends HaskellCompositeElement { } diff --git a/gen/intellij/haskell/psi/HaskellImportSpec.java b/gen/intellij/haskell/psi/HaskellImportSpec.java index b4397a3db..911424df0 100644 --- a/gen/intellij/haskell/psi/HaskellImportSpec.java +++ b/gen/intellij/haskell/psi/HaskellImportSpec.java @@ -1,19 +1,17 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi; -import java.util.List; -import org.jetbrains.annotations.*; -import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; public interface HaskellImportSpec extends HaskellCompositeElement { - @Nullable - HaskellImportEmptySpec getImportEmptySpec(); + @Nullable + HaskellImportEmptySpec getImportEmptySpec(); - @Nullable - HaskellImportHidingSpec getImportHidingSpec(); + @Nullable + HaskellImportHidingSpec getImportHidingSpec(); - @Nullable - HaskellImportIdsSpec getImportIdsSpec(); + @Nullable + HaskellImportIdsSpec getImportIdsSpec(); } diff --git a/gen/intellij/haskell/psi/HaskellInstanceDeclaration.java b/gen/intellij/haskell/psi/HaskellInstanceDeclaration.java index 7e4e2d4f8..d02f19946 100644 --- a/gen/intellij/haskell/psi/HaskellInstanceDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellInstanceDeclaration.java @@ -9,7 +9,7 @@ import java.util.List; -public interface HaskellInstanceDeclaration extends HaskellDeclarationElement { +public interface HaskellInstanceDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @Nullable HaskellCidecls getCidecls(); diff --git a/gen/intellij/haskell/psi/HaskellLetAbstraction.java b/gen/intellij/haskell/psi/HaskellLetAbstraction.java new file mode 100644 index 000000000..40b63f2c6 --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellLetAbstraction.java @@ -0,0 +1,17 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface HaskellLetAbstraction extends HaskellExpression { + + @NotNull + List getCdeclList(); + + @Nullable + HaskellExpression getExpression(); + +} diff --git a/gen/intellij/haskell/psi/HaskellModuleBody.java b/gen/intellij/haskell/psi/HaskellModuleBody.java index 3ab7e1ee0..dd2f2a679 100644 --- a/gen/intellij/haskell/psi/HaskellModuleBody.java +++ b/gen/intellij/haskell/psi/HaskellModuleBody.java @@ -11,9 +11,6 @@ public interface HaskellModuleBody extends HaskellCompositeElement { @Nullable HaskellImportDeclarations getImportDeclarations(); - @Nullable - HaskellModuleDeclaration getModuleDeclaration(); - @NotNull List getPragmaList(); diff --git a/gen/intellij/haskell/psi/HaskellModuleDeclaration.java b/gen/intellij/haskell/psi/HaskellModuleDeclaration.java index 04a9f1a57..98d6c7ecb 100644 --- a/gen/intellij/haskell/psi/HaskellModuleDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellModuleDeclaration.java @@ -9,7 +9,7 @@ import java.util.List; -public interface HaskellModuleDeclaration extends HaskellDeclarationElement { +public interface HaskellModuleDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @Nullable HaskellExports getExports(); @@ -20,6 +20,9 @@ public interface HaskellModuleDeclaration extends HaskellDeclarationElement { @NotNull List getPragmaList(); + @NotNull + HaskellWhereClause getWhereClause(); + String getName(); ItemPresentation getPresentation(); diff --git a/gen/intellij/haskell/psi/HaskellNewtypeDeclaration.java b/gen/intellij/haskell/psi/HaskellNewtypeDeclaration.java index 136c98934..e35dfeec9 100644 --- a/gen/intellij/haskell/psi/HaskellNewtypeDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellNewtypeDeclaration.java @@ -9,7 +9,7 @@ import java.util.List; -public interface HaskellNewtypeDeclaration extends HaskellDataConstructorDeclarationElement { +public interface HaskellNewtypeDeclaration extends HaskellTopDeclaration, HaskellDataConstructorDeclarationElement { @Nullable HaskellCcontext getCcontext(); diff --git a/gen/intellij/haskell/psi/HaskellParenExpression.java b/gen/intellij/haskell/psi/HaskellParenExpression.java new file mode 100644 index 000000000..b00506a73 --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellParenExpression.java @@ -0,0 +1,11 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import org.jetbrains.annotations.NotNull; + +public interface HaskellParenExpression extends HaskellExpression { + + @NotNull + HaskellExpression getExpression(); + +} diff --git a/gen/intellij/haskell/psi/HaskellTopDeclaration.java b/gen/intellij/haskell/psi/HaskellTopDeclaration.java index 4cf43b087..2b8e6fc84 100644 --- a/gen/intellij/haskell/psi/HaskellTopDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellTopDeclaration.java @@ -1,52 +1,20 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi; -import java.util.List; -import org.jetbrains.annotations.*; -import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; public interface HaskellTopDeclaration extends HaskellCompositeElement { - @Nullable - HaskellClassDeclaration getClassDeclaration(); + @Nullable + HaskellExpression getExpression(); - @Nullable - HaskellDataDeclaration getDataDeclaration(); + @Nullable + HaskellPragma getPragma(); - @Nullable - HaskellDefaultDeclaration getDefaultDeclaration(); + @Nullable + HaskellTopDeclaration getTopDeclaration(); - @Nullable - HaskellDerivingDeclaration getDerivingDeclaration(); - - @Nullable - HaskellExpression getExpression(); - - @Nullable - HaskellFixityDeclaration getFixityDeclaration(); - - @Nullable - HaskellForeignDeclaration getForeignDeclaration(); - - @Nullable - HaskellInstanceDeclaration getInstanceDeclaration(); - - @Nullable - HaskellNewtypeDeclaration getNewtypeDeclaration(); - - @Nullable - HaskellPragma getPragma(); - - @Nullable - HaskellTypeDeclaration getTypeDeclaration(); - - @Nullable - HaskellTypeFamilyDeclaration getTypeFamilyDeclaration(); - - @Nullable - HaskellTypeInstanceDeclaration getTypeInstanceDeclaration(); - - @Nullable - HaskellTypeSignature getTypeSignature(); + @Nullable + HaskellTypeSignature getTypeSignature(); } diff --git a/gen/intellij/haskell/psi/HaskellTypeDeclaration.java b/gen/intellij/haskell/psi/HaskellTypeDeclaration.java index 8eb4b49b6..9cf75d274 100644 --- a/gen/intellij/haskell/psi/HaskellTypeDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellTypeDeclaration.java @@ -9,10 +9,7 @@ import java.util.List; -public interface HaskellTypeDeclaration extends HaskellDeclarationElement { - - @Nullable - HaskellExpression getExpression(); +public interface HaskellTypeDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @NotNull List getKindSignatureList(); @@ -29,9 +26,6 @@ public interface HaskellTypeDeclaration extends HaskellDeclarationElement { @Nullable HaskellTtype getTtype(); - @Nullable - HaskellTypeSignature getTypeSignature(); - String getName(); ItemPresentation getPresentation(); diff --git a/gen/intellij/haskell/psi/HaskellTypeFamilyDeclaration.java b/gen/intellij/haskell/psi/HaskellTypeFamilyDeclaration.java index 0f19393e3..d1220260c 100644 --- a/gen/intellij/haskell/psi/HaskellTypeFamilyDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellTypeFamilyDeclaration.java @@ -3,16 +3,12 @@ import com.intellij.navigation.ItemPresentation; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.immutable.Seq; import java.util.List; -public interface HaskellTypeFamilyDeclaration extends HaskellDeclarationElement { - - @Nullable - HaskellExpression getExpression(); +public interface HaskellTypeFamilyDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @NotNull List getPragmaList(); diff --git a/gen/intellij/haskell/psi/HaskellTypeInstanceDeclaration.java b/gen/intellij/haskell/psi/HaskellTypeInstanceDeclaration.java index 1e63f175e..5ab0fc1c2 100644 --- a/gen/intellij/haskell/psi/HaskellTypeInstanceDeclaration.java +++ b/gen/intellij/haskell/psi/HaskellTypeInstanceDeclaration.java @@ -8,7 +8,7 @@ import java.util.List; -public interface HaskellTypeInstanceDeclaration extends HaskellDeclarationElement { +public interface HaskellTypeInstanceDeclaration extends HaskellTopDeclaration, HaskellDeclarationElement { @NotNull HaskellExpression getExpression(); diff --git a/gen/intellij/haskell/psi/HaskellTypes.java b/gen/intellij/haskell/psi/HaskellTypes.java index f4231a982..7eb8ac5fe 100644 --- a/gen/intellij/haskell/psi/HaskellTypes.java +++ b/gen/intellij/haskell/psi/HaskellTypes.java @@ -8,6 +8,11 @@ public interface HaskellTypes { + IElementType HS_APPLICATION_EXPRESSION = new HaskellCompositeElementType("HS_APPLICATION_EXPRESSION"); + IElementType HS_ATOM_EXPRESSION = new HaskellCompositeElementType("HS_ATOM_EXPRESSION"); + IElementType HS_BRACKET_EXPRESSION = new HaskellCompositeElementType("HS_BRACKET_EXPRESSION"); + IElementType HS_CASE_CLAUSE = new HaskellCompositeElementType("HS_CASE_CLAUSE"); + IElementType HS_CASE_OF_EXPRESSION = new HaskellCompositeElementType("HS_CASE_OF_EXPRESSION"); IElementType HS_CCONTEXT = new HaskellCompositeElementType("HS_CCONTEXT"); IElementType HS_CDECL = new HaskellCompositeElementType("HS_CDECL"); IElementType HS_CDECLS = new HaskellCompositeElementType("HS_CDECLS"); @@ -29,6 +34,7 @@ public interface HaskellTypes { IElementType HS_DERIVING_DECLARATION = new HaskellCompositeElementType("HS_DERIVING_DECLARATION"); IElementType HS_DERIVING_VIA = new HaskellCompositeElementType("HS_DERIVING_VIA"); IElementType HS_DOT_DOT = new HaskellCompositeElementType("HS_DOT_DOT"); + IElementType HS_DO_NOTATION_EXPRESSION = new HaskellCompositeElementType("HS_DO_NOTATION_EXPRESSION"); IElementType HS_EXPORT = new HaskellCompositeElementType("HS_EXPORT"); IElementType HS_EXPORTS = new HaskellCompositeElementType("HS_EXPORTS"); IElementType HS_EXPRESSION = new HaskellCompositeElementType("HS_EXPRESSION"); @@ -38,6 +44,8 @@ public interface HaskellTypes { IElementType HS_FOREIGN_DECLARATION = new HaskellCompositeElementType("HS_FOREIGN_DECLARATION"); IElementType HS_GENERAL_PRAGMA_CONTENT = new HaskellCompositeElementType("HS_GENERAL_PRAGMA_CONTENT"); IElementType HS_GTYCON = new HaskellCompositeElementType("HS_GTYCON"); + IElementType HS_IF_EXPRESSION = new HaskellCompositeElementType("HS_IF_EXPRESSION"); + IElementType HS_IMPLEMENTATION_DECLARATION = new HaskellCompositeElementType("HS_IMPLEMENTATION_DECLARATION"); IElementType HS_IMPORT_DECLARATION = new HaskellCompositeElementType("HS_IMPORT_DECLARATION"); IElementType HS_IMPORT_DECLARATIONS = new HaskellCompositeElementType("HS_IMPORT_DECLARATIONS"); IElementType HS_IMPORT_EMPTY_SPEC = new HaskellCompositeElementType("HS_IMPORT_EMPTY_SPEC"); @@ -53,6 +61,7 @@ public interface HaskellTypes { IElementType HS_INSTANCE_DECLARATION = new HaskellCompositeElementType("HS_INSTANCE_DECLARATION"); IElementType HS_INSTVAR = new HaskellCompositeElementType("HS_INSTVAR"); IElementType HS_KIND_SIGNATURE = new HaskellCompositeElementType("HS_KIND_SIGNATURE"); + IElementType HS_LET_ABSTRACTION = new HaskellCompositeElementType("HS_LET_ABSTRACTION"); IElementType HS_LIST_TYPE = new HaskellCompositeElementType("HS_LIST_TYPE"); IElementType HS_MODID = HaskellElementTypeFactory.factory("HS_MODID"); IElementType HS_MODULE_BODY = new HaskellCompositeElementType("HS_MODULE_BODY"); @@ -60,6 +69,7 @@ public interface HaskellTypes { IElementType HS_NEWCONSTR = new HaskellCompositeElementType("HS_NEWCONSTR"); IElementType HS_NEWCONSTR_FIELDDECL = new HaskellCompositeElementType("HS_NEWCONSTR_FIELDDECL"); IElementType HS_NEWTYPE_DECLARATION = new HaskellCompositeElementType("HS_NEWTYPE_DECLARATION"); + IElementType HS_PAREN_EXPRESSION = new HaskellCompositeElementType("HS_PAREN_EXPRESSION"); IElementType HS_PRAGMA = new HaskellCompositeElementType("HS_PRAGMA"); IElementType HS_QUALIFIER = new HaskellCompositeElementType("HS_QUALIFIER"); IElementType HS_QUASI_QUOTE = new HaskellCompositeElementType("HS_QUASI_QUOTE"); @@ -88,6 +98,7 @@ public interface HaskellTypes { IElementType HS_VARID = HaskellElementTypeFactory.factory("HS_VARID"); IElementType HS_VARSYM = HaskellElementTypeFactory.factory("HS_VARSYM"); IElementType HS_VAR_CON = new HaskellCompositeElementType("HS_VAR_CON"); + IElementType HS_WHERE_CLAUSE = new HaskellCompositeElementType("HS_WHERE_CLAUSE"); IElementType HS_AT = new HaskellTokenType("AT"); IElementType HS_BACKQUOTE = new HaskellTokenType("BACKQUOTE"); @@ -152,6 +163,7 @@ public interface HaskellTypes { IElementType HS_RIGHT_BRACE = new HaskellTokenType("RIGHT_BRACE"); IElementType HS_RIGHT_BRACKET = new HaskellTokenType("RIGHT_BRACKET"); IElementType HS_RIGHT_PAREN = new HaskellTokenType("RIGHT_PAREN"); + IElementType HS_SEMI = new HaskellTokenType("semi"); IElementType HS_SEMICOLON = new HaskellTokenType("SEMICOLON"); IElementType HS_STRING_LITERAL = new HaskellTokenType("STRING_LITERAL"); IElementType HS_THEN = new HaskellTokenType("THEN"); @@ -168,7 +180,17 @@ public interface HaskellTypes { class Factory { public static PsiElement createElement(ASTNode node) { IElementType type = node.getElementType(); - if (type == HS_CCONTEXT) { + if (type == HS_APPLICATION_EXPRESSION) { + return new HaskellApplicationExpressionImpl(node); + } else if (type == HS_ATOM_EXPRESSION) { + return new HaskellAtomExpressionImpl(node); + } else if (type == HS_BRACKET_EXPRESSION) { + return new HaskellBracketExpressionImpl(node); + } else if (type == HS_CASE_CLAUSE) { + return new HaskellCaseClauseImpl(node); + } else if (type == HS_CASE_OF_EXPRESSION) { + return new HaskellCaseOfExpressionImpl(node); + } else if (type == HS_CCONTEXT) { return new HaskellCcontextImpl(node); } else if (type == HS_CDECL) { return new HaskellCdeclImpl(node); @@ -210,6 +232,8 @@ public static PsiElement createElement(ASTNode node) { return new HaskellDerivingViaImpl(node); } else if (type == HS_DOT_DOT) { return new HaskellDotDotImpl(node); + } else if (type == HS_DO_NOTATION_EXPRESSION) { + return new HaskellDoNotationExpressionImpl(node); } else if (type == HS_EXPORT) { return new HaskellExportImpl(node); } else if (type == HS_EXPORTS) { @@ -228,6 +252,10 @@ public static PsiElement createElement(ASTNode node) { return new HaskellGeneralPragmaContentImpl(node); } else if (type == HS_GTYCON) { return new HaskellGtyconImpl(node); + } else if (type == HS_IF_EXPRESSION) { + return new HaskellIfExpressionImpl(node); + } else if (type == HS_IMPLEMENTATION_DECLARATION) { + return new HaskellImplementationDeclarationImpl(node); } else if (type == HS_IMPORT_DECLARATION) { return new HaskellImportDeclarationImpl(node); } else if (type == HS_IMPORT_DECLARATIONS) { @@ -258,6 +286,8 @@ public static PsiElement createElement(ASTNode node) { return new HaskellInstvarImpl(node); } else if (type == HS_KIND_SIGNATURE) { return new HaskellKindSignatureImpl(node); + } else if (type == HS_LET_ABSTRACTION) { + return new HaskellLetAbstractionImpl(node); } else if (type == HS_LIST_TYPE) { return new HaskellListTypeImpl(node); } else if (type == HS_MODID) { @@ -272,6 +302,8 @@ public static PsiElement createElement(ASTNode node) { return new HaskellNewconstrFielddeclImpl(node); } else if (type == HS_NEWTYPE_DECLARATION) { return new HaskellNewtypeDeclarationImpl(node); + } else if (type == HS_PAREN_EXPRESSION) { + return new HaskellParenExpressionImpl(node); } else if (type == HS_PRAGMA) { return new HaskellPragmaImpl(node); } else if (type == HS_QUALIFIER) { @@ -328,6 +360,8 @@ public static PsiElement createElement(ASTNode node) { return new HaskellVarsymImpl(node); } else if (type == HS_VAR_CON) { return new HaskellVarConImpl(node); + } else if (type == HS_WHERE_CLAUSE) { + return new HaskellWhereClauseImpl(node); } throw new AssertionError("Unknown element type: " + type); } diff --git a/gen/intellij/haskell/psi/HaskellVisitor.java b/gen/intellij/haskell/psi/HaskellVisitor.java index 5817e483c..8785075cf 100644 --- a/gen/intellij/haskell/psi/HaskellVisitor.java +++ b/gen/intellij/haskell/psi/HaskellVisitor.java @@ -6,6 +6,26 @@ public class HaskellVisitor extends PsiElementVisitor { + public void visitApplicationExpression(@NotNull HaskellApplicationExpression o) { + visitExpression(o); + } + + public void visitAtomExpression(@NotNull HaskellAtomExpression o) { + visitExpression(o); + } + + public void visitBracketExpression(@NotNull HaskellBracketExpression o) { + visitExpression(o); + } + + public void visitCaseClause(@NotNull HaskellCaseClause o) { + visitCompositeElement(o); + } + + public void visitCaseOfExpression(@NotNull HaskellCaseOfExpression o) { + visitExpression(o); + } + public void visitCcontext(@NotNull HaskellCcontext o) { visitCompositeElement(o); } @@ -15,7 +35,7 @@ public void visitCdecl(@NotNull HaskellCdecl o) { } public void visitCdeclDataDeclaration(@NotNull HaskellCdeclDataDeclaration o) { - visitCompositeElement(o); + visitTopDeclaration(o); } public void visitCdecls(@NotNull HaskellCdecls o) { @@ -31,7 +51,8 @@ public void visitCidecls(@NotNull HaskellCidecls o) { } public void visitClassDeclaration(@NotNull HaskellClassDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitClazz(@NotNull HaskellClazz o) { @@ -67,7 +88,8 @@ public void visitConsym(@NotNull HaskellConsym o) { } public void visitDataDeclaration(@NotNull HaskellDataDeclaration o) { - visitDataConstructorDeclarationElement(o); + visitTopDeclaration(o); + // visitDataConstructorDeclarationElement(o); } public void visitDataDeclarationDeriving(@NotNull HaskellDataDeclarationDeriving o) { @@ -75,18 +97,24 @@ public void visitDataDeclarationDeriving(@NotNull HaskellDataDeclarationDeriving } public void visitDefaultDeclaration(@NotNull HaskellDefaultDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); // visitDeclarationElement(o); } public void visitDerivingDeclaration(@NotNull HaskellDerivingDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitDerivingVia(@NotNull HaskellDerivingVia o) { visitCompositeElement(o); } + public void visitDoNotationExpression(@NotNull HaskellDoNotationExpression o) { + visitExpression(o); + } + public void visitDotDot(@NotNull HaskellDotDot o) { visitCompositeElement(o); } @@ -112,11 +140,12 @@ public void visitFileHeader(@NotNull HaskellFileHeader o) { } public void visitFixityDeclaration(@NotNull HaskellFixityDeclaration o) { - visitCompositeElement(o); + visitTopDeclaration(o); } public void visitForeignDeclaration(@NotNull HaskellForeignDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitGeneralPragmaContent(@NotNull HaskellGeneralPragmaContent o) { @@ -127,8 +156,16 @@ public void visitGtycon(@NotNull HaskellGtycon o) { visitCompositeElement(o); } + public void visitIfExpression(@NotNull HaskellIfExpression o) { + visitExpression(o); + } + + public void visitImplementationDeclaration(@NotNull HaskellImplementationDeclaration o) { + visitTopDeclaration(o); + } + public void visitImportDeclaration(@NotNull HaskellImportDeclaration o) { - visitCompositeElement(o); + visitTopDeclaration(o); } public void visitImportDeclarations(@NotNull HaskellImportDeclarations o) { @@ -176,7 +213,8 @@ public void visitInst(@NotNull HaskellInst o) { } public void visitInstanceDeclaration(@NotNull HaskellInstanceDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitInstvar(@NotNull HaskellInstvar o) { @@ -187,6 +225,10 @@ public void visitKindSignature(@NotNull HaskellKindSignature o) { visitCompositeElement(o); } + public void visitLetAbstraction(@NotNull HaskellLetAbstraction o) { + visitExpression(o); + } + public void visitListType(@NotNull HaskellListType o) { visitCompositeElement(o); } @@ -200,7 +242,8 @@ public void visitModuleBody(@NotNull HaskellModuleBody o) { } public void visitModuleDeclaration(@NotNull HaskellModuleDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitNewconstr(@NotNull HaskellNewconstr o) { @@ -212,7 +255,12 @@ public void visitNewconstrFielddecl(@NotNull HaskellNewconstrFielddecl o) { } public void visitNewtypeDeclaration(@NotNull HaskellNewtypeDeclaration o) { - visitDataConstructorDeclarationElement(o); + visitTopDeclaration(o); + // visitDataConstructorDeclarationElement(o); + } + + public void visitParenExpression(@NotNull HaskellParenExpression o) { + visitExpression(o); } public void visitPragma(@NotNull HaskellPragma o) { @@ -299,7 +347,8 @@ public void visitTtype(@NotNull HaskellTtype o) { } public void visitTypeDeclaration(@NotNull HaskellTypeDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitTypeEquality(@NotNull HaskellTypeEquality o) { @@ -307,7 +356,8 @@ public void visitTypeEquality(@NotNull HaskellTypeEquality o) { } public void visitTypeFamilyDeclaration(@NotNull HaskellTypeFamilyDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitTypeFamilyType(@NotNull HaskellTypeFamilyType o) { @@ -315,7 +365,8 @@ public void visitTypeFamilyType(@NotNull HaskellTypeFamilyType o) { } public void visitTypeInstanceDeclaration(@NotNull HaskellTypeInstanceDeclaration o) { - visitDeclarationElement(o); + visitTopDeclaration(o); + // visitDeclarationElement(o); } public void visitTypeSignature(@NotNull HaskellTypeSignature o) { @@ -334,7 +385,7 @@ public void visitVarsym(@NotNull HaskellVarsym o) { visitNamedElement(o); } - public void visitDataConstructorDeclarationElement(@NotNull HaskellDataConstructorDeclarationElement o) { + public void visitWhereClause(@NotNull HaskellWhereClause o) { visitCompositeElement(o); } diff --git a/gen/intellij/haskell/psi/HaskellWhereClause.java b/gen/intellij/haskell/psi/HaskellWhereClause.java new file mode 100644 index 000000000..32ccfa6b7 --- /dev/null +++ b/gen/intellij/haskell/psi/HaskellWhereClause.java @@ -0,0 +1,20 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public interface HaskellWhereClause extends HaskellCompositeElement { + + @Nullable + HaskellImportDeclarations getImportDeclarations(); + + @NotNull + List getPragmaList(); + + @NotNull + List getTopDeclarationList(); + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellApplicationExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellApplicationExpressionImpl.java new file mode 100644 index 000000000..a2da5c843 --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellApplicationExpressionImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellApplicationExpression; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class HaskellApplicationExpressionImpl extends HaskellExpressionImpl implements HaskellApplicationExpression { + + public HaskellApplicationExpressionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitApplicationExpression(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExpressionList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellExpression.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellAtomExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellAtomExpressionImpl.java new file mode 100644 index 000000000..ae031c92d --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellAtomExpressionImpl.java @@ -0,0 +1,58 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class HaskellAtomExpressionImpl extends HaskellExpressionImpl implements HaskellAtomExpression { + + public HaskellAtomExpressionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitAtomExpression(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellDotDot getDotDot() { + return PsiTreeUtil.getChildOfType(this, HaskellDotDot.class); + } + + @Override + @Nullable + public HaskellPragma getPragma() { + return PsiTreeUtil.getChildOfType(this, HaskellPragma.class); + } + + @Override + @Nullable + public HaskellQName getQName() { + return PsiTreeUtil.getChildOfType(this, HaskellQName.class); + } + + @Override + @Nullable + public HaskellQuasiQuote getQuasiQuote() { + return PsiTreeUtil.getChildOfType(this, HaskellQuasiQuote.class); + } + + @Override + @Nullable + public HaskellTextLiteral getTextLiteral() { + return PsiTreeUtil.getChildOfType(this, HaskellTextLiteral.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellBracketExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellBracketExpressionImpl.java new file mode 100644 index 000000000..ed8c68db4 --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellBracketExpressionImpl.java @@ -0,0 +1,35 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellBracketExpression; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +public class HaskellBracketExpressionImpl extends HaskellExpressionImpl implements HaskellBracketExpression { + + public HaskellBracketExpressionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitBracketExpression(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public HaskellExpression getExpression() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellExpression.class)); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellCaseClauseImpl.java b/gen/intellij/haskell/psi/impl/HaskellCaseClauseImpl.java new file mode 100644 index 000000000..05fde3806 --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellCaseClauseImpl.java @@ -0,0 +1,36 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellCaseClause; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class HaskellCaseClauseImpl extends HaskellCompositeElementImpl implements HaskellCaseClause { + + public HaskellCaseClauseImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitCaseClause(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExpressionList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellExpression.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellCaseOfExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellCaseOfExpressionImpl.java new file mode 100644 index 000000000..2e3a9b4db --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellCaseOfExpressionImpl.java @@ -0,0 +1,45 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellCaseClause; +import intellij.haskell.psi.HaskellCaseOfExpression; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class HaskellCaseOfExpressionImpl extends HaskellExpressionImpl implements HaskellCaseOfExpression { + + public HaskellCaseOfExpressionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitCaseOfExpression(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getCaseClauseList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellCaseClause.class); + } + + @Override + @Nullable + public HaskellExpression getExpression() { + return PsiTreeUtil.getChildOfType(this, HaskellExpression.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellCcontextImpl.java b/gen/intellij/haskell/psi/impl/HaskellCcontextImpl.java index 8912d54c0..76c9efe05 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCcontextImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCcontextImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitCcontext(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellCdeclDataDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellCdeclDataDeclarationImpl.java index 8e6888e52..c47742610 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCdeclDataDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCdeclDataDeclarationImpl.java @@ -10,16 +10,18 @@ import java.util.List; -public class HaskellCdeclDataDeclarationImpl extends HaskellCompositeElementImpl implements HaskellCdeclDataDeclaration { +public class HaskellCdeclDataDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellCdeclDataDeclaration { public HaskellCdeclDataDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitCdeclDataDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellCdeclImpl.java b/gen/intellij/haskell/psi/impl/HaskellCdeclImpl.java index cd998a258..36a84da9c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCdeclImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCdeclImpl.java @@ -18,6 +18,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitCdecl(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellCdeclsImpl.java b/gen/intellij/haskell/psi/impl/HaskellCdeclsImpl.java index e33245489..afd736728 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCdeclsImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCdeclsImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitCdecls(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellCideclImpl.java b/gen/intellij/haskell/psi/impl/HaskellCideclImpl.java index 787e44fe6..b8ee8d3b9 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCideclImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCideclImpl.java @@ -20,41 +20,18 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitCidecl(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); } - @Override - @Nullable - public HaskellDataDeclaration getDataDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellDataDeclaration.class); - } - - @Override - @Nullable - public HaskellDefaultDeclaration getDefaultDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellDefaultDeclaration.class); - } - @Override @NotNull public List getDotDotList() { return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellDotDot.class); } - @Override - @Nullable - public HaskellInstanceDeclaration getInstanceDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellInstanceDeclaration.class); - } - - @Override - @Nullable - public HaskellNewtypeDeclaration getNewtypeDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellNewtypeDeclaration.class); - } - @Override @Nullable public HaskellPragma getPragma() { @@ -81,14 +58,8 @@ public List getTextLiteralList() { @Override @Nullable - public HaskellTypeDeclaration getTypeDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeDeclaration.class); - } - - @Override - @Nullable - public HaskellTypeFamilyDeclaration getTypeFamilyDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeFamilyDeclaration.class); + public HaskellTopDeclaration getTopDeclaration() { + return PsiTreeUtil.getChildOfType(this, HaskellTopDeclaration.class); } } diff --git a/gen/intellij/haskell/psi/impl/HaskellCideclsImpl.java b/gen/intellij/haskell/psi/impl/HaskellCideclsImpl.java index e65687b38..c0c3dbb03 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCideclsImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCideclsImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitCidecls(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java index 61b700d9e..f6cbcfc04 100644 --- a/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellClassDeclarationImpl.java @@ -13,16 +13,18 @@ import java.util.List; -public class HaskellClassDeclarationImpl extends HaskellCompositeElementImpl implements HaskellClassDeclaration { +public class HaskellClassDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellClassDeclaration { public HaskellClassDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitClassDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellClazzImpl.java b/gen/intellij/haskell/psi/impl/HaskellClazzImpl.java index 98a0a6cb6..bf0880044 100644 --- a/gen/intellij/haskell/psi/impl/HaskellClazzImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellClazzImpl.java @@ -20,6 +20,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitClazz(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellCommentsImpl.java b/gen/intellij/haskell/psi/impl/HaskellCommentsImpl.java index d9c7d0bda..8fbdde213 100644 --- a/gen/intellij/haskell/psi/impl/HaskellCommentsImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellCommentsImpl.java @@ -1,28 +1,26 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellComments; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellCommentsImpl extends HaskellCompositeElementImpl implements HaskellComments { - public HaskellCommentsImpl(ASTNode node) { - super(node); - } + public HaskellCommentsImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitComments(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitComments(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellConidImpl.java b/gen/intellij/haskell/psi/impl/HaskellConidImpl.java index 2f6c1552f..d5fa887dc 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConidImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConidImpl.java @@ -1,61 +1,66 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.stubs.HaskellConidStub; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; import com.intellij.psi.stubs.IStubElementType; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellVisitor; +import intellij.haskell.psi.stubs.HaskellConidStub; +import org.jetbrains.annotations.NotNull; public class HaskellConidImpl extends HaskellNamedStubBasedPsiElementBase implements HaskellConid { - public HaskellConidImpl(@NotNull HaskellConidStub stub, IStubElementType type) { - super(stub, type); - } - - public HaskellConidImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitConid(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellConidImpl(@NotNull HaskellConidStub stub, IStubElementType type) { + super(stub, type); + } + + public HaskellConidImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitConid(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } + + @Override + public String toString() { + return HaskellPsiImplUtil.toString(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellConstr1Impl.java b/gen/intellij/haskell/psi/impl/HaskellConstr1Impl.java index aacc0d0e6..fb1f1cac3 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConstr1Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConstr1Impl.java @@ -1,46 +1,47 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; public class HaskellConstr1Impl extends HaskellCompositeElementImpl implements HaskellConstr1 { - public HaskellConstr1Impl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitConstr1(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getFielddeclList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellFielddecl.class); - } - - @Override - @NotNull - public List getPragmaList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); - } - - @Override - @Nullable - public HaskellQName getQName() { - return PsiTreeUtil.getChildOfType(this, HaskellQName.class); - } + public HaskellConstr1Impl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitConstr1(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getFielddeclList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellFielddecl.class); + } + + @Override + @NotNull + public List getPragmaList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); + } + + @Override + @Nullable + public HaskellQName getQName() { + return PsiTreeUtil.getChildOfType(this, HaskellQName.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellConstr2Impl.java b/gen/intellij/haskell/psi/impl/HaskellConstr2Impl.java index ec7331c14..ae8eb8c42 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConstr2Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConstr2Impl.java @@ -19,6 +19,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitConstr2(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellConstr3Impl.java b/gen/intellij/haskell/psi/impl/HaskellConstr3Impl.java index acf0985ab..f4a3b5229 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConstr3Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConstr3Impl.java @@ -1,40 +1,43 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellConstr3; +import intellij.haskell.psi.HaskellPragma; +import intellij.haskell.psi.HaskellTtype; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellConstr3Impl extends HaskellCompositeElementImpl implements HaskellConstr3 { - public HaskellConstr3Impl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitConstr3(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getPragmaList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); - } - - @Override - @NotNull - public List getTtypeList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellTtype.class); - } + public HaskellConstr3Impl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitConstr3(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getPragmaList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); + } + + @Override + @NotNull + public List getTtypeList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellTtype.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellConstrImpl.java b/gen/intellij/haskell/psi/impl/HaskellConstrImpl.java index 6381066e9..31ef9fca9 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConstrImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConstrImpl.java @@ -18,6 +18,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitConstr(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellConsymImpl.java b/gen/intellij/haskell/psi/impl/HaskellConsymImpl.java index 39ab5be9f..10478a75d 100644 --- a/gen/intellij/haskell/psi/impl/HaskellConsymImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellConsymImpl.java @@ -1,61 +1,61 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.stubs.HaskellConsymStub; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; import com.intellij.psi.stubs.IStubElementType; +import intellij.haskell.psi.HaskellConsym; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellVisitor; +import intellij.haskell.psi.stubs.HaskellConsymStub; +import org.jetbrains.annotations.NotNull; public class HaskellConsymImpl extends HaskellNamedStubBasedPsiElementBase implements HaskellConsym { - public HaskellConsymImpl(@NotNull HaskellConsymStub stub, IStubElementType type) { - super(stub, type); - } - - public HaskellConsymImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitConsym(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellConsymImpl(@NotNull HaskellConsymStub stub, IStubElementType type) { + super(stub, type); + } + + public HaskellConsymImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitConsym(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellDataDeclarationDerivingImpl.java b/gen/intellij/haskell/psi/impl/HaskellDataDeclarationDerivingImpl.java index 07f86c8c4..7c1603d2e 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDataDeclarationDerivingImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDataDeclarationDerivingImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitDataDeclarationDeriving(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellDataDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellDataDeclarationImpl.java index 4542756d2..6ba944c0a 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDataDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDataDeclarationImpl.java @@ -13,16 +13,18 @@ import java.util.List; -public class HaskellDataDeclarationImpl extends HaskellCompositeElementImpl implements HaskellDataDeclaration { +public class HaskellDataDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellDataDeclaration { public HaskellDataDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitDataDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java index 6a8721eaf..d9a34ba43 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDefaultDeclarationImpl.java @@ -7,22 +7,23 @@ import com.intellij.psi.util.PsiTreeUtil; import intellij.haskell.psi.*; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.immutable.Seq; import java.util.List; -public class HaskellDefaultDeclarationImpl extends HaskellCompositeElementImpl implements HaskellDefaultDeclaration { +public class HaskellDefaultDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellDefaultDeclaration { public HaskellDefaultDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitDefaultDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); @@ -40,12 +41,6 @@ public List getTtypeList() { return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellTtype.class); } - @Override - @Nullable - public HaskellTypeSignature getTypeSignature() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeSignature.class); - } - @Override public String getName() { return HaskellPsiImplUtil.getName(this); diff --git a/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java index 8a005a20b..5390a2f78 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDerivingDeclarationImpl.java @@ -13,16 +13,18 @@ import java.util.List; -public class HaskellDerivingDeclarationImpl extends HaskellCompositeElementImpl implements HaskellDerivingDeclaration { +public class HaskellDerivingDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellDerivingDeclaration { public HaskellDerivingDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitDerivingDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellDerivingViaImpl.java b/gen/intellij/haskell/psi/impl/HaskellDerivingViaImpl.java index c87aa1efc..759c21530 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDerivingViaImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDerivingViaImpl.java @@ -17,6 +17,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitDerivingVia(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellDoNotationExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellDoNotationExpressionImpl.java new file mode 100644 index 000000000..4491272af --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellDoNotationExpressionImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellDoNotationExpression; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class HaskellDoNotationExpressionImpl extends HaskellExpressionImpl implements HaskellDoNotationExpression { + + public HaskellDoNotationExpressionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitDoNotationExpression(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExpressionList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellExpression.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellDotDotImpl.java b/gen/intellij/haskell/psi/impl/HaskellDotDotImpl.java index f88a3a86b..ca6e4b86c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellDotDotImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellDotDotImpl.java @@ -1,28 +1,26 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellDotDot; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellDotDotImpl extends HaskellCompositeElementImpl implements HaskellDotDot { - public HaskellDotDotImpl(ASTNode node) { - super(node); - } + public HaskellDotDotImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitDotDot(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitDotDot(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellExportImpl.java b/gen/intellij/haskell/psi/impl/HaskellExportImpl.java index 099414b57..48b5ff69e 100644 --- a/gen/intellij/haskell/psi/impl/HaskellExportImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellExportImpl.java @@ -20,6 +20,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitExport(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellExportsImpl.java b/gen/intellij/haskell/psi/impl/HaskellExportsImpl.java index b006896f7..843c04eb4 100644 --- a/gen/intellij/haskell/psi/impl/HaskellExportsImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellExportsImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitExports(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellExpressionImpl.java index d4b972504..41cce719c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellExpressionImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellExpressionImpl.java @@ -19,6 +19,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitExpression(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellFielddeclImpl.java b/gen/intellij/haskell/psi/impl/HaskellFielddeclImpl.java index 03742d1ab..2a8803eab 100644 --- a/gen/intellij/haskell/psi/impl/HaskellFielddeclImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellFielddeclImpl.java @@ -1,58 +1,59 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; public class HaskellFielddeclImpl extends HaskellCompositeElementImpl implements HaskellFielddecl { - public HaskellFielddeclImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitFielddecl(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getPragmaList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); - } - - @Override - @NotNull - public List getQNameList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); - } - - @Override - @NotNull - public HaskellQNames getQNames() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQNames.class)); - } - - @Override - @Nullable - public HaskellScontext getScontext() { - return PsiTreeUtil.getChildOfType(this, HaskellScontext.class); - } - - @Override - @Nullable - public HaskellTtype getTtype() { - return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); - } + public HaskellFielddeclImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitFielddecl(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getPragmaList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); + } + + @Override + @NotNull + public List getQNameList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); + } + + @Override + @NotNull + public HaskellQNames getQNames() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQNames.class)); + } + + @Override + @Nullable + public HaskellScontext getScontext() { + return PsiTreeUtil.getChildOfType(this, HaskellScontext.class); + } + + @Override + @Nullable + public HaskellTtype getTtype() { + return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellFileHeaderImpl.java b/gen/intellij/haskell/psi/impl/HaskellFileHeaderImpl.java index edab42e7d..4d667fbc5 100644 --- a/gen/intellij/haskell/psi/impl/HaskellFileHeaderImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellFileHeaderImpl.java @@ -1,34 +1,36 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellFileHeader; +import intellij.haskell.psi.HaskellPragma; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellFileHeaderImpl extends HaskellCompositeElementImpl implements HaskellFileHeader { - public HaskellFileHeaderImpl(ASTNode node) { - super(node); - } + public HaskellFileHeaderImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitFileHeader(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitFileHeader(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @NotNull - public List getPragmaList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); - } + @Override + @NotNull + public List getPragmaList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellFixityDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellFixityDeclarationImpl.java index cd579ec87..cda549b66 100644 --- a/gen/intellij/haskell/psi/impl/HaskellFixityDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellFixityDeclarationImpl.java @@ -1,34 +1,35 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellFixityDeclaration; +import intellij.haskell.psi.HaskellQNames; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; -public class HaskellFixityDeclarationImpl extends HaskellCompositeElementImpl implements HaskellFixityDeclaration { +public class HaskellFixityDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellFixityDeclaration { - public HaskellFixityDeclarationImpl(ASTNode node) { - super(node); - } + public HaskellFixityDeclarationImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitFixityDeclaration(this); - } + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitFixityDeclaration(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @NotNull - public HaskellQNames getQNames() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQNames.class)); - } + @Override + @NotNull + public HaskellQNames getQNames() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQNames.class)); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java index 5968e5fb8..87716ddb7 100644 --- a/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellForeignDeclarationImpl.java @@ -12,16 +12,18 @@ import java.util.List; -public class HaskellForeignDeclarationImpl extends HaskellCompositeElementImpl implements HaskellForeignDeclaration { +public class HaskellForeignDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellForeignDeclaration { public HaskellForeignDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitForeignDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellGeneralPragmaContentImpl.java b/gen/intellij/haskell/psi/impl/HaskellGeneralPragmaContentImpl.java index f74fa72e1..faaed8a91 100644 --- a/gen/intellij/haskell/psi/impl/HaskellGeneralPragmaContentImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellGeneralPragmaContentImpl.java @@ -1,28 +1,26 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellGeneralPragmaContent; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellGeneralPragmaContentImpl extends HaskellCompositeElementImpl implements HaskellGeneralPragmaContent { - public HaskellGeneralPragmaContentImpl(ASTNode node) { - super(node); - } + public HaskellGeneralPragmaContentImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitGeneralPragmaContent(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitGeneralPragmaContent(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellGtyconImpl.java b/gen/intellij/haskell/psi/impl/HaskellGtyconImpl.java index e56f22a43..589100b2d 100644 --- a/gen/intellij/haskell/psi/impl/HaskellGtyconImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellGtyconImpl.java @@ -1,34 +1,35 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellGtycon; +import intellij.haskell.psi.HaskellQName; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellGtyconImpl extends HaskellCompositeElementImpl implements HaskellGtycon { - public HaskellGtyconImpl(ASTNode node) { - super(node); - } + public HaskellGtyconImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitGtycon(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitGtycon(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @Nullable - public HaskellQName getQName() { - return PsiTreeUtil.getChildOfType(this, HaskellQName.class); - } + @Override + @Nullable + public HaskellQName getQName() { + return PsiTreeUtil.getChildOfType(this, HaskellQName.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellIfExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellIfExpressionImpl.java new file mode 100644 index 000000000..eb62d95c1 --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellIfExpressionImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellIfExpression; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class HaskellIfExpressionImpl extends HaskellExpressionImpl implements HaskellIfExpression { + + public HaskellIfExpressionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitIfExpression(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExpressionList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellExpression.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellImplementationDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellImplementationDeclarationImpl.java new file mode 100644 index 000000000..a39a3f38b --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellImplementationDeclarationImpl.java @@ -0,0 +1,37 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellImplementationDeclaration; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class HaskellImplementationDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellImplementationDeclaration { + + public HaskellImplementationDeclarationImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImplementationDeclaration(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getExpressionList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellExpression.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java index 42a8d0eb3..9c65d3d5a 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportDeclarationImpl.java @@ -11,16 +11,18 @@ import java.util.List; -public class HaskellImportDeclarationImpl extends HaskellCompositeElementImpl implements HaskellImportDeclaration { +public class HaskellImportDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellImportDeclaration { public HaskellImportDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitImportDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellImportDeclarationsImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportDeclarationsImpl.java index e1c24a6df..3a027108d 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportDeclarationsImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportDeclarationsImpl.java @@ -1,40 +1,43 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellImportDeclaration; +import intellij.haskell.psi.HaskellImportDeclarations; +import intellij.haskell.psi.HaskellPragma; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellImportDeclarationsImpl extends HaskellCompositeElementImpl implements HaskellImportDeclarations { - public HaskellImportDeclarationsImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitImportDeclarations(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getImportDeclarationList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellImportDeclaration.class); - } - - @Override - @NotNull - public List getPragmaList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); - } + public HaskellImportDeclarationsImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImportDeclarations(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getImportDeclarationList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellImportDeclaration.class); + } + + @Override + @NotNull + public List getPragmaList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellImportEmptySpecImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportEmptySpecImpl.java index 78de7e0db..40bdc48bc 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportEmptySpecImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportEmptySpecImpl.java @@ -1,28 +1,26 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellImportEmptySpec; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellImportEmptySpecImpl extends HaskellCompositeElementImpl implements HaskellImportEmptySpec { - public HaskellImportEmptySpecImpl(ASTNode node) { - super(node); - } + public HaskellImportEmptySpecImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitImportEmptySpec(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImportEmptySpec(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellImportHidingImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportHidingImpl.java index 5101d4e2f..4c60f81ed 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportHidingImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportHidingImpl.java @@ -1,28 +1,26 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellImportHiding; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellImportHidingImpl extends HaskellCompositeElementImpl implements HaskellImportHiding { - public HaskellImportHidingImpl(ASTNode node) { - super(node); - } + public HaskellImportHidingImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitImportHiding(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImportHiding(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellImportHidingSpecImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportHidingSpecImpl.java index afd7c8eb3..b0e70a4ae 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportHidingSpecImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportHidingSpecImpl.java @@ -19,6 +19,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitImportHidingSpec(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellImportIdImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportIdImpl.java index db78d5619..d348c969f 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportIdImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportIdImpl.java @@ -20,6 +20,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitImportId(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellImportIdsSpecImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportIdsSpecImpl.java index 58be7fc79..2b7fbe0ef 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportIdsSpecImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportIdsSpecImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitImportIdsSpec(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellImportPackageNameImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportPackageNameImpl.java index 240d51c60..6294e9dec 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportPackageNameImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportPackageNameImpl.java @@ -1,34 +1,34 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellImportPackageName; +import intellij.haskell.psi.HaskellTextLiteral; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellImportPackageNameImpl extends HaskellCompositeElementImpl implements HaskellImportPackageName { - public HaskellImportPackageNameImpl(ASTNode node) { - super(node); - } + public HaskellImportPackageNameImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitImportPackageName(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImportPackageName(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @NotNull - public HaskellTextLiteral getTextLiteral() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellTextLiteral.class)); - } + @Override + @NotNull + public HaskellTextLiteral getTextLiteral() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellTextLiteral.class)); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellImportQualifiedAsImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportQualifiedAsImpl.java index 63d94e325..d3bf9e9ea 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportQualifiedAsImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportQualifiedAsImpl.java @@ -1,34 +1,34 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellImportQualifiedAs; +import intellij.haskell.psi.HaskellQualifier; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellImportQualifiedAsImpl extends HaskellCompositeElementImpl implements HaskellImportQualifiedAs { - public HaskellImportQualifiedAsImpl(ASTNode node) { - super(node); - } + public HaskellImportQualifiedAsImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitImportQualifiedAs(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImportQualifiedAs(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @NotNull - public HaskellQualifier getQualifier() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQualifier.class)); - } + @Override + @NotNull + public HaskellQualifier getQualifier() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQualifier.class)); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellImportQualifiedImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportQualifiedImpl.java index 87ff02301..d08888bb2 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportQualifiedImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportQualifiedImpl.java @@ -1,28 +1,26 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellImportQualified; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellImportQualifiedImpl extends HaskellCompositeElementImpl implements HaskellImportQualified { - public HaskellImportQualifiedImpl(ASTNode node) { - super(node); - } + public HaskellImportQualifiedImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitImportQualified(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImportQualified(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellImportSpecImpl.java b/gen/intellij/haskell/psi/impl/HaskellImportSpecImpl.java index de4244d97..f90671bab 100644 --- a/gen/intellij/haskell/psi/impl/HaskellImportSpecImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellImportSpecImpl.java @@ -1,46 +1,45 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellImportSpecImpl extends HaskellCompositeElementImpl implements HaskellImportSpec { - public HaskellImportSpecImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitImportSpec(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @Nullable - public HaskellImportEmptySpec getImportEmptySpec() { - return PsiTreeUtil.getChildOfType(this, HaskellImportEmptySpec.class); - } - - @Override - @Nullable - public HaskellImportHidingSpec getImportHidingSpec() { - return PsiTreeUtil.getChildOfType(this, HaskellImportHidingSpec.class); - } - - @Override - @Nullable - public HaskellImportIdsSpec getImportIdsSpec() { - return PsiTreeUtil.getChildOfType(this, HaskellImportIdsSpec.class); - } + public HaskellImportSpecImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitImportSpec(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellImportEmptySpec getImportEmptySpec() { + return PsiTreeUtil.getChildOfType(this, HaskellImportEmptySpec.class); + } + + @Override + @Nullable + public HaskellImportHidingSpec getImportHidingSpec() { + return PsiTreeUtil.getChildOfType(this, HaskellImportHidingSpec.class); + } + + @Override + @Nullable + public HaskellImportIdsSpec getImportIdsSpec() { + return PsiTreeUtil.getChildOfType(this, HaskellImportIdsSpec.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellInstImpl.java b/gen/intellij/haskell/psi/impl/HaskellInstImpl.java index b90422340..0772182ad 100644 --- a/gen/intellij/haskell/psi/impl/HaskellInstImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellInstImpl.java @@ -19,6 +19,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitInst(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java index 08ac620a5..bdba074af 100644 --- a/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellInstanceDeclarationImpl.java @@ -13,16 +13,18 @@ import java.util.List; -public class HaskellInstanceDeclarationImpl extends HaskellCompositeElementImpl implements HaskellInstanceDeclaration { +public class HaskellInstanceDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellInstanceDeclaration { public HaskellInstanceDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitInstanceDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellInstvarImpl.java b/gen/intellij/haskell/psi/impl/HaskellInstvarImpl.java index 486a916f3..86e228072 100644 --- a/gen/intellij/haskell/psi/impl/HaskellInstvarImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellInstvarImpl.java @@ -1,40 +1,42 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellInstvar; +import intellij.haskell.psi.HaskellQName; +import intellij.haskell.psi.HaskellTtype; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellInstvarImpl extends HaskellCompositeElementImpl implements HaskellInstvar { - public HaskellInstvarImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitInstvar(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @Nullable - public HaskellQName getQName() { - return PsiTreeUtil.getChildOfType(this, HaskellQName.class); - } - - @Override - @Nullable - public HaskellTtype getTtype() { - return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); - } + public HaskellInstvarImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitInstvar(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellQName getQName() { + return PsiTreeUtil.getChildOfType(this, HaskellQName.class); + } + + @Override + @Nullable + public HaskellTtype getTtype() { + return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellKindSignatureImpl.java b/gen/intellij/haskell/psi/impl/HaskellKindSignatureImpl.java index 81f0d88fb..d043eb600 100644 --- a/gen/intellij/haskell/psi/impl/HaskellKindSignatureImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellKindSignatureImpl.java @@ -1,40 +1,41 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellKindSignature; +import intellij.haskell.psi.HaskellQName; +import intellij.haskell.psi.HaskellTtype; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellKindSignatureImpl extends HaskellCompositeElementImpl implements HaskellKindSignature { - public HaskellKindSignatureImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitKindSignature(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public HaskellQName getQName() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQName.class)); - } - - @Override - @NotNull - public HaskellTtype getTtype() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellTtype.class)); - } + public HaskellKindSignatureImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitKindSignature(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public HaskellQName getQName() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellQName.class)); + } + + @Override + @NotNull + public HaskellTtype getTtype() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellTtype.class)); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellLetAbstractionImpl.java b/gen/intellij/haskell/psi/impl/HaskellLetAbstractionImpl.java new file mode 100644 index 000000000..96d75180e --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellLetAbstractionImpl.java @@ -0,0 +1,45 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellCdecl; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellLetAbstraction; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class HaskellLetAbstractionImpl extends HaskellExpressionImpl implements HaskellLetAbstraction { + + public HaskellLetAbstractionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitLetAbstraction(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getCdeclList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellCdecl.class); + } + + @Override + @Nullable + public HaskellExpression getExpression() { + return PsiTreeUtil.getChildOfType(this, HaskellExpression.class); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellListTypeImpl.java b/gen/intellij/haskell/psi/impl/HaskellListTypeImpl.java index 483c401bd..f96b933b6 100644 --- a/gen/intellij/haskell/psi/impl/HaskellListTypeImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellListTypeImpl.java @@ -1,34 +1,35 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellListType; +import intellij.haskell.psi.HaskellQName; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellListTypeImpl extends HaskellCompositeElementImpl implements HaskellListType { - public HaskellListTypeImpl(ASTNode node) { - super(node); - } + public HaskellListTypeImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitListType(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitListType(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @Nullable - public HaskellQName getQName() { - return PsiTreeUtil.getChildOfType(this, HaskellQName.class); - } + @Override + @Nullable + public HaskellQName getQName() { + return PsiTreeUtil.getChildOfType(this, HaskellQName.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellModidImpl.java b/gen/intellij/haskell/psi/impl/HaskellModidImpl.java index b4d8541e2..8dc579c0c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellModidImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellModidImpl.java @@ -1,67 +1,76 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.stubs.HaskellModidStub; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; import com.intellij.psi.stubs.IStubElementType; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellModid; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellVisitor; +import intellij.haskell.psi.stubs.HaskellModidStub; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellModidImpl extends HaskellNamedStubBasedPsiElementBase implements HaskellModid { - public HaskellModidImpl(@NotNull HaskellModidStub stub, IStubElementType type) { - super(stub, type); - } + public HaskellModidImpl(@NotNull HaskellModidStub stub, IStubElementType type) { + super(stub, type); + } + + public HaskellModidImpl(ASTNode node) { + super(node); + } - public HaskellModidImpl(ASTNode node) { - super(node); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitModid(this); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitModid(this); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + @NotNull + public List getConidList() { + return PsiTreeUtil.getStubChildrenOfTypeAsList(this, HaskellConid.class); + } - @Override - @NotNull - public List getConidList() { - return PsiTreeUtil.getStubChildrenOfTypeAsList(this, HaskellConid.class); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + @Override + public String toString() { + return HaskellPsiImplUtil.toString(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellModuleBodyImpl.java b/gen/intellij/haskell/psi/impl/HaskellModuleBodyImpl.java index f1da0f8e3..c5cf03c1b 100644 --- a/gen/intellij/haskell/psi/impl/HaskellModuleBodyImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellModuleBodyImpl.java @@ -20,6 +20,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitModuleBody(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); @@ -31,12 +32,6 @@ public HaskellImportDeclarations getImportDeclarations() { return PsiTreeUtil.getChildOfType(this, HaskellImportDeclarations.class); } - @Override - @Nullable - public HaskellModuleDeclaration getModuleDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellModuleDeclaration.class); - } - @Override @NotNull public List getPragmaList() { diff --git a/gen/intellij/haskell/psi/impl/HaskellModuleDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellModuleDeclarationImpl.java index 237735e07..aa1d47c20 100644 --- a/gen/intellij/haskell/psi/impl/HaskellModuleDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellModuleDeclarationImpl.java @@ -13,16 +13,18 @@ import java.util.List; -public class HaskellModuleDeclarationImpl extends HaskellCompositeElementImpl implements HaskellModuleDeclaration { +public class HaskellModuleDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellModuleDeclaration { public HaskellModuleDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitModuleDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); @@ -46,6 +48,12 @@ public List getPragmaList() { return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); } + @Override + @NotNull + public HaskellWhereClause getWhereClause() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellWhereClause.class)); + } + @Override public String getName() { return HaskellPsiImplUtil.getName(this); diff --git a/gen/intellij/haskell/psi/impl/HaskellNewconstrFielddeclImpl.java b/gen/intellij/haskell/psi/impl/HaskellNewconstrFielddeclImpl.java index 89c2ac448..96de3583c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellNewconstrFielddeclImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellNewconstrFielddeclImpl.java @@ -19,6 +19,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitNewconstrFielddecl(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellNewconstrImpl.java b/gen/intellij/haskell/psi/impl/HaskellNewconstrImpl.java index c7a5615b5..ac84d345c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellNewconstrImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellNewconstrImpl.java @@ -20,6 +20,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitNewconstr(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java index 7411c2ee6..7f715b832 100644 --- a/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellNewtypeDeclarationImpl.java @@ -13,16 +13,18 @@ import java.util.List; -public class HaskellNewtypeDeclarationImpl extends HaskellCompositeElementImpl implements HaskellNewtypeDeclaration { +public class HaskellNewtypeDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellNewtypeDeclaration { public HaskellNewtypeDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitNewtypeDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellParenExpressionImpl.java b/gen/intellij/haskell/psi/impl/HaskellParenExpressionImpl.java new file mode 100644 index 000000000..da7eb84d6 --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellParenExpressionImpl.java @@ -0,0 +1,35 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellExpression; +import intellij.haskell.psi.HaskellParenExpression; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +public class HaskellParenExpressionImpl extends HaskellExpressionImpl implements HaskellParenExpression { + + public HaskellParenExpressionImpl(ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitParenExpression(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public HaskellExpression getExpression() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellExpression.class)); + } + +} diff --git a/gen/intellij/haskell/psi/impl/HaskellPragmaImpl.java b/gen/intellij/haskell/psi/impl/HaskellPragmaImpl.java index 2ec8eedaf..b47c07a6c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellPragmaImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellPragmaImpl.java @@ -1,34 +1,36 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellGeneralPragmaContent; +import intellij.haskell.psi.HaskellPragma; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellPragmaImpl extends HaskellCompositeElementImpl implements HaskellPragma { - public HaskellPragmaImpl(ASTNode node) { - super(node); - } + public HaskellPragmaImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitPragma(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitPragma(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @NotNull - public List getGeneralPragmaContentList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellGeneralPragmaContent.class); - } + @Override + @NotNull + public List getGeneralPragmaContentList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellGeneralPragmaContent.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConImpl.java b/gen/intellij/haskell/psi/impl/HaskellQConImpl.java index aa74a19b5..f03605296 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConImpl.java @@ -1,58 +1,57 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellQConImpl extends HaskellCompositeElementImpl implements HaskellQCon { - public HaskellQConImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQCon(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public HaskellConid getConid() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellConid.class)); - } - - @Override - @Nullable - public HaskellQConQualifier1 getQConQualifier1() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier1.class); - } - - @Override - @Nullable - public HaskellQConQualifier2 getQConQualifier2() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier2.class); - } - - @Override - @Nullable - public HaskellQConQualifier3 getQConQualifier3() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier3.class); - } - - @Override - @Nullable - public HaskellQConQualifier4 getQConQualifier4() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier4.class); - } + public HaskellQConImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQCon(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public HaskellConid getConid() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellConid.class)); + } + + @Override + @Nullable + public HaskellQConQualifier1 getQConQualifier1() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier1.class); + } + + @Override + @Nullable + public HaskellQConQualifier2 getQConQualifier2() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier2.class); + } + + @Override + @Nullable + public HaskellQConQualifier3 getQConQualifier3() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier3.class); + } + + @Override + @Nullable + public HaskellQConQualifier4 getQConQualifier4() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier4.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java index 832d76c5d..e56016c06 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier1Impl.java @@ -1,61 +1,63 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellQConQualifier1; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellQConQualifier1Impl extends HaskellQualifierElementImpl implements HaskellQConQualifier1 { - public HaskellQConQualifier1Impl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQConQualifier1(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public HaskellConid getConid() { - return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellConid.class)); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellQConQualifier1Impl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQConQualifier1(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public HaskellConid getConid() { + return notNullChild(PsiTreeUtil.getChildOfType(this, HaskellConid.class)); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java index f29d53f2f..6ad4c5953 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier2Impl.java @@ -1,61 +1,65 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellQConQualifier2; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellQConQualifier2Impl extends HaskellQualifierElementImpl implements HaskellQConQualifier2 { - public HaskellQConQualifier2Impl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQConQualifier2(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getConidList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellQConQualifier2Impl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQConQualifier2(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getConidList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java index d4d573430..4bcd20e7a 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier3Impl.java @@ -1,61 +1,65 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellQConQualifier3; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellQConQualifier3Impl extends HaskellQualifierElementImpl implements HaskellQConQualifier3 { - public HaskellQConQualifier3Impl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQConQualifier3(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getConidList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellQConQualifier3Impl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQConQualifier3(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getConidList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java index 9bfc19e53..fff192a01 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifier4Impl.java @@ -1,61 +1,65 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellQConQualifier4; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellQConQualifier4Impl extends HaskellQualifierElementImpl implements HaskellQConQualifier4 { - public HaskellQConQualifier4Impl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQConQualifier4(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getConidList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellQConQualifier4Impl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQConQualifier4(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getConidList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQConQualifierImpl.java b/gen/intellij/haskell/psi/impl/HaskellQConQualifierImpl.java index 612ac5294..aff765c87 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQConQualifierImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQConQualifierImpl.java @@ -1,52 +1,51 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellQConQualifierImpl extends HaskellCompositeElementImpl implements HaskellQConQualifier { - public HaskellQConQualifierImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQConQualifier(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @Nullable - public HaskellQConQualifier1 getQConQualifier1() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier1.class); - } - - @Override - @Nullable - public HaskellQConQualifier2 getQConQualifier2() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier2.class); - } - - @Override - @Nullable - public HaskellQConQualifier3 getQConQualifier3() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier3.class); - } - - @Override - @Nullable - public HaskellQConQualifier4 getQConQualifier4() { - return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier4.class); - } + public HaskellQConQualifierImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQConQualifier(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellQConQualifier1 getQConQualifier1() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier1.class); + } + + @Override + @Nullable + public HaskellQConQualifier2 getQConQualifier2() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier2.class); + } + + @Override + @Nullable + public HaskellQConQualifier3 getQConQualifier3() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier3.class); + } + + @Override + @Nullable + public HaskellQConQualifier4 getQConQualifier4() { + return PsiTreeUtil.getChildOfType(this, HaskellQConQualifier4.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java b/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java index 0d9e6bd2b..31bd6cc21 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQNameImpl.java @@ -1,56 +1,55 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import scala.Option; public class HaskellQNameImpl extends HaskellCompositeElementImpl implements HaskellQName { - public HaskellQNameImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQName(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @Nullable - public HaskellQVarCon getQVarCon() { - return PsiTreeUtil.getChildOfType(this, HaskellQVarCon.class); - } - - @Override - @Nullable - public HaskellVarCon getVarCon() { - return PsiTreeUtil.getChildOfType(this, HaskellVarCon.class); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public HaskellNamedElement getIdentifierElement() { - return HaskellPsiImplUtil.getIdentifierElement(this); - } - - @Override - public Option getQualifierName() { - return HaskellPsiImplUtil.getQualifierName(this); - } + public HaskellQNameImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQName(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellQVarCon getQVarCon() { + return PsiTreeUtil.getChildOfType(this, HaskellQVarCon.class); + } + + @Override + @Nullable + public HaskellVarCon getVarCon() { + return PsiTreeUtil.getChildOfType(this, HaskellVarCon.class); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public HaskellNamedElement getIdentifierElement() { + return HaskellPsiImplUtil.getIdentifierElement(this); + } + + @Override + public Option getQualifierName() { + return HaskellPsiImplUtil.getQualifierName(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQNamesImpl.java b/gen/intellij/haskell/psi/impl/HaskellQNamesImpl.java index 494b4ab72..bdea8d1ee 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQNamesImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQNamesImpl.java @@ -1,34 +1,36 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellQName; +import intellij.haskell.psi.HaskellQNames; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellQNamesImpl extends HaskellCompositeElementImpl implements HaskellQNames { - public HaskellQNamesImpl(ASTNode node) { - super(node); - } + public HaskellQNamesImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQNames(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQNames(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @NotNull - public List getQNameList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); - } + @Override + @NotNull + public List getQNameList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java b/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java index 6550e0cde..e356ec20b 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQVarConImpl.java @@ -1,68 +1,67 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellQVarConImpl extends HaskellCompositeElementImpl implements HaskellQVarCon { - public HaskellQVarConImpl(ASTNode node) { - super(node); - } + public HaskellQVarConImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQVarCon(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQVarCon(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @Nullable - public HaskellConsym getConsym() { - return PsiTreeUtil.getChildOfType(this, HaskellConsym.class); - } + @Override + @Nullable + public HaskellConsym getConsym() { + return PsiTreeUtil.getChildOfType(this, HaskellConsym.class); + } - @Override - @Nullable - public HaskellQCon getQCon() { - return PsiTreeUtil.getChildOfType(this, HaskellQCon.class); - } + @Override + @Nullable + public HaskellQCon getQCon() { + return PsiTreeUtil.getChildOfType(this, HaskellQCon.class); + } - @Override - @Nullable - public HaskellQualifier getQualifier() { - return PsiTreeUtil.getChildOfType(this, HaskellQualifier.class); - } + @Override + @Nullable + public HaskellQualifier getQualifier() { + return PsiTreeUtil.getChildOfType(this, HaskellQualifier.class); + } - @Override - @Nullable - public HaskellVarid getVarid() { - return PsiTreeUtil.getChildOfType(this, HaskellVarid.class); - } + @Override + @Nullable + public HaskellVarid getVarid() { + return PsiTreeUtil.getChildOfType(this, HaskellVarid.class); + } - @Override - @Nullable - public HaskellVarsym getVarsym() { - return PsiTreeUtil.getChildOfType(this, HaskellVarsym.class); - } + @Override + @Nullable + public HaskellVarsym getVarsym() { + return PsiTreeUtil.getChildOfType(this, HaskellVarsym.class); + } - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } - @Override - public HaskellNamedElement getIdentifierElement() { - return HaskellPsiImplUtil.getIdentifierElement(this); - } + @Override + public HaskellNamedElement getIdentifierElement() { + return HaskellPsiImplUtil.getIdentifierElement(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java b/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java index bd2a58c82..32263689b 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQualifierImpl.java @@ -1,61 +1,65 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.HaskellConid; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellQualifier; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellQualifierImpl extends HaskellQualifierElementImpl implements HaskellQualifier { - public HaskellQualifierImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitQualifier(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getConidList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellQualifierImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitQualifier(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getConidList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellConid.class); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellQuasiQuoteImpl.java b/gen/intellij/haskell/psi/impl/HaskellQuasiQuoteImpl.java index 862e9aa31..b6ef3308c 100644 --- a/gen/intellij/haskell/psi/impl/HaskellQuasiQuoteImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellQuasiQuoteImpl.java @@ -17,6 +17,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitQuasiQuote(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellScontextImpl.java b/gen/intellij/haskell/psi/impl/HaskellScontextImpl.java index 5be92da57..9781d47bd 100644 --- a/gen/intellij/haskell/psi/impl/HaskellScontextImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellScontextImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitScontext(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellShebangLineImpl.java b/gen/intellij/haskell/psi/impl/HaskellShebangLineImpl.java index 3bffa16f4..71d657e6d 100644 --- a/gen/intellij/haskell/psi/impl/HaskellShebangLineImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellShebangLineImpl.java @@ -19,6 +19,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitShebangLine(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellSimpleclassImpl.java b/gen/intellij/haskell/psi/impl/HaskellSimpleclassImpl.java index acacb70d3..a264d2ad4 100644 --- a/gen/intellij/haskell/psi/impl/HaskellSimpleclassImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellSimpleclassImpl.java @@ -1,40 +1,44 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellQName; +import intellij.haskell.psi.HaskellSimpleclass; +import intellij.haskell.psi.HaskellTtype; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; public class HaskellSimpleclassImpl extends HaskellCompositeElementImpl implements HaskellSimpleclass { - public HaskellSimpleclassImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitSimpleclass(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @NotNull - public List getQNameList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); - } - - @Override - @Nullable - public HaskellTtype getTtype() { - return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); - } + public HaskellSimpleclassImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitSimpleclass(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @NotNull + public List getQNameList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); + } + + @Override + @Nullable + public HaskellTtype getTtype() { + return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java b/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java index 4626d9f39..773ab131e 100644 --- a/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellSimpletypeImpl.java @@ -21,6 +21,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitSimpletype(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellTextLiteralImpl.java b/gen/intellij/haskell/psi/impl/HaskellTextLiteralImpl.java index 41d695c66..5f9bbfe51 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTextLiteralImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTextLiteralImpl.java @@ -1,28 +1,26 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellTextLiteral; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; public class HaskellTextLiteralImpl extends HaskellStringLiteralElementImpl implements HaskellTextLiteral { - public HaskellTextLiteralImpl(ASTNode node) { - super(node); - } + public HaskellTextLiteralImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitTextLiteral(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitTextLiteral(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellTopDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellTopDeclarationImpl.java index f8255cfb1..ef8ee55c2 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTopDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTopDeclarationImpl.java @@ -1,112 +1,51 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellTopDeclarationImpl extends HaskellCompositeElementImpl implements HaskellTopDeclaration { - public HaskellTopDeclarationImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitTopDeclaration(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @Nullable - public HaskellClassDeclaration getClassDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellClassDeclaration.class); - } - - @Override - @Nullable - public HaskellDataDeclaration getDataDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellDataDeclaration.class); - } - - @Override - @Nullable - public HaskellDefaultDeclaration getDefaultDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellDefaultDeclaration.class); - } - - @Override - @Nullable - public HaskellDerivingDeclaration getDerivingDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellDerivingDeclaration.class); - } - - @Override - @Nullable - public HaskellExpression getExpression() { - return PsiTreeUtil.getChildOfType(this, HaskellExpression.class); - } - - @Override - @Nullable - public HaskellFixityDeclaration getFixityDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellFixityDeclaration.class); - } - - @Override - @Nullable - public HaskellForeignDeclaration getForeignDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellForeignDeclaration.class); - } - - @Override - @Nullable - public HaskellInstanceDeclaration getInstanceDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellInstanceDeclaration.class); - } - - @Override - @Nullable - public HaskellNewtypeDeclaration getNewtypeDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellNewtypeDeclaration.class); - } - - @Override - @Nullable - public HaskellPragma getPragma() { - return PsiTreeUtil.getChildOfType(this, HaskellPragma.class); - } - - @Override - @Nullable - public HaskellTypeDeclaration getTypeDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeDeclaration.class); - } - - @Override - @Nullable - public HaskellTypeFamilyDeclaration getTypeFamilyDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeFamilyDeclaration.class); - } - - @Override - @Nullable - public HaskellTypeInstanceDeclaration getTypeInstanceDeclaration() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeInstanceDeclaration.class); - } - - @Override - @Nullable - public HaskellTypeSignature getTypeSignature() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeSignature.class); - } + public HaskellTopDeclarationImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitTopDeclaration(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellExpression getExpression() { + return PsiTreeUtil.getChildOfType(this, HaskellExpression.class); + } + + @Override + @Nullable + public HaskellPragma getPragma() { + return PsiTreeUtil.getChildOfType(this, HaskellPragma.class); + } + + @Override + @Nullable + public HaskellTopDeclaration getTopDeclaration() { + return PsiTreeUtil.getChildOfType(this, HaskellTopDeclaration.class); + } + + @Override + @Nullable + public HaskellTypeSignature getTypeSignature() { + return PsiTreeUtil.getChildOfType(this, HaskellTypeSignature.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellTtypeImpl.java b/gen/intellij/haskell/psi/impl/HaskellTtypeImpl.java index 021583a4f..b3c18c8d3 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTtypeImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTtypeImpl.java @@ -20,6 +20,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitTtype(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java index 91b5ef169..dac037865 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeDeclarationImpl.java @@ -13,27 +13,23 @@ import java.util.List; -public class HaskellTypeDeclarationImpl extends HaskellCompositeElementImpl implements HaskellTypeDeclaration { +public class HaskellTypeDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellTypeDeclaration { public HaskellTypeDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitTypeDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); } - @Override - @Nullable - public HaskellExpression getExpression() { - return PsiTreeUtil.getChildOfType(this, HaskellExpression.class); - } - @Override @NotNull public List getKindSignatureList() { @@ -64,12 +60,6 @@ public HaskellTtype getTtype() { return PsiTreeUtil.getChildOfType(this, HaskellTtype.class); } - @Override - @Nullable - public HaskellTypeSignature getTypeSignature() { - return PsiTreeUtil.getChildOfType(this, HaskellTypeSignature.class); - } - @Override public String getName() { return HaskellPsiImplUtil.getName(this); diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeEqualityImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeEqualityImpl.java index 8e9eb2ca0..4be754f4e 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeEqualityImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeEqualityImpl.java @@ -1,34 +1,36 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.*; +import intellij.haskell.psi.HaskellQName; +import intellij.haskell.psi.HaskellTypeEquality; +import intellij.haskell.psi.HaskellVisitor; +import org.jetbrains.annotations.NotNull; + +import java.util.List; public class HaskellTypeEqualityImpl extends HaskellCompositeElementImpl implements HaskellTypeEquality { - public HaskellTypeEqualityImpl(ASTNode node) { - super(node); - } + public HaskellTypeEqualityImpl(ASTNode node) { + super(node); + } - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitTypeEquality(this); - } + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitTypeEquality(this); + } - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } - @Override - @NotNull - public List getQNameList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); - } + @Override + @NotNull + public List getQNameList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellQName.class); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java index 9a70328e9..494aeade1 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeFamilyDeclarationImpl.java @@ -7,33 +7,28 @@ import com.intellij.psi.util.PsiTreeUtil; import intellij.haskell.psi.*; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import scala.Option; import scala.collection.immutable.Seq; import java.util.List; -public class HaskellTypeFamilyDeclarationImpl extends HaskellCompositeElementImpl implements HaskellTypeFamilyDeclaration { +public class HaskellTypeFamilyDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellTypeFamilyDeclaration { public HaskellTypeFamilyDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitTypeFamilyDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); } - @Override - @Nullable - public HaskellExpression getExpression() { - return PsiTreeUtil.getChildOfType(this, HaskellExpression.class); - } - @Override @NotNull public List getPragmaList() { diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeFamilyTypeImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeFamilyTypeImpl.java index 2f4d311be..a44679839 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeFamilyTypeImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeFamilyTypeImpl.java @@ -19,6 +19,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitTypeFamilyType(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java index 7ac58e7e7..4450ac2af 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeInstanceDeclarationImpl.java @@ -12,16 +12,18 @@ import java.util.List; -public class HaskellTypeInstanceDeclarationImpl extends HaskellCompositeElementImpl implements HaskellTypeInstanceDeclaration { +public class HaskellTypeInstanceDeclarationImpl extends HaskellTopDeclarationImpl implements HaskellTypeInstanceDeclaration { public HaskellTypeInstanceDeclarationImpl(ASTNode node) { super(node); } + @Override public void accept(@NotNull HaskellVisitor visitor) { visitor.visitTypeInstanceDeclaration(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java b/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java index edb6f41d6..482d06b10 100644 --- a/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellTypeSignatureImpl.java @@ -22,6 +22,7 @@ public void accept(@NotNull HaskellVisitor visitor) { visitor.visitTypeSignature(this); } + @Override public void accept(@NotNull PsiElementVisitor visitor) { if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); else super.accept(visitor); diff --git a/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java b/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java index 691c412b5..16b7c941a 100644 --- a/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellVarConImpl.java @@ -1,62 +1,61 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class HaskellVarConImpl extends HaskellCompositeElementImpl implements HaskellVarCon { - public HaskellVarConImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitVarCon(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - @Nullable - public HaskellConid getConid() { - return PsiTreeUtil.getChildOfType(this, HaskellConid.class); - } - - @Override - @Nullable - public HaskellConsym getConsym() { - return PsiTreeUtil.getChildOfType(this, HaskellConsym.class); - } - - @Override - @Nullable - public HaskellVarid getVarid() { - return PsiTreeUtil.getChildOfType(this, HaskellVarid.class); - } - - @Override - @Nullable - public HaskellVarsym getVarsym() { - return PsiTreeUtil.getChildOfType(this, HaskellVarsym.class); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public HaskellNamedElement getIdentifierElement() { - return HaskellPsiImplUtil.getIdentifierElement(this); - } + public HaskellVarConImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitVarCon(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellConid getConid() { + return PsiTreeUtil.getChildOfType(this, HaskellConid.class); + } + + @Override + @Nullable + public HaskellConsym getConsym() { + return PsiTreeUtil.getChildOfType(this, HaskellConsym.class); + } + + @Override + @Nullable + public HaskellVarid getVarid() { + return PsiTreeUtil.getChildOfType(this, HaskellVarid.class); + } + + @Override + @Nullable + public HaskellVarsym getVarsym() { + return PsiTreeUtil.getChildOfType(this, HaskellVarsym.class); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public HaskellNamedElement getIdentifierElement() { + return HaskellPsiImplUtil.getIdentifierElement(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java b/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java index 6b75f12f1..e118f72b0 100644 --- a/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellVaridImpl.java @@ -1,61 +1,66 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.stubs.HaskellVaridStub; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; import com.intellij.psi.stubs.IStubElementType; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellVarid; +import intellij.haskell.psi.HaskellVisitor; +import intellij.haskell.psi.stubs.HaskellVaridStub; +import org.jetbrains.annotations.NotNull; public class HaskellVaridImpl extends HaskellNamedStubBasedPsiElementBase implements HaskellVarid { - public HaskellVaridImpl(@NotNull HaskellVaridStub stub, IStubElementType type) { - super(stub, type); - } - - public HaskellVaridImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitVarid(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellVaridImpl(@NotNull HaskellVaridStub stub, IStubElementType type) { + super(stub, type); + } + + public HaskellVaridImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitVarid(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } + + @Override + public String toString() { + return HaskellPsiImplUtil.toString(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellVarsymImpl.java b/gen/intellij/haskell/psi/impl/HaskellVarsymImpl.java index 9bf3cd030..1a30141ce 100644 --- a/gen/intellij/haskell/psi/impl/HaskellVarsymImpl.java +++ b/gen/intellij/haskell/psi/impl/HaskellVarsymImpl.java @@ -1,61 +1,66 @@ // This is a generated file. Not intended for manual editing. package intellij.haskell.psi.impl; -import java.util.List; -import org.jetbrains.annotations.*; import com.intellij.lang.ASTNode; +import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; -import com.intellij.psi.util.PsiTreeUtil; -import static intellij.haskell.psi.HaskellTypes.*; -import intellij.haskell.psi.stubs.HaskellVarsymStub; -import intellij.haskell.psi.*; -import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; import com.intellij.psi.stubs.IStubElementType; +import intellij.haskell.psi.HaskellNamedElement; +import intellij.haskell.psi.HaskellVarsym; +import intellij.haskell.psi.HaskellVisitor; +import intellij.haskell.psi.stubs.HaskellVarsymStub; +import org.jetbrains.annotations.NotNull; public class HaskellVarsymImpl extends HaskellNamedStubBasedPsiElementBase implements HaskellVarsym { - public HaskellVarsymImpl(@NotNull HaskellVarsymStub stub, IStubElementType type) { - super(stub, type); - } - - public HaskellVarsymImpl(ASTNode node) { - super(node); - } - - public void accept(@NotNull HaskellVisitor visitor) { - visitor.visitVarsym(this); - } - - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof HaskellVisitor) accept((HaskellVisitor)visitor); - else super.accept(visitor); - } - - @Override - public String getName() { - return HaskellPsiImplUtil.getName(this); - } - - @Override - public PsiElement setName(String newName) { - return HaskellPsiImplUtil.setName(this, newName); - } - - @Override - public HaskellNamedElement getNameIdentifier() { - return HaskellPsiImplUtil.getNameIdentifier(this); - } - - @Override - public PsiReference getReference() { - return HaskellPsiImplUtil.getReference(this); - } - - @Override - public ItemPresentation getPresentation() { - return HaskellPsiImplUtil.getPresentation(this); - } + public HaskellVarsymImpl(@NotNull HaskellVarsymStub stub, IStubElementType type) { + super(stub, type); + } + + public HaskellVarsymImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitVarsym(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + public String getName() { + return HaskellPsiImplUtil.getName(this); + } + + @Override + public PsiElement setName(String newName) { + return HaskellPsiImplUtil.setName(this, newName); + } + + @Override + public HaskellNamedElement getNameIdentifier() { + return HaskellPsiImplUtil.getNameIdentifier(this); + } + + @Override + public PsiReference getReference() { + return HaskellPsiImplUtil.getReference(this); + } + + @Override + public ItemPresentation getPresentation() { + return HaskellPsiImplUtil.getPresentation(this); + } + + @Override + public String toString() { + return HaskellPsiImplUtil.toString(this); + } } diff --git a/gen/intellij/haskell/psi/impl/HaskellWhereClauseImpl.java b/gen/intellij/haskell/psi/impl/HaskellWhereClauseImpl.java new file mode 100644 index 000000000..1c683feef --- /dev/null +++ b/gen/intellij/haskell/psi/impl/HaskellWhereClauseImpl.java @@ -0,0 +1,47 @@ +// This is a generated file. Not intended for manual editing. +package intellij.haskell.psi.impl; + +import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.util.PsiTreeUtil; +import intellij.haskell.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class HaskellWhereClauseImpl extends HaskellCompositeElementImpl implements HaskellWhereClause { + + public HaskellWhereClauseImpl(ASTNode node) { + super(node); + } + + public void accept(@NotNull HaskellVisitor visitor) { + visitor.visitWhereClause(this); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof HaskellVisitor) accept((HaskellVisitor) visitor); + else super.accept(visitor); + } + + @Override + @Nullable + public HaskellImportDeclarations getImportDeclarations() { + return PsiTreeUtil.getChildOfType(this, HaskellImportDeclarations.class); + } + + @Override + @NotNull + public List getPragmaList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellPragma.class); + } + + @Override + @NotNull + public List getTopDeclarationList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, HaskellTopDeclaration.class); + } + +} diff --git a/src/main/scala/intellij/haskell/HaskellLexerAdapter.scala b/src/main/scala/intellij/haskell/HaskellLexerAdapter.scala index db598ecd7..aef70e537 100644 --- a/src/main/scala/intellij/haskell/HaskellLexerAdapter.scala +++ b/src/main/scala/intellij/haskell/HaskellLexerAdapter.scala @@ -16,6 +16,289 @@ package intellij.haskell -import com.intellij.lexer.FlexAdapter +import com.intellij.lexer.{FlexAdapter, Lexer, LexerBase} +import com.intellij.psi.tree.{IElementType, TokenSet} +import com.intellij.util.containers.IntStack + +import scala.annotation.tailrec +import scala.collection.mutable.ArrayBuffer class HaskellLexerAdapter extends FlexAdapter(new _HaskellLexer) + +/** + * This is the main lexer. It wraps the underlying lexer generated by Flex + * to synthesize special tokens based on whitespace-sensitive layout rules + * in the layout-based languages. This makes it possible to write a + * traditional parser using JFlex/Grammar-Kit. + * + * This is a modified version of: + * https://github.com/klazuka/intellij-elm/blob/master/src/main/kotlin/org/elm/lang/core/lexer/ElmLayoutLexer.kt + * + * See also + * https://github.com/owo-lang/intellij-dtlc/blob/master/src/org/ice1000/tt/psi/layout.kt + */ +class HaskellLayoutLexer(private val lexer: Lexer, + private val endOfLine: IElementType, + private val layoutStart: IElementType, + private val layoutSeparator: IElementType, + private val layoutEnd: IElementType, + private val nonCodeTokens: TokenSet, + private val layoutCreatingTokens: TokenSet, + private val letInTokens: LetIn) extends LexerBase { + + private case class Line(var columnWhereCodeStarts: Option[Int] = None) + + private case class Token(elementType: Option[IElementType], + start: Int, + end: Int, + column: Int, + line: Line + ) { + override def toString = s"${elementType.toString} (${getBufferSequence.subSequence(start, end)}) ($start, $end)" + + val isEOF: Boolean = elementType.isEmpty + val isCode: Boolean = elementType.exists(et => !nonCodeTokens.contains(et)) && !isEOF + + def isNextLayoutLine: Boolean = isCode && line.columnWhereCodeStarts.contains(column) + } + + private val tokens = new ArrayBuffer[Token](100) + private var currentTokenIndex = 0 + + private def currentToken = tokens.lift(currentTokenIndex) + + def start(buffer: CharSequence, startOffset: Int, endOffset: Int, initialState: Int) { + require(startOffset == 0, "does not support incremental lexing: startOffset must be 0") + require(initialState == 0, "does not support incremental lexing: initialState must be 0") + + // Start the incremental lexer + lexer.start(buffer, startOffset, endOffset, initialState) + + doLayout() + currentTokenIndex = 0 + } + + def getState: Int = lexer.getState + + def getBufferSequence: CharSequence = lexer.getBufferSequence + + def getBufferEnd: Int = lexer.getBufferEnd + + def getTokenType: IElementType = currentToken.flatMap(_.elementType).orNull + + def getTokenStart: Int = currentToken.map(_.start).getOrElse(null.asInstanceOf[Int]) + + def getTokenEnd: Int = currentToken.map(_.end).getOrElse(null.asInstanceOf[Int]) + + def advance() { + if (currentToken.exists(ct => !ct.isEOF && ct.elementType.isDefined)) { + currentTokenIndex += 1 + } + } + + private def slurpTokens(): Unit = { + var currentColumn = 0 + + @tailrec + @inline + def doIt(line: Line): Unit = { + val token = Token(Option(lexer.getTokenType), lexer.getTokenStart, lexer.getTokenEnd, currentColumn, line) + tokens += token + + if (line.columnWhereCodeStarts.isEmpty && token.isCode) { + line.columnWhereCodeStarts = Some(currentColumn) + } + + currentColumn += token.end - token.start + + if (!token.isEOF) { + val nextLine = if (token.elementType.contains(endOfLine)) { + currentColumn = 0 + Line() + } else { + line + } + + lexer.advance() + + doIt(nextLine) + } + } + + doIt(Line()) + } + + private trait State + + /** + * Waiting for the first line of code inside a let/in or case/of in order to open a new section. + */ + private case object WaitingForLayout extends State + + /** + * Looking to emit virtual delimiters between declarations at the same indent level + * and closing out sections when appropriate. + */ + private case object Normal extends State + + private def doLayout() { + slurpTokens() + + // initial state + var i = 0 + var state: State = Normal + val indentStack = new IndentStack() + indentStack.push(-1) // top-level is an implicit section + + while (i < tokens.size) { + val token = tokens(i) + + state match { + case WaitingForLayout => + if (token.isCode && token.column > indentStack.peek()) { + tokens.insert(i, virtualToken(layoutStart, tokens(i))) + i += 1 + indentStack.push(token.column) + if (!token.elementType.exists(layoutCreatingTokens.contains)) { + state = Normal + } + } else if (token.isNextLayoutLine && (token.column <= indentStack.peek())) { + // The program is malformed: most likely because the new section is empty + // (the user is still editing the text) or they did not indent the section. + // The empty section case is a common workflow, so we must handle it by bailing + // out of section building and re-process the token in the 'Normal' state. + // If, instead, the problem is that the user did not indent the text, + // tough luck (although we may want to handle this better in the future). + state = Normal + i -= 1 + } + case Normal => + if (token.elementType.exists(layoutCreatingTokens.contains)) { + state = WaitingForLayout + } + if (token.isNextLayoutLine) { + i = insideLayout(i, token, indentStack) + } + if (isSingleLineLetIn(i, tokens.toSeq, letInTokens)) { + tokens.insert(i, virtualToken(layoutEnd, tokens(i - 1))) + i += 1 + indentStack.pop() + } + } + + if (token.elementType.isEmpty) + while (indentStack.pop() >= 0) { + tokens += virtualToken(layoutEnd, token) + i += 1 + } + + i += 1 + } + } + + + /** + * Extracted from [doLayout] to reduce indentation. + * We want to insert virtual tokens immediately after the newline that follows + * the last code token. This is important so that: + * + * (1) trailing spaces at the end of the declaration are part of the declaration + * (2) top-level comments that follow the declaration are NOT part of the declaration + * + * Note that a virtual token has to appear after a whitespace token, since the real token + * is combined with the virtual token during parsing (their text ranges overlap). + */ + private def insideLayout(i: Int, token: Token, indentStack: IndentStack): Int = { + val insertAt = { + for { + k <- ((i - 1) to 1 by -1).view + if tokens(k).isCode + m <- ((k + 1) until (i + 1)).view + if tokens(m).elementType.contains(endOfLine) + } yield { + m + } + }.headOption.getOrElse(i) + + val precedingToken = tokens(insertAt) + + @tailrec + def doIt(iA: Int, mutI: Int): Int = { + if (!indentStack.empty()) { + if (token.column == indentStack.peek()) { + tokens.insert( + iA, virtualToken(layoutSeparator, precedingToken)) + mutI + 1 + } else if (token.column < indentStack.peek()) { + tokens.insert(iA, virtualToken(layoutEnd, precedingToken)) + indentStack.pop() + doIt(iA + 1, mutI + 1) + } else + mutI + } else { + mutI + } + } + + doIt(insertAt, i) + } + + /** + * Many languages allows for a let/in expression on a single line: + * e.g. ```foo = let x = 0 in x + 1``` + * I don't know why you would ever do this, but some people do: + * https://github.com/klazuka/intellij-elm/issues/20#issuecomment-374843581 + * * + * If we didn't have special handling for it, the `let` section wouldn't + * get closed-out until a subsequent line with less indent, which would be wrong. + */ + private def isSingleLineLetIn(index: Int, tokens: Seq[Token], letInTokens: LetIn): Boolean = { + val token = tokens(index) + if (token.elementType.contains(letInTokens.inToken)) { + val thisLine = token.line + + @tailrec + def doit(i: Int): Boolean = { + val j = i - 1 + val token = tokens(j) + if (token.elementType.contains(letInTokens.letToken)) { + true + } else { + if (token.line == thisLine && j < tokens.size) { + doit(j) + } else { + false + } + } + } + + doit(index) + } else { + false + } + } + + private def virtualToken(elementType: IElementType, precedesToken: Token) = { + Token( + elementType = Option(elementType), + start = precedesToken.start, + end = precedesToken.start, // yes, this is intentional + column = precedesToken.column, + line = precedesToken.line + ) + } + + /** + * In a well-formed program, there would be no way to underflow the indent stack, + * but this lexer will be asked to lex malformed/partial programs, so we need + * to guard against trying to use the stack when it's empty. + */ + private class IndentStack extends IntStack { + override def peek(): Int = if (super.empty()) -1 else super.peek() + + override def pop(): Int = if (super.empty()) -1 else super.pop() + } + +} + +case class LetIn(letToken: IElementType, inToken: IElementType) diff --git a/src/main/scala/intellij/haskell/HaskellParserDefinition.scala b/src/main/scala/intellij/haskell/HaskellParserDefinition.scala index 04c845347..8320eb59b 100644 --- a/src/main/scala/intellij/haskell/HaskellParserDefinition.scala +++ b/src/main/scala/intellij/haskell/HaskellParserDefinition.scala @@ -22,14 +22,16 @@ import com.intellij.lexer.Lexer import com.intellij.openapi.project.Project import com.intellij.psi._ import com.intellij.psi.tree.{IFileElementType, TokenSet} +import intellij.haskell.HaskellParserDefinition.{Comments, WhiteSpaces} import intellij.haskell.parser.HaskellParser +import intellij.haskell.psi.HaskellTypes import intellij.haskell.psi.HaskellTypes._ import intellij.haskell.psi.stubs.types.HaskellFileElementType import org.jetbrains.annotations.NotNull //noinspection TypeAnnotation object HaskellParserDefinition { - final val WhiteSpaces = TokenSet.create(TokenType.WHITE_SPACE) + final val WhiteSpaces = TokenSet.create(TokenType.WHITE_SPACE, HS_NEWLINE) final val Comments = TokenSet.create(HS_COMMENT, HS_NCOMMENT, HS_HADDOCK, HS_NHADDOCK) final val PragmaStartEndIds = TokenSet.create(HS_PRAGMA_START, HS_PRAGMA_END) final val ReservedIdS = TokenSet.create(HS_CASE, HS_CLASS, HS_DATA, HS_DEFAULT, HS_DERIVING, HS_DO, HS_ELSE, HS_IF, HS_IMPORT, @@ -51,7 +53,16 @@ class HaskellParserDefinition extends ParserDefinition { @NotNull def createLexer(project: Project): Lexer = { - new HaskellLexerAdapter + new HaskellLayoutLexer( + new HaskellLexerAdapter, + HaskellTypes.HS_NEWLINE, + HaskellTypes.HS_LEFT_BRACE, + HaskellTypes.HS_SEMICOLON, + HaskellTypes.HS_RIGHT_BRACE, + TokenSet.orSet(Comments, WhiteSpaces, TokenSet.create(HS_LEFT_BRACE, HS_SEMICOLON, HS_RIGHT_BRACE)), + TokenSet.create(HS_WHERE, HS_LET, HS_DO, HS_OF), + LetIn(HS_LET, HS_IN) + ) } def createParser(project: Project): PsiParser = { diff --git a/src/main/scala/intellij/haskell/_HaskellLexer.flex b/src/main/scala/intellij/haskell/_HaskellLexer.flex index e786516d4..8c7af6db6 100644 --- a/src/main/scala/intellij/haskell/_HaskellLexer.flex +++ b/src/main/scala/intellij/haskell/_HaskellLexer.flex @@ -227,6 +227,9 @@ nhaddock_start = {left_brace}{dash}{white_char}?{vertical_bar} return HS_ONE_PRAGMA; } + #[^-]+ { + return HS_ONE_PRAGMA; + } } {pragma_start} { diff --git a/src/main/scala/intellij/haskell/haskell.bnf b/src/main/scala/intellij/haskell/haskell.bnf index a3563b93b..7314451df 100644 --- a/src/main/scala/intellij/haskell/haskell.bnf +++ b/src/main/scala/intellij/haskell/haskell.bnf @@ -20,6 +20,7 @@ elementTypePrefix="HS_" methods("varid|varsym|conid|consym|modid")=[getName setName getNameIdentifier getReference getPresentation] + methods("varid|conid|modid|varsym")=[toString] extends("varid|varsym|conid|consym|modid")="intellij.haskell.psi.impl.HaskellNamedStubBasedPsiElementBase" implements("varid|varsym|conid|consym|modid")="intellij.haskell.psi.HaskellNamedElement" elementTypeFactory("varid|varsym|conid|consym|modid")="intellij.haskell.psi.impl.HaskellElementTypeFactory.factory" @@ -28,6 +29,7 @@ methods("default_declaration|foreign_declaration|module_declaration")=[getName getPresentation getIdentifierElements getModuleName] implements("type_signature|type_declaration|class_declaration|instance_declaration|type_family_declaration|deriving_declaration|type_instance_declaration|default_declaration")="intellij.haskell.psi.HaskellDeclarationElement" implements("default_declaration|foreign_declaration|module_declaration")="intellij.haskell.psi.HaskellDeclarationElement" + extends(".*_declaration")=top_declaration methods("data_declaration|newtype_declaration")=[getName getPresentation getIdentifierElements getModuleName getDataTypeConstructor] implements("data_declaration|newtype_declaration")="intellij.haskell.psi.HaskellDataConstructorDeclarationElement" @@ -39,6 +41,7 @@ implements("expression")="intellij.haskell.psi.HaskellExpressionElement" mixin("expression")="intellij.haskell.psi.impl.HaskellExpressionElementImpl" + extends(".*_expression")=expression methods("q_con_qualifier1|q_con_qualifier2|q_con_qualifier3|q_con_qualifier4|qualifier")=[getName setName getNameIdentifier getReference getPresentation] implements("q_con_qualifier1|q_con_qualifier2|q_con_qualifier3|q_con_qualifier4|qualifier")="intellij.haskell.psi.HaskellQualifierElement" @@ -60,7 +63,8 @@ pragma ::= PRAGMA_START general_pragma_content* PRAGMA_END general_pragma_content ::= ONE_PRAGMA | PRAGMA_SEP | CHARACTER_LITERAL | STRING_LITERAL | NEWLINE | DASH | HASH module_body ::= module_declaration onl body | onl body -module_declaration ::= MODULE modid onl pragma? onl (exports onl)? WHERE +module_declaration ::= MODULE modid onl pragma? onl (exports onl)? where_clause +where_clause ::= WHERE LEFT_BRACE body RIGHT_BRACE? {pin=1} private body ::= import_declarations? onl top_declarations onl import_declarations ::= import_declaration (onl import_declaration)* (DIRECTIVE | INCLUDE_DIRECTIVE)* @@ -82,7 +86,8 @@ import_package_name ::= text_literal top_declaration ::= (type_declaration | data_declaration | newtype_declaration | class_declaration | instance_declaration | default_declaration | foreign_declaration | type_family_declaration | deriving_declaration | type_instance_declaration | type_signature | - pragma | fixity_declaration | expression | DIRECTIVE) SEMICOLON? NEWLINE? + pragma | fixity_declaration | expression | DIRECTIVE | implementation_declaration) SEMICOLON? NEWLINE? +implementation_declaration ::= expression EQUAL expression {pin=2} type_declaration ::= TYPE onls simpletype onls COLON_COLON onls ttype | TYPE onls simpletype onls EQUAL onls ttype onls VERTICAL_BAR q_name RIGHT_ARROW q_name | @@ -237,15 +242,30 @@ cdecl_data_declaration ::= DATA (onls pragma)? (onls LEFT_PAREN onls kind_s cdecl ::= type_signature | cdecl_data_declaration | cidecl cidecl ::= pragma | instance_declaration | default_declaration | - newtype_declaration | data_declaration | type_declaration | type_family_declaration | line_expression - -expression ::= line_expression (nls line_expression)* + newtype_declaration | data_declaration | type_declaration | type_family_declaration + | line_expression | implementation_declaration + +expression ::= let_abstraction | do_notation_expression | if_expression | application_expression | case_of_expression | atom | line_expression (nls line_expression)* +paren_expression ::= LEFT_PAREN expression RIGHT_PAREN +bracket_expression ::= LEFT_BRACKET expression RIGHT_BRACKET +application_expression ::= expression atom+ +private atom ::= atom_expression | bracket_expression | paren_expression +atom_expression ::= general_id private line_expression ::= (general_id | LIST_COMPREHENSION)+ | NOT_TERMINATED_QQ_EXPRESSION private general_id ::= quasi_quote | q_name | symbol_reserved_op | reserved_id | LEFT_PAREN | RIGHT_PAREN | FLOAT | SEMICOLON | LEFT_BRACKET | RIGHT_BRACKET | literal | LEFT_BRACE | RIGHT_BRACE | COMMA | QUOTE | BACKQUOTE | fixity | pragma | DIRECTIVE | DOUBLE_QUOTES +let_abstraction ::= LET LEFT_BRACE let_definition* cdecl? RIGHT_BRACE? semi IN expression {pin=1 extends=expression} +do_notation_expression ::= DO LEFT_BRACE do_definition* expression? RIGHT_BRACE? {pin=1} +if_expression ::= IF expression THEN expression ELSE expression {pin=1} +case_of_expression ::= CASE expression OF LEFT_BRACE case_definition* case_clause? RIGHT_BRACE? {pin=1} + +private let_definition ::= cdecl SEMICOLON +private do_definition ::= expression SEMICOLON +private case_definition ::= case_clause SEMICOLON +case_clause ::= expression RIGHT_ARROW expression {pin=2} dot_dot ::= DOT DOT private symbol_reserved_op ::= dot_dot | COLON_COLON | EQUAL | BACKSLASH | VERTICAL_BAR | LEFT_ARROW | RIGHT_ARROW | AT | TILDE | DOUBLE_RIGHT_ARROW diff --git a/src/main/scala/intellij/haskell/psi/impl/HaskellPsiImplUtil.scala b/src/main/scala/intellij/haskell/psi/impl/HaskellPsiImplUtil.scala index 5045ca6e4..af09840d8 100644 --- a/src/main/scala/intellij/haskell/psi/impl/HaskellPsiImplUtil.scala +++ b/src/main/scala/intellij/haskell/psi/impl/HaskellPsiImplUtil.scala @@ -34,6 +34,22 @@ object HaskellPsiImplUtil { qVarCon.getText } + def toString(varid: HaskellVarid): String = { + s"HaskellVarid(${varid.getElementType})" + } + + def toString(varid: HaskellVarsym): String = { + s"HaskellVarsym(${varid.getElementType})" + } + + def toString(varid: HaskellConid): String = { + s"HaskellVarid(${varid.getElementType})" + } + + def toString(varid: HaskellModid): String = { + s"HaskellVarid(${varid.getElementType})" + } + def getIdentifierElement(qVarCon: HaskellQVarCon): HaskellNamedElement = { Option(qVarCon.getVarid).orElse(Option(qVarCon.getQCon).map(_.getConid)).orElse(Option(qVarCon.getConsym)).orElse(Option(qVarCon.getVarsym)). getOrElse(throw new IllegalStateException(s"Identifier for ${qVarCon.getText} should exist")) diff --git a/src/test/scala/intellij/haskell/HaskellParsingTest.scala b/src/test/scala/intellij/haskell/HaskellParsingTest.scala index 734a78fac..df6bc0498 100644 --- a/src/test/scala/intellij/haskell/HaskellParsingTest.scala +++ b/src/test/scala/intellij/haskell/HaskellParsingTest.scala @@ -6,10 +6,30 @@ class HaskellParsingTest extends ParsingTestCase("", "hs", new HaskellParserDefi override def getTestDataPath: String = "src/test/testData/parsing-hs" def testPragma(): Unit = { - doTest(true) + doTest(true, true) } def testComplicatedPragma(): Unit = { - doTest(true) + doTest(true, true) + } + + def testSimpleLayout(): Unit = { + doTest(true, true) + } + + def testOneLineLetIn(): Unit = { + doTest(true, true) + } + + def testDoLayout(): Unit = { + doTest(true, true) + } + + def testCaseOf(): Unit = { + doTest(true, true) + } + + def testImports(): Unit = { + doTest(true, true) } } diff --git a/src/test/testData/parsing-hs/CaseOf.hs b/src/test/testData/parsing-hs/CaseOf.hs new file mode 100644 index 000000000..b4de28bea --- /dev/null +++ b/src/test/testData/parsing-hs/CaseOf.hs @@ -0,0 +1,3 @@ +ifExpr a b c = case a of + True -> b + False -> c diff --git a/src/test/testData/parsing-hs/CaseOf.txt b/src/test/testData/parsing-hs/CaseOf.txt new file mode 100644 index 000000000..837779dd6 --- /dev/null +++ b/src/test/testData/parsing-hs/CaseOf.txt @@ -0,0 +1,72 @@ +Haskell file + HS_MODULE_BODY + HS_IMPLEMENTATION_DECLARATION + HS_APPLICATION_EXPRESSION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('ifExpr') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('a') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('b') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('c') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.EQUAL)('=') + PsiWhiteSpace(' ') + HS_CASE_OF_EXPRESSION + PsiElement(HaskellTokenType.CASE)('case') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('a') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.OF)('of') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_CASE_CLAUSE + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('True') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.RIGHT_ARROW)('->') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('b') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_CASE_CLAUSE + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('False') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.RIGHT_ARROW)('->') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('c') \ No newline at end of file diff --git a/src/test/testData/parsing-hs/DoLayout.hs b/src/test/testData/parsing-hs/DoLayout.hs new file mode 100644 index 000000000..64cc6d9a0 --- /dev/null +++ b/src/test/testData/parsing-hs/DoLayout.hs @@ -0,0 +1,6 @@ +module TestModule where + + doNotation = do + e <- f + a <- g + return $ e + a diff --git a/src/test/testData/parsing-hs/DoLayout.txt b/src/test/testData/parsing-hs/DoLayout.txt new file mode 100644 index 000000000..c091dd202 --- /dev/null +++ b/src/test/testData/parsing-hs/DoLayout.txt @@ -0,0 +1,91 @@ +Haskell file + HS_MODULE_BODY + HS_MODULE_DECLARATION + PsiElement(HaskellTokenType.MODULE)('module') + PsiWhiteSpace(' ') + HaskellVarid(HS_MODID) + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('TestModule') + PsiWhiteSpace(' ') + HS_WHERE_CLAUSE + PsiElement(HaskellTokenType.WHERE)('where') + PsiWhiteSpace('\n') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_IMPLEMENTATION_DECLARATION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('doNotation') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.EQUAL)('=') + PsiWhiteSpace(' ') + HS_DO_NOTATION_EXPRESSION + PsiElement(HaskellTokenType.DO)('do') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_APPLICATION_EXPRESSION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('e') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + PsiElement(HaskellTokenType.LEFT_ARROW)('<-') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('f') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_APPLICATION_EXPRESSION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('a') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + PsiElement(HaskellTokenType.LEFT_ARROW)('<-') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('g') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_APPLICATION_EXPRESSION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('return') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarsym(HS_VARSYM) + PsiElement(HaskellTokenType.VARSYM_ID)('$') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('e') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarsym(HS_VARSYM) + PsiElement(HaskellTokenType.VARSYM_ID)('+') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('a') \ No newline at end of file diff --git a/src/test/testData/parsing-hs/Imports.hs b/src/test/testData/parsing-hs/Imports.hs new file mode 100644 index 000000000..0b6f97d09 --- /dev/null +++ b/src/test/testData/parsing-hs/Imports.hs @@ -0,0 +1,4 @@ +import A.B +import A.B as C +import A.B (($), b) +import A.B () diff --git a/src/test/testData/parsing-hs/Imports.txt b/src/test/testData/parsing-hs/Imports.txt new file mode 100644 index 000000000..9be8beec2 --- /dev/null +++ b/src/test/testData/parsing-hs/Imports.txt @@ -0,0 +1,73 @@ +Haskell file + HS_MODULE_BODY + HS_IMPORT_DECLARATIONS + HS_IMPORT_DECLARATION + PsiElement(HaskellTokenType.IMPORT)('import') + PsiWhiteSpace(' ') + HaskellVarid(HS_MODID) + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('A') + PsiElement(HaskellTokenType.DOT)('.') + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('B') + PsiWhiteSpace('\n') + HS_IMPORT_DECLARATION + PsiElement(HaskellTokenType.IMPORT)('import') + PsiWhiteSpace(' ') + HaskellVarid(HS_MODID) + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('A') + PsiElement(HaskellTokenType.DOT)('.') + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('B') + PsiWhiteSpace(' ') + HS_IMPORT_QUALIFIED_AS + PsiElement(HaskellTokenType.VAR_ID)('as') + PsiWhiteSpace(' ') + HS_QUALIFIER + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('C') + PsiWhiteSpace('\n') + HS_IMPORT_DECLARATION + PsiElement(HaskellTokenType.IMPORT)('import') + PsiWhiteSpace(' ') + HaskellVarid(HS_MODID) + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('A') + PsiElement(HaskellTokenType.DOT)('.') + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('B') + PsiWhiteSpace(' ') + HS_IMPORT_SPEC + HS_IMPORT_IDS_SPEC + PsiElement(HaskellTokenType.LEFT_PAREN)('(') + HS_IMPORT_ID + HS_CNAME + HS_VAR + PsiElement(HaskellTokenType.LEFT_PAREN)('(') + HaskellVarsym(HS_VARSYM) + PsiElement(HaskellTokenType.VARSYM_ID)('$') + PsiElement(HaskellTokenType.RIGHT_PAREN)(')') + PsiElement(HaskellTokenType.COMMA)(',') + PsiWhiteSpace(' ') + HS_IMPORT_ID + HS_CNAME + HS_VAR + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('b') + PsiElement(HaskellTokenType.RIGHT_PAREN)(')') + PsiWhiteSpace('\n') + HS_IMPORT_DECLARATION + PsiElement(HaskellTokenType.IMPORT)('import') + PsiWhiteSpace(' ') + HaskellVarid(HS_MODID) + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('A') + PsiElement(HaskellTokenType.DOT)('.') + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('B') + PsiWhiteSpace(' ') + HS_IMPORT_SPEC + HS_IMPORT_IDS_SPEC + PsiElement(HaskellTokenType.LEFT_PAREN)('(') + PsiElement(HaskellTokenType.RIGHT_PAREN)(')') \ No newline at end of file diff --git a/src/test/testData/parsing-hs/OneLineLetIn.hs b/src/test/testData/parsing-hs/OneLineLetIn.hs new file mode 100644 index 000000000..a269ba260 --- /dev/null +++ b/src/test/testData/parsing-hs/OneLineLetIn.hs @@ -0,0 +1,3 @@ +module OneLineLetIn where + +fix f = let x = f x in x diff --git a/src/test/testData/parsing-hs/OneLineLetIn.txt b/src/test/testData/parsing-hs/OneLineLetIn.txt new file mode 100644 index 000000000..51255f956 --- /dev/null +++ b/src/test/testData/parsing-hs/OneLineLetIn.txt @@ -0,0 +1,61 @@ +Haskell file + HS_MODULE_BODY + HS_MODULE_DECLARATION + PsiElement(HaskellTokenType.MODULE)('module') + PsiWhiteSpace(' ') + HaskellVarid(HS_MODID) + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('OneLineLetIn') + PsiWhiteSpace(' ') + HS_WHERE_CLAUSE + PsiElement(HaskellTokenType.WHERE)('where') + PsiWhiteSpace('\n') + PsiWhiteSpace('\n') + HS_IMPLEMENTATION_DECLARATION + HS_APPLICATION_EXPRESSION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('fix') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('f') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.EQUAL)('=') + PsiWhiteSpace(' ') + HS_LET_ABSTRACTION + PsiElement(HaskellTokenType.LET)('let') + PsiWhiteSpace(' ') + HS_IMPLEMENTATION_DECLARATION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('x') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.EQUAL)('=') + PsiWhiteSpace(' ') + HS_APPLICATION_EXPRESSION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('f') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('x') + PsiElement(HaskellTokenType.RIGHT_BRACE)(' ') + PsiElement(HaskellTokenType.IN)('in') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('x') \ No newline at end of file diff --git a/src/test/testData/parsing-hs/SimpleLayout.hs b/src/test/testData/parsing-hs/SimpleLayout.hs new file mode 100644 index 000000000..9d44e7f2d --- /dev/null +++ b/src/test/testData/parsing-hs/SimpleLayout.hs @@ -0,0 +1,7 @@ +module TestModule where + + these :: declarations are + insideOfALayout = let + test = bla + reTest = blllaaa + in test reTest diff --git a/src/test/testData/parsing-hs/SimpleLayout.txt b/src/test/testData/parsing-hs/SimpleLayout.txt new file mode 100644 index 000000000..f6787da32 --- /dev/null +++ b/src/test/testData/parsing-hs/SimpleLayout.txt @@ -0,0 +1,95 @@ +Haskell file + HS_MODULE_BODY + HS_MODULE_DECLARATION + PsiElement(HaskellTokenType.MODULE)('module') + PsiWhiteSpace(' ') + HaskellVarid(HS_MODID) + HaskellVarid(HS_CONID) + PsiElement(HaskellTokenType.CON_ID)('TestModule') + PsiWhiteSpace(' ') + HS_WHERE_CLAUSE + PsiElement(HaskellTokenType.WHERE)('where') + PsiWhiteSpace('\n') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_TOP_DECLARATION + HS_TYPE_SIGNATURE + HS_Q_NAMES + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('these') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.COLON_COLON)('::') + PsiWhiteSpace(' ') + HS_TTYPE + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('declarations') + PsiWhiteSpace(' ') + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('are') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_IMPLEMENTATION_DECLARATION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('insideOfALayout') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.EQUAL)('=') + PsiWhiteSpace(' ') + HS_LET_ABSTRACTION + PsiElement(HaskellTokenType.LET)('let') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_IMPLEMENTATION_DECLARATION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('test') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.EQUAL)('=') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('bla') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + HS_IMPLEMENTATION_DECLARATION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('reTest') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.EQUAL)('=') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('blllaaa') + PsiWhiteSpace('\n') + PsiWhiteSpace(' ') + PsiElement(HaskellTokenType.IN)('in') + PsiWhiteSpace(' ') + HS_APPLICATION_EXPRESSION + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('test') + PsiWhiteSpace(' ') + HS_ATOM_EXPRESSION + HS_Q_NAME + HS_VAR_CON + HaskellVarid(HS_VARID) + PsiElement(HaskellTokenType.VAR_ID)('reTest') \ No newline at end of file