0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 74 65 73 74 53 pt..$uname testS
0020: 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 0d 0a 24 yntaxAnalysis..$
0030: 64 6e 61 6d 65 20 d0 a2 d0 b5 d1 81 d1 82 d1 8b dname ..........
0040: 20 d0 b4 d0 bb d1 8f 20 d0 ba d0 bb d0 b0 d1 81 ...... ........
0050: d1 81 d0 b0 20 53 79 6e 74 61 78 41 6e 61 6c 79 .... SyntaxAnaly
0060: 73 69 73 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62 sis..$addin glob
0070: 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 63 6f al..$addin stdco
0080: 6d 6d 61 6e 64 73 0d 0a 24 61 64 64 69 6e 20 73 mmands..$addin s
0090: 74 64 6c 69 62 0d 0a 0d 0a 73 74 64 6c 69 62 2e tdlib....stdlib.
00a0: 72 65 71 75 69 72 65 28 27 6a 73 55 6e 69 74 43 require('jsUnitC
00b0: 6f 72 65 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72 ore.js', SelfScr
00c0: 69 70 74 29 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 ipt);..stdlib.re
00d0: 71 75 69 72 65 28 27 53 79 6e 74 61 78 41 6e 61 quire('SyntaxAna
00e0: 6c 79 73 69 73 2e 6a 73 27 2c 20 53 65 6c 66 53 lysis.js', SelfS
00f0: 63 72 69 70 74 29 3b 0d 0a 20 20 20 20 0d 0a 2f cript);.. ../
0100: 2f 7b 20 73 65 74 55 70 2f 74 65 61 72 44 6f 77 /{ setUp/tearDow
0110: 6e 20 20 20 20 0d 0a 66 75 6e 63 74 69 6f 6e 20 n ..function
0120: 73 65 74 55 70 28 29 20 7b 0d 0a 7d 0d 0a 0d 0a setUp() {..}....
0130: 66 75 6e 63 74 69 6f 6e 20 74 65 61 72 44 6f 77 function tearDow
0140: 6e 28 29 20 7b 0d 0a 7d 0d 0a 2f 2f 7d 20 73 65 n() {..}..//} se
0150: 74 55 70 2f 74 65 61 72 44 6f 77 6e 0d 0a 0d 0a tUp/tearDown....
0160: 2f 2f 7b 20 74 65 73 74 73 20 6f 66 20 41 6e 61 //{ tests of Ana
0170: 6c 79 73 65 4d 6f 64 75 6c 65 0d 0a 66 75 6e 63 lyseModule..func
0180: 74 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 74 41 tion macrosTestA
0190: 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 31 28 29 20 nalyseModule1()
01a0: 7b 0d 0a 0d 0a 20 20 20 20 76 61 72 20 6d 6f 64 {.... var mod
01b0: 75 6c 65 54 65 78 74 20 3d 20 22 22 0d 0a 20 20 uleText = ""..
01c0: 20 20 20 20 20 20 2b 20 22 d0 9f d0 b5 d1 80 d0 + ".......
01d0: b5 d0 bc 20 d0 bc d0 9f d0 b5 d1 80 d0 b5 d0 bc ... ............
01e0: d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c d0 be d0 b4 ................
01f0: d1 83 d0 bb d1 8f 3b 5c 6e 5c 6e 22 0d 0a 20 20 ......;\n\n"..
0200: 20 20 20 20 20 20 2b 20 22 d0 9f d0 b5 d1 80 d0 + ".......
0210: b5 d0 bc 20 d0 95 d1 89 d0 b5 d0 9e d0 b4 d0 bd ... ............
0220: d0 b0 d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd ................
0230: d0 bd d0 b0 d1 8f 3b 5c 6e 22 0d 0a 20 20 20 20 ......;\n"..
0240: 20 20 20 20 2b 20 22 d0 9f d0 b5 d1 80 d0 b5 d0 + ".........
0250: bc 20 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 . ..............
0260: d0 bd d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc ................
0270: d0 b5 d0 bd d0 bd d0 b0 d1 8f 20 d0 ad d0 ba d1 .......... .....
0280: 81 d0 bf d0 be d1 80 d1 82 3b 5c 6e 22 0d 0a 20 .........;\n"..
0290: 20 20 20 20 20 20 20 2b 20 22 d0 9f d0 b5 d1 80 + "......
02a0: d0 b5 d0 bc 20 d0 ad d0 ba d1 81 d0 bf d0 be d1 .... ...........
02b0: 80 d1 82 d0 bd d1 8b d0 b9 d0 9c d0 b0 d1 81 d1 ................
02c0: 81 d0 b8 d0 b2 5b 31 30 5d 20 d0 ad d0 ba d1 81 .....[10] ......
02d0: d0 bf d0 be d1 80 d1 82 2c 20 d0 9b d0 be d0 ba ........, ......
02e0: d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 d0 9c d0 b0 ................
02f0: d1 81 d1 81 d0 b8 d0 b2 5b 33 5d 2c 20 d0 9f d1 ........[3], ...
0300: 80 d0 be d1 81 d1 82 d0 be d0 9f d0 b5 d1 80 d0 ................
0310: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 3b 5c 6e .............;\n
0320: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f ".. + "..
0330: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 ................
0340: 20 d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 86 d0 ...............
0350: b5 d0 b4 d1 83 d1 80 d0 b0 28 d0 9f d0 b0 d1 80 .........(......
0360: d0 b0 d0 bc 31 2c 20 d0 9f d0 b0 d1 80 d0 b0 d0 ....1, .........
0370: bc 32 29 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 .2)\n"..
0380: 2b 20 22 09 d0 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 + "........... .
0390: 9c d0 be d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc 31 ...............1
03a0: 3b 5c 6e 5c 6e 22 09 0d 0a 20 20 20 20 20 20 20 ;\n\n"...
03b0: 20 2b 20 22 09 d0 9c d0 be d1 8f d0 9f d0 b5 d1 + "............
03c0: 80 d0 b5 d0 bc 31 20 3d 20 34 32 3b 5c 6e 5c 6e .....1 = 42;\n\n
03d0: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 09 d0 ".. + "..
03e0: 90 d0 b2 d1 82 d0 be d0 bc d0 b0 d1 82 d0 b8 d1 ................
03f0: 87 d0 b5 d1 81 d0 ba d0 b0 d1 8f d0 9f d0 b5 d1 ................
0400: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 20 ...............
0410: 3d 20 31 30 3b 5c 6e 22 09 0d 0a 20 20 20 20 20 = 10;\n"...
0420: 20 20 20 2b 20 22 09 d0 bc d0 9f d0 b5 d1 80 d0 + "..........
0430: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c d0 ................
0440: be d0 b4 d1 83 d0 bb d1 8f 20 3d 20 5c 22 5c 22 ......... = \"\"
0450: 3b 5c 6e 22 09 0d 0a 20 20 20 20 20 20 20 20 2b ;\n"... +
0460: 20 22 d0 9a d0 be d0 bd d0 b5 d1 86 d0 9f d1 80 "..............
0470: d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 5c 6e ..............\n
0480: 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 \n".. + "
0490: d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 20 d0 .............. .
04a0: 9c d0 be d1 8f d0 a4 d1 83 d0 bd d0 ba d1 86 d0 ................
04b0: b8 d1 8f 28 d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 ...(............
04c0: d1 82 d1 80 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 ................
04d0: d0 b8 29 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 ..)\n"..
04e0: 2b 20 22 09 d0 a1 d0 be d0 be d0 b1 d1 89 d0 b8 + ".............
04f0: d1 82 d1 8c 28 d0 bc d0 9f d0 b5 d1 80 d0 b5 d0 ....(...........
0500: bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c d0 be d0 ................
0510: b4 d1 83 d0 bb d1 8f 29 3b 09 5c 6e 22 0d 0a 20 .......);.\n"..
0520: 20 20 20 20 20 20 20 2b 20 22 09 d0 92 d0 be d0 + "......
0530: b7 d0 b2 d1 80 d0 b0 d1 82 20 d0 98 d1 81 d1 82 ......... ......
0540: d0 b8 d0 bd d0 b0 3b 09 5c 6e 22 0d 0a 20 20 20 ......;.\n"..
0550: 20 20 20 20 20 2b 20 22 d0 9a d0 be d0 bd d0 b5 + "........
0560: d1 86 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 ................
0570: 5c 6e 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b \n\n".. +
0580: 20 22 d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 86 "..............
0590: d0 b5 d0 b4 d1 83 d1 80 d0 b0 28 31 2c 20 32 29 ..........(1, 2)
05a0: 3b 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 ;\n".. +
05b0: 22 d0 a0 d0 b5 d0 b7 d1 83 d0 bb d1 8c d1 82 d0 "...............
05c0: b0 d1 82 20 3d 20 d0 9c d0 be d1 8f d0 a4 d1 83 ... = ..........
05d0: d0 bd d0 ba d1 86 d0 b8 d1 8f 28 29 3b 5c 6e 22 ..........();\n"
05e0: 0d 0a 2f 2f 64 65 62 75 67 67 65 72 3b 0d 0a 20 ..//debugger;..
05f0: 20 20 20 76 61 72 20 63 6e 74 20 3d 20 53 79 6e var cnt = Syn
0600: 74 61 78 41 6e 61 6c 79 73 69 73 2e 41 6e 61 6c taxAnalysis.Anal
0610: 79 73 65 4d 6f 64 75 6c 65 28 6d 6f 64 75 6c 65 yseModule(module
0620: 54 65 78 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 Text);..
0630: 0d 0a 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 .. //Message(
0640: 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e 6a cnt.ModuleVars.j
0650: 6f 69 6e 28 27 2c 27 29 29 3b 0d 0a 20 20 20 20 oin(','));..
0660: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 61 73 .. as
0670: 73 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 sertEquals('....
0680: d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd ................
0690: d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 .. .............
06a0: bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 ....... ........
06b0: d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bf d0 ............ ...
06c0: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 ................
06d0: 85 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 . ............!'
06e0: 2c 20 36 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 , 6, cnt.ModuleV
06f0: 61 72 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 ars.length);..
0700: 20 20 61 73 73 65 72 74 41 72 72 61 79 45 71 75 assertArrayEqu
0710: 61 6c 73 49 67 6e 6f 72 69 6e 67 4f 72 64 65 72 alsIgnoringOrder
0720: 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 ('..............
0730: d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 ........ .......
0740: b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd 20 d1 81 d0 bf ........... ....
0750: d0 b8 d1 81 d0 be d0 ba 20 d0 bf d0 b5 d1 80 d0 ........ .......
0760: b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc ............. ..
0770: d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 2c 0d 0a 20 ..........!',..
0780: 20 20 20 20 20 20 20 5b 27 d0 bc d0 9f d0 b5 d1 ['.......
0790: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 ................
07a0: 9c d0 be d0 b4 d1 83 d0 bb d1 8f 27 2c 20 27 d0 ...........', '.
07b0: 95 d1 89 d0 b5 d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 ................
07c0: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 ................
07d0: 8f 27 2c 20 27 d0 ad d0 ba d1 81 d0 bf d0 be d1 .', '...........
07e0: 80 d1 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 ................
07f0: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 2c 20 .............',
0800: 0d 0a 20 20 20 20 20 20 20 20 27 d0 ad d0 ba d1 .. '.....
0810: 81 d0 bf d0 be d1 80 d1 82 d0 bd d1 8b d0 b9 d0 ................
0820: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 27 d0 ...........', '.
0830: 9b d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b d0 ................
0840: b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 .............',
0850: 27 d0 9f d1 80 d0 be d1 81 d1 82 d0 be d0 9f d0 '...............
0860: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 ................
0870: 8f 27 5d 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 .'], cnt.ModuleV
0880: 61 72 73 29 3b 0d 0a 0d 0a 20 20 20 20 61 73 73 ars);.... ass
0890: 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 ertEquals('.....
08a0: bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 ................
08b0: be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb . ..............
08c0: d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 ...... .........
08d0: 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bc d0 b5 ........... ....
08e0: d1 82 d0 be d0 b4 d0 be d0 b2 21 27 2c 20 32 2c ..........!', 2,
08f0: 20 63 6e 74 2e 4d 65 74 68 6f 64 73 2e 6c 65 6e cnt.Methods.len
0900: 67 74 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d gth);.. .
0910: 0a 20 20 20 20 61 73 73 65 72 74 55 6e 64 65 66 . assertUndef
0920: 69 6e 65 64 28 63 6e 74 2e 67 65 74 4d 65 74 68 ined(cnt.getMeth
0930: 6f 64 42 79 4e 61 6d 65 28 27 d0 9d d0 b5 d1 81 odByName('......
0940: d1 83 d1 89 d0 b5 d1 81 d1 82 d0 b2 d1 83 d1 8e ................
0950: d1 89 d0 b8 d0 b9 d0 9c d0 b5 d1 82 d0 be d0 b4 ................
0960: 27 29 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 '));.. ..
0970: 76 61 72 20 6d 65 74 68 6f 64 20 3d 20 63 6e 74 var method = cnt
0980: 2e 67 65 74 4d 65 74 68 6f 64 42 79 4e 61 6d 65 .getMethodByName
0990: 28 27 d0 9c d0 be d1 8f d0 a4 d1 83 d0 bd d0 ba ('..............
09a0: d1 86 d0 b8 d1 8f 27 29 3b 0d 0a 20 20 20 20 61 ......');.. a
09b0: 73 73 65 72 74 4e 6f 74 55 6e 64 65 66 69 6e 65 ssertNotUndefine
09c0: 64 28 22 d0 9c d0 b5 d1 82 d0 be d0 b4 20 d0 9c d(".......... ..
09d0: d0 be d1 8f d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 ................
09e0: d1 8f 20 d0 bd d0 b5 20 d0 bd d0 b0 d0 b9 d0 b4 .. .... ........
09f0: d0 b5 d0 bd 22 2c 20 6d 65 74 68 6f 64 29 3b 20 ....", method);
0a00: 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 41 .. assertA
0a10: 72 72 61 79 45 71 75 61 6c 73 49 67 6e 6f 72 69 rrayEqualsIgnori
0a20: 6e 67 4f 72 64 65 72 28 5b 27 d0 9f d0 b0 d1 80 ngOrder(['......
0a30: d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 a4 d1 83 d0 bd ................
0a40: d0 ba d1 86 d0 b8 d0 b8 27 5d 2c 20 6d 65 74 68 ........'], meth
0a50: 6f 64 2e 50 61 72 61 6d 73 29 3b 0d 0a 20 20 20 od.Params);..
0a60: 20 61 73 73 65 72 74 46 61 6c 73 65 28 6d 65 74 assertFalse(met
0a70: 68 6f 64 2e 49 73 50 72 6f 63 29 0d 0a 0d 0a 20 hod.IsProc)....
0a80: 20 20 20 76 61 72 20 70 72 6f 63 20 3d 20 63 6e var proc = cn
0a90: 74 2e 67 65 74 4d 65 74 68 6f 64 42 79 4e 61 6d t.getMethodByNam
0aa0: 65 28 27 d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 e('.............
0ab0: 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 27 29 3b 0d 0a ...........');..
0ac0: 20 20 20 20 61 73 73 65 72 74 4e 6f 74 4e 75 6c assertNotNul
0ad0: 6c 28 22 d0 9c d0 b5 d1 82 d0 be d0 b4 20 d0 9c l(".......... ..
0ae0: d0 be d1 8f d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 ................
0af0: d1 83 d1 80 d0 b0 20 d0 bd d0 b5 20 d0 bd d0 b0 ...... .... ....
0b00: d0 b9 d0 b4 d0 b5 d0 bd 22 2c 20 70 72 6f 63 29 ........", proc)
0b10: 3b 20 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 ; .. asser
0b20: 74 41 72 72 61 79 45 71 75 61 6c 73 49 67 6e 6f tArrayEqualsIgno
0b30: 72 69 6e 67 4f 72 64 65 72 28 5b 27 d0 9f d0 b0 ringOrder(['....
0b40: d1 80 d0 b0 d0 bc 31 27 2c 20 27 d0 9f d0 b0 d1 ......1', '.....
0b50: 80 d0 b0 d0 bc 32 27 5d 2c 20 70 72 6f 63 2e 50 .....2'], proc.P
0b60: 61 72 61 6d 73 29 3b 0d 0a 20 20 20 20 61 73 73 arams);.. ass
0b70: 65 72 74 54 72 75 65 28 70 72 6f 63 2e 49 73 50 ertTrue(proc.IsP
0b80: 72 6f 63 29 0d 0a 20 20 20 20 0d 0a 7d 0d 0a 0d roc).. ..}...
0b90: 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 .function macros
0ba0: 54 65 73 74 41 6e 61 6c 79 73 65 4d 6f 64 75 6c TestAnalyseModul
0bb0: 65 32 5f d0 a2 d0 be d0 bb d1 8c d0 ba d0 be d0 e2_.............
0bc0: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 ................
0bd0: 8b d0 b5 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 ...() {.... v
0be0: 61 72 20 6d 6f 64 75 6c 65 54 65 78 74 20 3d 20 ar moduleText =
0bf0: 22 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 "".. + ".
0c00: 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 bc d0 9f d0 b5 ......... ......
0c10: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
0c20: d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f 3b 5c 6e 5c ............;\n\
0c30: 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 n".. + ".
0c40: 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 95 d1 89 d0 b5 ......... ......
0c50: d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 b5 d1 80 d0 b5 ................
0c60: d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 3b 5c 6e 22 ............;\n"
0c70: 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f d0 .. + "...
0c80: b5 d1 80 d0 b5 d0 bc 20 d0 ad d0 ba d1 81 d0 bf ....... ........
0c90: d0 be d1 80 d1 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 ................
0ca0: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
0cb0: 20 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 3b ..............;
0cc0: 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 \n".. + "
0cd0: d0 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 ad d0 ba d1 .......... .....
0ce0: 81 d0 bf d0 be d1 80 d1 82 d0 bd d1 8b d0 b9 d0 ................
0cf0: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 5b 31 30 5d 20 ...........[10]
0d00: d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 2c 20 ..............,
0d10: d0 9b d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b ................
0d20: d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 5b 33 ..............[3
0d30: 5d 2c 20 d0 9f d1 80 d0 be d1 81 d1 82 d0 be d0 ], .............
0d40: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 ................
0d50: b0 d1 8f 3b 5c 6e 22 0d 0a 0d 0a 20 20 20 20 76 ...;\n".... v
0d60: 61 72 20 63 6e 74 20 3d 20 53 79 6e 74 61 78 41 ar cnt = SyntaxA
0d70: 6e 61 6c 79 73 69 73 2e 41 6e 61 6c 79 73 65 4d nalysis.AnalyseM
0d80: 6f 64 75 6c 65 28 6d 6f 64 75 6c 65 54 65 78 74 odule(moduleText
0d90: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 );..
0da0: 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 61 .. assertEqua
0db0: 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 ls('............
0dc0: d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 .......... .....
0dd0: 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be 20 ...............
0de0: d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 ................
0df0: d0 b2 d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 .... ...........
0e00: be d0 b2 21 27 2c 20 30 2c 20 63 6e 74 2e 4d 65 ...!', 0, cnt.Me
0e10: 74 68 6f 64 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a thods.length);..
0e20: 20 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 .. assert
0e30: 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 Equals('........
0e40: d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 .............. .
0e50: be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 ................
0e60: bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 ... ............
0e70: d1 81 d1 82 d0 b2 d0 be 20 d0 bf d0 b5 d1 80 d0 ........ .......
0e80: b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc ............. ..
0e90: d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 2c 20 36 2c ..........!', 6,
0ea0: 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e cnt.ModuleVars.
0eb0: 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 20 61 73 length);.. as
0ec0: 73 65 72 74 41 72 72 61 79 45 71 75 61 6c 73 49 sertArrayEqualsI
0ed0: 67 6e 6f 72 69 6e 67 4f 72 64 65 72 28 27 d0 9d gnoringOrder('..
0ee0: d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c ................
0ef0: d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 .... ...........
0f00: b5 d0 bb d0 b5 d0 bd 20 d1 81 d0 bf d0 b8 d1 81 ....... ........
0f10: d0 be d0 ba 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 .... ...........
0f20: b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 be d0 b4 ......... ......
0f30: d1 83 d0 bb d1 8f 21 27 2c 0d 0a 20 20 20 20 20 ......!',..
0f40: 20 20 20 5b 27 d0 bc d0 9f d0 b5 d1 80 d0 b5 d0 ['...........
0f50: bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c d0 be d0 ................
0f60: b4 d1 83 d0 bb d1 8f 27 2c 20 27 d0 95 d1 89 d0 .......', '.....
0f70: b5 d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 b5 d1 80 d0 ................
0f80: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 2c 20 .............',
0f90: 27 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 d0 '...............
0fa0: bd d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 ................
0fb0: b5 d0 bd d0 bd d0 b0 d1 8f 27 2c 20 0d 0a 20 20 .........', ..
0fc0: 20 20 20 20 20 20 27 d0 ad d0 ba d1 81 d0 bf d0 '.........
0fd0: be d1 80 d1 82 d0 bd d1 8b d0 b9 d0 9c d0 b0 d1 ................
0fe0: 81 d1 81 d0 b8 d0 b2 27 2c 20 27 d0 9b d0 be d0 .......', '.....
0ff0: ba d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 d0 9c d0 ................
1000: b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 27 d0 9f d1 .........', '...
1010: 80 d0 be d1 81 d1 82 d0 be d0 9f d0 b5 d1 80 d0 ................
1020: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 5d 2c .............'],
1030: 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 72 73 29 cnt.ModuleVars)
1040: 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e ;..}....function
1050: 20 6d 61 63 72 6f 73 54 65 73 74 41 6e 61 6c 79 macrosTestAnaly
1060: 73 65 4d 6f 64 75 6c 65 33 5f d0 9f d0 b5 d1 80 seModule3_......
1070: d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9c ................
1080: d0 be d0 b4 d1 83 d0 bb d1 8f d0 92 d0 9e d0 b4 ................
1090: d0 bd d1 83 d0 a1 d1 82 d1 80 d0 be d0 ba d1 83 ................
10a0: 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 61 72 20 () {.... var
10b0: 6d 6f 64 75 6c 65 54 65 78 74 20 3d 20 22 22 0d moduleText = "".
10c0: 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f d0 b5 . + "....
10d0: d1 80 d0 b5 d0 bc 20 d0 bc d0 9f d0 b5 d1 80 d0 ...... .........
10e0: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c d0 ................
10f0: be d0 b4 d1 83 d0 bb d1 8f 2c 20 d0 95 d1 89 d0 ........., .....
1100: b5 d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 b5 d1 80 d0 ................
1110: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 2c 20 d0 ............., .
1120: ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 d0 bd d0 ................
1130: b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 ................
1140: bd d0 bd d0 b0 d1 8f 20 d0 ad d0 ba d1 81 d0 bf ....... ........
1150: d0 be d1 80 d1 82 2c 22 0d 0a 20 20 20 20 20 20 ......,"..
1160: 20 20 2b 20 22 d0 ad d0 ba d1 81 d0 bf d0 be d1 + "...........
1170: 80 d1 82 d0 bd d1 8b d0 b9 d0 9c d0 b0 d1 81 d1 ................
1180: 81 d0 b8 d0 b2 5b 31 30 5d 20 d0 ad d0 ba d1 81 .....[10] ......
1190: d0 bf d0 be d1 80 d1 82 2c 20 d0 9b d0 be d0 ba ........, ......
11a0: d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 d0 9c d0 b0 ................
11b0: d1 81 d1 81 d0 b8 d0 b2 5b 33 5d 2c 20 d0 9f d1 ........[3], ...
11c0: 80 d0 be d1 81 d1 82 d0 be d0 9f d0 b5 d1 80 d0 ................
11d0: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 22 3b 0d .............";.
11e0: 0a 2f 2f 64 65 62 75 67 67 65 72 3b 0d 0a 20 20 .//debugger;..
11f0: 20 20 76 61 72 20 63 6e 74 20 3d 20 53 79 6e 74 var cnt = Synt
1200: 61 78 41 6e 61 6c 79 73 69 73 2e 41 6e 61 6c 79 axAnalysis.Analy
1210: 73 65 4d 6f 64 75 6c 65 28 6d 6f 64 75 6c 65 54 seModule(moduleT
1220: 65 78 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 ext);..
1230: 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 45 .. assertE
1240: 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 quals('.........
1250: b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be ............. ..
1260: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd ................
1270: d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 .. .............
1280: 81 d1 82 d0 b2 d0 be 20 d0 bc d0 b5 d1 82 d0 be ....... ........
1290: d0 b4 d0 be d0 b2 21 27 2c 20 30 2c 20 63 6e 74 ......!', 0, cnt
12a0: 2e 4d 65 74 68 6f 64 73 2e 6c 65 6e 67 74 68 29 .Methods.length)
12b0: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 61 73 73 ;.. .. ass
12c0: 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 ertEquals('.....
12d0: bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 ................
12e0: be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb . ..............
12f0: d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 ...... .........
1300: 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bf d0 b5 ........... ....
1310: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 ................
1320: 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 2c ............!',
1330: 20 36 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 6, cnt.ModuleVa
1340: 72 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 rs.length);..
1350: 20 61 73 73 65 72 74 41 72 72 61 79 45 71 75 61 assertArrayEqua
1360: 6c 73 49 67 6e 6f 72 69 6e 67 4f 72 64 65 72 28 lsIgnoringOrder(
1370: 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 '...............
1380: bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 ....... ........
1390: d0 b4 d0 b5 d0 bb d0 b5 d0 bd 20 d1 81 d0 bf d0 .......... .....
13a0: b8 d1 81 d0 be d0 ba 20 d0 bf d0 b5 d1 80 d0 b5 ....... ........
13b0: d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 ............ ...
13c0: be d0 b4 d1 83 d0 bb d1 8f 21 27 2c 0d 0a 20 20 .........!',..
13d0: 20 20 20 20 20 20 5b 27 d0 bc d0 9f d0 b5 d1 80 ['........
13e0: d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c ................
13f0: d0 be d0 b4 d1 83 d0 bb d1 8f 27 2c 20 27 d0 95 ..........', '..
1400: d1 89 d0 b5 d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 b5 ................
1410: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
1420: 27 2c 20 27 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 ', '............
1430: d1 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 ................
1440: d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 2c 20 0d ............', .
1450: 0a 20 20 20 20 20 20 20 20 27 d0 ad d0 ba d1 81 . '......
1460: d0 bf d0 be d1 80 d1 82 d0 bd d1 8b d0 b9 d0 9c ................
1470: d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 27 d0 9b ..........', '..
1480: d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 ................
1490: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 27 ............', '
14a0: d0 9f d1 80 d0 be d1 81 d1 82 d0 be d0 9f d0 b5 ................
14b0: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
14c0: 27 5d 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 '], cnt.ModuleVa
14d0: 72 73 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 rs);..}....funct
14e0: 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 74 41 6e ion macrosTestAn
14f0: 61 6c 79 73 65 4d 6f 64 75 6c 65 34 5f d0 9f d0 alyseModule4_...
1500: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 ................
1510: b5 d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f d0 9d d0 ................
1520: b0 d0 9d d0 b5 d1 81 d0 ba d0 be d0 bb d1 8c d0 ................
1530: ba d0 b8 d1 85 d0 a1 d1 82 d1 80 d0 be d0 ba d0 ................
1540: b0 d1 85 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 2f ...() {.... /
1550: 2f 20 d0 a2 d0 b5 d1 81 d1 82 20 d1 81 d0 bb d0 / ........ .....
1560: be d0 bc d0 b0 d0 bd 2e 0d 0a 0d 0a 20 20 20 20 ............
1570: 76 61 72 20 6d 6f 64 75 6c 65 54 65 78 74 20 3d var moduleText =
1580: 20 22 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 "".. + "
1590: d0 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 bc d0 9f d0 .......... .....
15a0: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 ................
15b0: 8f d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f 2c 20 d0 ............., .
15c0: 95 d1 89 d0 b5 d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 ................
15d0: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 ................
15e0: 8f 2c 20 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 ., .............
15f0: 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 ................
1600: bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 20 d0 ad d0 ba ........... ....
1610: d1 81 d0 bf d0 be d1 80 d1 82 2c 5c 6e 22 0d 0a ..........,\n"..
1620: 20 20 20 20 20 20 20 20 2b 20 22 d0 ad d0 ba d1 + ".....
1630: 81 d0 bf d0 be d1 80 d1 82 d0 bd d1 8b d0 b9 d0 ................
1640: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 5b 31 30 5d 20 ...........[10]
1650: d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 2c 20 ..............,
1660: d0 9b d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b ................
1670: d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 5b 33 ..............[3
1680: 5d 2c 20 d0 9f d1 80 d0 be d1 81 d1 82 d0 be d0 ], .............
1690: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 ................
16a0: b0 d1 8f 3b 22 3b 0d 0a 2f 2f 64 65 62 75 67 67 ...;";..//debugg
16b0: 65 72 3b 0d 0a 20 20 20 20 76 61 72 20 63 6e 74 er;.. var cnt
16c0: 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 = SyntaxAnalysi
16d0: 73 2e 41 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 28 s.AnalyseModule(
16e0: 6d 6f 64 75 6c 65 54 65 78 74 29 3b 0d 0a 20 20 moduleText);..
16f0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
1700: 2f 2f 4d 65 73 73 61 67 65 28 63 6e 74 2e 4d 6f //Message(cnt.Mo
1710: 64 75 6c 65 56 61 72 73 2e 6a 6f 69 6e 28 27 2c duleVars.join(',
1720: 20 27 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 '));..
1730: 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 45 .. assertE
1740: 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 quals('.........
1750: b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be ............. ..
1760: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd ................
1770: d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 .. .............
1780: 81 d1 82 d0 b2 d0 be 20 d0 bc d0 b5 d1 82 d0 be ....... ........
1790: d0 b4 d0 be d0 b2 21 27 2c 20 30 2c 20 63 6e 74 ......!', 0, cnt
17a0: 2e 4d 65 74 68 6f 64 73 2e 6c 65 6e 67 74 68 29 .Methods.length)
17b0: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 61 73 73 ;.. .. ass
17c0: 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 ertEquals('.....
17d0: bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 ................
17e0: be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb . ..............
17f0: d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 ...... .........
1800: 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bf d0 b5 ........... ....
1810: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 ................
1820: 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 2c ............!',
1830: 20 36 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 6, cnt.ModuleVa
1840: 72 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 rs.length);..
1850: 20 61 73 73 65 72 74 41 72 72 61 79 45 71 75 61 assertArrayEqua
1860: 6c 73 49 67 6e 6f 72 69 6e 67 4f 72 64 65 72 28 lsIgnoringOrder(
1870: 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 '...............
1880: bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 ....... ........
1890: d0 b4 d0 b5 d0 bb d0 b5 d0 bd 20 d1 81 d0 bf d0 .......... .....
18a0: b8 d1 81 d0 be d0 ba 20 d0 bf d0 b5 d1 80 d0 b5 ....... ........
18b0: d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 ............ ...
18c0: be d0 b4 d1 83 d0 bb d1 8f 21 27 2c 0d 0a 20 20 .........!',..
18d0: 20 20 20 20 20 20 5b 27 d0 bc d0 9f d0 b5 d1 80 ['........
18e0: d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c ................
18f0: d0 be d0 b4 d1 83 d0 bb d1 8f 27 2c 20 27 d0 95 ..........', '..
1900: d1 89 d0 b5 d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 b5 ................
1910: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
1920: 27 2c 20 27 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 ', '............
1930: d1 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 ................
1940: d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 2c 20 0d ............', .
1950: 0a 20 20 20 20 20 20 20 20 27 d0 ad d0 ba d1 81 . '......
1960: d0 bf d0 be d1 80 d1 82 d0 bd d1 8b d0 b9 d0 9c ................
1970: d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 27 d0 9b ..........', '..
1980: d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 ................
1990: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 27 ............', '
19a0: d0 9f d1 80 d0 be d1 81 d1 82 d0 be d0 9f d0 b5 ................
19b0: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
19c0: 27 5d 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 '], cnt.ModuleVa
19d0: 72 73 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 rs);..}....funct
19e0: 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 74 41 6e ion macrosTestAn
19f0: 61 6c 79 73 65 4d 6f 64 75 6c 65 35 5f d0 9c d0 alyseModule5_...
1a00: be d0 b4 d1 83 d0 bb d1 8c d0 91 d0 b5 d0 b7 d0 ................
1a10: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 ................
1a20: 8b d1 85 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 ...() {.... v
1a30: 61 72 20 6d 6f 64 75 6c 65 54 65 78 74 20 3d 20 ar moduleText =
1a40: 22 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 "".. + ".
1a50: 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 ................
1a60: b0 20 d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 86 . ..............
1a70: d0 b5 d0 b4 d1 83 d1 80 d0 b0 28 d0 9f d0 b0 d1 ..........(.....
1a80: 80 d0 b0 d0 bc 31 2c 20 d0 9f d0 b0 d1 80 d0 b0 .....1, ........
1a90: d0 bc 32 29 5c 6e 22 0d 0a 20 20 20 20 20 20 20 ..2)\n"..
1aa0: 20 2b 20 22 09 d0 9f d0 b5 d1 80 d0 b5 d0 bc 20 + "...........
1ab0: d0 9c d0 be d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc ................
1ac0: 31 3b 5c 6e 5c 6e 22 09 0d 0a 20 20 20 20 20 20 1;\n\n"...
1ad0: 20 20 2b 20 22 09 d0 9c d0 be d1 8f d0 9f d0 b5 + "...........
1ae0: d1 80 d0 b5 d0 bc 31 20 3d 20 34 32 3b 5c 6e 5c ......1 = 42;\n\
1af0: 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 09 n".. + ".
1b00: d0 90 d0 b2 d1 82 d0 be d0 bc d0 b0 d1 82 d0 b8 ................
1b10: d1 87 d0 b5 d1 81 d0 ba d0 b0 d1 8f d0 9f d0 b5 ................
1b20: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
1b30: 20 3d 20 31 30 3b 5c 6e 22 09 0d 0a 20 20 20 20 = 10;\n"...
1b40: 20 20 20 20 2b 20 22 09 d0 bc d0 9f d0 b5 d1 80 + ".........
1b50: d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c ................
1b60: d0 be d0 b4 d1 83 d0 bb d1 8f 20 3d 20 5c 22 5c .......... = \"\
1b70: 22 3b 5c 6e 22 09 0d 0a 20 20 20 20 20 20 20 20 ";\n"...
1b80: 2b 20 22 d0 9a d0 be d0 bd d0 b5 d1 86 d0 9f d1 + ".............
1b90: 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 5c ...............\
1ba0: 6e 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 n\n".. +
1bb0: 22 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 20 "..............
1bc0: d0 9c d0 be d1 8f d0 a4 d1 83 d0 bd d0 ba d1 86 ................
1bd0: d0 b8 d1 8f 28 d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 ....(...........
1be0: b5 d1 82 d1 80 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 ................
1bf0: b8 d0 b8 29 5c 6e 22 0d 0a 20 20 20 20 20 20 20 ...)\n"..
1c00: 20 2b 20 22 09 d0 a1 d0 be d0 be d0 b1 d1 89 d0 + "............
1c10: b8 d1 82 d1 8c 28 d0 bc d0 9f d0 b5 d1 80 d0 b5 .....(..........
1c20: d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c d0 be ................
1c30: d0 b4 d1 83 d0 bb d1 8f 29 3b 09 5c 6e 22 0d 0a ........);.\n"..
1c40: 20 20 20 20 20 20 20 20 2b 20 22 09 d0 92 d0 be + ".....
1c50: d0 b7 d0 b2 d1 80 d0 b0 d1 82 20 d0 98 d1 81 d1 .......... .....
1c60: 82 d0 b8 d0 bd d0 b0 3b 09 5c 6e 22 0d 0a 20 20 .......;.\n"..
1c70: 20 20 20 20 20 20 2b 20 22 d0 9a d0 be d0 bd d0 + ".......
1c80: b5 d1 86 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 ................
1c90: b8 5c 6e 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 .\n\n"..
1ca0: 2b 20 22 d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 + ".............
1cb0: 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 28 31 2c 20 32 ...........(1, 2
1cc0: 29 3b 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b );\n".. +
1cd0: 20 22 d0 a0 d0 b5 d0 b7 d1 83 d0 bb d1 8c d1 82 "..............
1ce0: d0 b0 d1 82 20 3d 20 d0 9c d0 be d1 8f d0 a4 d1 .... = .........
1cf0: 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 28 29 3b 5c 6e ...........();\n
1d00: 22 0d 0a 0d 0a 20 20 20 20 76 61 72 20 63 6e 74 ".... var cnt
1d10: 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 = SyntaxAnalysi
1d20: 73 2e 41 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 28 s.AnalyseModule(
1d30: 6d 6f 64 75 6c 65 54 65 78 74 29 3b 0d 0a 20 20 moduleText);..
1d40: 20 20 2f 2f 4d 65 73 73 61 67 65 28 63 6e 74 2e //Message(cnt.
1d50: 4d 6f 64 75 6c 65 56 61 72 73 2e 6a 6f 69 6e 28 ModuleVars.join(
1d60: 27 2c 27 29 29 3b 0d 0a 2f 2f 64 65 62 75 67 67 ','));..//debugg
1d70: 65 72 3b 20 20 20 20 20 20 20 20 0d 0a 20 20 20 er; ..
1d80: 20 61 73 73 65 72 74 45 71 75 61 6c 73 28 27 d0 assertEquals('.
1d90: 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 ................
1da0: 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 ..... ..........
1db0: d0 b5 d0 bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 .......... .....
1dc0: bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 ...............
1dd0: d0 bc d0 b5 d1 82 d0 be d0 b4 d0 be d0 b2 21 27 ..............!'
1de0: 2c 20 32 2c 20 63 6e 74 2e 4d 65 74 68 6f 64 73 , 2, cnt.Methods
1df0: 2e 6c 65 6e 67 74 68 29 3b 20 20 20 20 0d 0a 20 .length); ..
1e00: 20 20 20 61 73 73 65 72 74 45 71 75 61 6c 73 28 assertEquals(
1e10: 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 '...............
1e20: bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 ....... ........
1e30: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be 20 d0 ba d0 ............ ...
1e40: be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 ................
1e50: be 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd . ..............
1e60: d0 bd d1 8b d1 85 20 d0 bc d0 be d0 b4 d1 83 d0 ...... .........
1e70: bb d1 8f 21 27 2c 20 30 2c 20 63 6e 74 2e 4d 6f ...!', 0, cnt.Mo
1e80: 64 75 6c 65 56 61 72 73 2e 6c 65 6e 67 74 68 29 duleVars.length)
1e90: 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e ;..}....function
1ea0: 20 6d 61 63 72 6f 73 54 65 73 74 41 6e 61 6c 79 macrosTestAnaly
1eb0: 73 65 4d 6f 64 75 6c 65 36 5f d0 9c d0 b5 d1 82 seModule6_......
1ec0: d0 be d0 b4 d1 8b d0 92 d0 9e d0 b4 d0 bd d1 83 ................
1ed0: d0 a1 d1 82 d1 80 d0 be d0 ba d1 83 28 29 20 7b ............() {
1ee0: 0d 0a 0d 0a 20 20 20 20 76 61 72 20 6d 6f 64 75 .... var modu
1ef0: 6c 65 54 65 78 74 20 3d 20 22 22 0d 0a 20 20 20 leText = ""..
1f00: 20 20 20 20 20 2b 20 22 d0 9f d1 80 d0 be d1 86 + "........
1f10: d0 b5 d0 b4 d1 83 d1 80 d0 b0 20 d0 9c d0 be d1 .......... .....
1f20: 8f d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 ................
1f30: 80 d0 b0 28 d0 9f d0 b0 d1 80 d0 b0 d0 bc 31 2c ...(..........1,
1f40: 20 d0 9f d0 b0 d1 80 d0 b0 d0 bc 32 29 20 22 0d ..........2) ".
1f50: 0a 20 20 20 20 20 20 20 20 2b 20 22 09 d0 9f d0 . + "....
1f60: b5 d1 80 d0 b5 d0 bc 20 d0 9c d0 be d1 8f d0 9f ....... ........
1f70: d0 b5 d1 80 d0 b5 d0 bc 31 3b 20 22 09 0d 0a 20 ........1; "...
1f80: 20 20 20 20 20 20 20 2b 20 22 09 d0 9c d0 be d1 + "......
1f90: 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc 31 20 3d 20 34 ...........1 = 4
1fa0: 32 3b 20 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 2; ".. +
1fb0: 22 09 d0 90 d0 b2 d1 82 d0 be d0 bc d0 b0 d1 82 "...............
1fc0: d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 b0 d1 8f d0 9f ................
1fd0: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 ................
1fe0: d1 8f 20 3d 20 31 30 3b 20 22 09 0d 0a 20 20 20 .. = 10; "...
1ff0: 20 20 20 20 20 2b 20 22 09 d0 bc d0 9f d0 b5 d1 + "........
2000: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 ................
2010: 9c d0 be d0 b4 d1 83 d0 bb d1 8f 20 3d 20 5c 22 ........... = \"
2020: 5c 22 3b 20 22 09 0d 0a 20 20 20 20 20 20 20 20 \"; "...
2030: 2b 20 22 d0 9a d0 be d0 bd d0 b5 d1 86 d0 9f d1 + ".............
2040: 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 20 ...............
2050: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 a4 ".. + "..
2060: d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 20 d0 9c d0 ............ ...
2070: be d1 8f d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 ................
2080: 8f 28 d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 .(..............
2090: d1 80 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 ................
20a0: 29 20 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 ) ".. + "
20b0: 09 d0 a1 d0 be d0 be d0 b1 d1 89 d0 b8 d1 82 d1 ................
20c0: 8c 28 d0 bc d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 .(..............
20d0: d0 bd d0 bd d0 b0 d1 8f d0 9c d0 be d0 b4 d1 83 ................
20e0: d0 bb d1 8f 29 3b 20 22 0d 0a 20 20 20 20 20 20 ....); "..
20f0: 20 20 2b 20 22 09 d0 92 d0 be d0 b7 d0 b2 d1 80 + "...........
2100: d0 b0 d1 82 20 d0 98 d1 81 d1 82 d0 b8 d0 bd d0 .... ...........
2110: b0 3b 20 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 .; ".. +
2120: 22 d0 9a d0 be d0 bd d0 b5 d1 86 d0 a4 d1 83 d0 "...............
2130: bd d0 ba d1 86 d0 b8 d0 b8 20 22 0d 0a 20 20 20 ......... "..
2140: 20 20 20 20 20 2b 20 22 d0 9c d0 be d1 8f d0 9f + "........
2150: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 ................
2160: 28 31 2c 20 32 29 3b 20 22 0d 0a 20 20 20 20 20 (1, 2); "..
2170: 20 20 20 2b 20 22 d0 a0 d0 b5 d0 b7 d1 83 d0 bb + "..........
2180: d1 8c d1 82 d0 b0 d1 82 20 3d 20 d0 9c d0 be d1 ........ = .....
2190: 8f d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 28 ...............(
21a0: 29 3b 20 22 0d 0a 0d 0a 20 20 20 20 76 61 72 20 ); ".... var
21b0: 63 6e 74 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c cnt = SyntaxAnal
21c0: 79 73 69 73 2e 41 6e 61 6c 79 73 65 4d 6f 64 75 ysis.AnalyseModu
21d0: 6c 65 28 6d 6f 64 75 6c 65 54 65 78 74 29 3b 0d le(moduleText);.
21e0: 0a 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 ... assertEqu
21f0: 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 als('...........
2200: b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf ........... ....
2210: d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be ................
2220: 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 ...............
2230: 82 d0 b2 d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 ..... ..........
2240: d0 be d0 b2 21 27 2c 20 32 2c 20 63 6e 74 2e 4d ....!', 2, cnt.M
2250: 65 74 68 6f 64 73 2e 6c 65 6e 67 74 68 29 3b 20 ethods.length);
2260: 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 45 .. assertE
2270: 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 quals('.........
2280: b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be ............. ..
2290: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd ................
22a0: d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 .. .............
22b0: 81 d1 82 d0 b2 d0 be 20 d0 bf d0 b5 d1 80 d0 b5 ....... ........
22c0: d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 ............ ...
22d0: be d0 b4 d1 83 d0 bb d1 8f 21 27 2c 20 30 2c 20 .........!', 0,
22e0: 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e 6c cnt.ModuleVars.l
22f0: 65 6e 67 74 68 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 ength);..}....fu
2300: 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 nction macrosTes
2310: 74 41 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 37 5f tAnalyseModule7_
2320: d0 9c d0 be d0 b4 d1 83 d0 bb d1 8c d0 92 d0 9e ................
2330: d0 b4 d0 bd d1 83 d0 a1 d1 82 d1 80 d0 be d0 ba ................
2340: d1 83 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 61 ..() {.... va
2350: 72 20 6d 6f 64 75 6c 65 54 65 78 74 20 3d 20 22 r moduleText = "
2360: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f ".. + "..
2370: d0 b5 d1 80 d0 b5 d0 bc 20 d0 bc d0 9f d0 b5 d1 ........ .......
2380: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 ................
2390: 9c d0 be d0 b4 d1 83 d0 bb d1 8f 3b 20 22 0d 0a ...........; "..
23a0: 20 20 20 20 20 20 20 20 2b 20 22 d0 9f d0 b5 d1 + ".....
23b0: 80 d0 b5 d0 bc 20 d0 95 d1 89 d0 b5 d0 9e d0 b4 ..... ..........
23c0: d0 bd d0 b0 d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 ................
23d0: d0 bd d0 bd d0 b0 d1 8f 3b 20 22 0d 0a 20 20 20 ........; "..
23e0: 20 20 20 20 20 2b 20 22 d0 9f d0 b5 d1 80 d0 b5 + "........
23f0: d0 bc 20 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 .. .............
2400: 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 ................
2410: bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 20 d0 ad d0 ba ........... ....
2420: d1 81 d0 bf d0 be d1 80 d1 82 3b 20 22 0d 0a 20 ..........; "..
2430: 20 20 20 20 20 20 20 2b 20 22 d0 9f d0 b5 d1 80 + "......
2440: d0 b5 d0 bc 20 d0 ad d0 ba d1 81 d0 bf d0 be d1 .... ...........
2450: 80 d1 82 d0 bd d1 8b d0 b9 d0 9c d0 b0 d1 81 d1 ................
2460: 81 d0 b8 d0 b2 5b 31 30 5d 20 d0 ad d0 ba d1 81 .....[10] ......
2470: d0 bf d0 be d1 80 d1 82 2c 20 d0 9b d0 be d0 ba ........, ......
2480: d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 d0 9c d0 b0 ................
2490: d1 81 d1 81 d0 b8 d0 b2 5b 33 5d 2c 20 d0 9f d1 ........[3], ...
24a0: 80 d0 be d1 81 d1 82 d0 be d0 9f d0 b5 d1 80 d0 ................
24b0: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 3b 20 22 .............; "
24c0: 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f d1 .. + "...
24d0: 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 20 ...............
24e0: d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 86 d0 b5 ................
24f0: d0 b4 d1 83 d1 80 d0 b0 28 d0 9f d0 b0 d1 80 d0 ........(.......
2500: b0 d0 bc 31 2c 20 d0 9f d0 b0 d1 80 d0 b0 d0 bc ...1, ..........
2510: 32 29 20 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 2) ".. +
2520: 22 09 d0 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 9c d0 "........... ...
2530: be d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc 31 3b 20 .............1;
2540: 22 09 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 09 "... + ".
2550: d0 9c d0 be d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc ................
2560: 31 20 3d 20 34 32 3b 20 22 0d 0a 20 20 20 20 20 1 = 42; "..
2570: 20 20 20 2b 20 22 09 d0 90 d0 b2 d1 82 d0 be d0 + "..........
2580: bc d0 b0 d1 82 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 ................
2590: b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 ................
25a0: bd d0 bd d0 b0 d1 8f 20 3d 20 31 30 3b 20 22 09 ....... = 10; ".
25b0: 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 09 d0 bc .. + "...
25c0: d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd ................
25d0: d0 b0 d1 8f d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f ................
25e0: 20 3d 20 5c 22 5c 22 3b 20 22 09 0d 0a 20 20 20 = \"\"; "...
25f0: 20 20 20 20 20 2b 20 22 d0 9a d0 be d0 bd d0 b5 + "........
2600: d1 86 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 ................
2610: d1 80 d1 8b 20 22 0d 0a 20 20 20 20 20 20 20 20 .... "..
2620: 2b 20 22 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 + ".............
2630: 8f 20 d0 9c d0 be d1 8f d0 a4 d1 83 d0 bd d0 ba . ..............
2640: d1 86 d0 b8 d1 8f 28 d0 9f d0 b0 d1 80 d0 b0 d0 ......(.........
2650: bc d0 b5 d1 82 d1 80 d0 a4 d1 83 d0 bd d0 ba d1 ................
2660: 86 d0 b8 d0 b8 29 20 22 0d 0a 20 20 20 20 20 20 .....) "..
2670: 20 20 2b 20 22 09 d0 a1 d0 be d0 be d0 b1 d1 89 + "...........
2680: d0 b8 d1 82 d1 8c 28 d0 bc d0 9f d0 b5 d1 80 d0 ......(.........
2690: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f d0 9c d0 ................
26a0: be d0 b4 d1 83 d0 bb d1 8f 29 3b 20 22 0d 0a 20 .........); "..
26b0: 20 20 20 20 20 20 20 2b 20 22 09 d0 92 d0 be d0 + "......
26c0: b7 d0 b2 d1 80 d0 b0 d1 82 20 d0 98 d1 81 d1 82 ......... ......
26d0: d0 b8 d0 bd d0 b0 3b 09 20 22 0d 0a 20 20 20 20 ......;. "..
26e0: 20 20 20 20 2b 20 22 d0 9a d0 be d0 bd d0 b5 d1 + ".........
26f0: 86 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 20 ...............
2700: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9c ".. + "..
2710: d0 be d1 8f d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 ................
2720: d1 83 d1 80 d0 b0 28 31 2c 20 32 29 3b 20 22 0d ......(1, 2); ".
2730: 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 a0 d0 b5 . + "....
2740: d0 b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 20 3d .............. =
2750: 20 d0 9c d0 be d1 8f d0 a4 d1 83 d0 bd d0 ba d1 ...............
2760: 86 d0 b8 d1 8f 28 29 3b 22 0d 0a 0d 0a 2f 2f 64 .....();"....//d
2770: 65 62 75 67 67 65 72 3b 20 20 20 20 20 20 20 20 ebugger;
2780: 0d 0a 20 20 20 20 76 61 72 20 63 6e 74 20 3d 20 .. var cnt =
2790: 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 41 SyntaxAnalysis.A
27a0: 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 28 6d 6f 64 nalyseModule(mod
27b0: 75 6c 65 54 65 78 74 29 3b 0d 0a 20 20 20 20 2f uleText);.. /
27c0: 2f 4d 65 73 73 61 67 65 28 63 6e 74 2e 4d 6f 64 /Message(cnt.Mod
27d0: 75 6c 65 56 61 72 73 2e 6a 6f 69 6e 28 27 2c 27 uleVars.join(','
27e0: 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 ));.. ..
27f0: 20 20 20 61 73 73 65 72 74 45 71 75 61 6c 73 28 assertEquals(
2800: 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 '...............
2810: bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 ....... ........
2820: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be 20 d0 ba d0 ............ ...
2830: be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 ................
2840: be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 be d0 b2 . ..............
2850: 21 27 2c 20 32 2c 20 63 6e 74 2e 4d 65 74 68 6f !', 2, cnt.Metho
2860: 64 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 ds.length);..
2870: 20 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 .. assertEqu
2880: 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 als('...........
2890: b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf ........... ....
28a0: d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be ................
28b0: 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 ...............
28c0: 82 d0 b2 d0 be 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc ..... ..........
28d0: d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 be d0 .......... .....
28e0: b4 d1 83 d0 bb d1 8f 21 27 2c 20 36 2c 20 63 6e .......!', 6, cn
28f0: 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e 6c 65 6e t.ModuleVars.len
2900: 67 74 68 29 3b 0d 0a 20 20 20 20 61 73 73 65 72 gth);.. asser
2910: 74 41 72 72 61 79 45 71 75 61 6c 73 49 67 6e 6f tArrayEqualsIgno
2920: 72 69 6e 67 4f 72 64 65 72 28 27 d0 9d d0 b5 d0 ringOrder('.....
2930: bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 ................
2940: be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb . ..............
2950: d0 b5 d0 bd 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 .... ...........
2960: ba 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd . ..............
2970: d0 bd d1 8b d1 85 20 d0 bc d0 be d0 b4 d1 83 d0 ...... .........
2980: bb d1 8f 21 27 2c 0d 0a 20 20 20 20 20 20 20 20 ...!',..
2990: 5b 27 d0 bc d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 ['..............
29a0: d0 bd d0 bd d0 b0 d1 8f d0 9c d0 be d0 b4 d1 83 ................
29b0: d0 bb d1 8f 27 2c 20 27 d0 95 d1 89 d0 b5 d0 9e ....', '........
29c0: d0 b4 d0 bd d0 b0 d0 9f d0 b5 d1 80 d0 b5 d0 bc ................
29d0: d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 2c 20 27 d0 ad ..........', '..
29e0: d0 ba d1 81 d0 bf d0 be d1 80 d1 82 d0 bd d0 b0 ................
29f0: d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd ................
2a00: d0 bd d0 b0 d1 8f 27 2c 20 0d 0a 20 20 20 20 20 ......', ..
2a10: 20 20 20 27 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 '............
2a20: d1 82 d0 bd d1 8b d0 b9 d0 9c d0 b0 d1 81 d1 81 ................
2a30: d0 b8 d0 b2 27 2c 20 27 d0 9b d0 be d0 ba d0 b0 ....', '........
2a40: d0 bb d1 8c d0 bd d1 8b d0 b9 d0 9c d0 b0 d1 81 ................
2a50: d1 81 d0 b8 d0 b2 27 2c 20 27 d0 9f d1 80 d0 be ......', '......
2a60: d1 81 d1 82 d0 be d0 9f d0 b5 d1 80 d0 b5 d0 bc ................
2a70: d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 5d 2c 20 63 6e ..........'], cn
2a80: 74 2e 4d 6f 64 75 6c 65 56 61 72 73 29 3b 0d 0a t.ModuleVars);..
2a90: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 }....function ma
2aa0: 63 72 6f 73 54 65 73 74 41 6e 61 6c 79 73 65 4d crosTestAnalyseM
2ab0: 6f 64 75 6c 65 38 5f d0 9e d0 bf d1 80 d0 b5 d0 odule8_.........
2ac0: b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 9b d0 ................
2ad0: be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b d1 85 d0 ................
2ae0: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 ................
2af0: 8b d1 85 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 ...() {.... v
2b00: 61 72 20 6d 6f 64 75 6c 65 54 65 78 74 20 3d 20 ar moduleText =
2b10: 22 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 "".. + ".
2b20: 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 bc d0 9f d0 b5 ......... ......
2b30: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
2b40: d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f 3b 5c 6e 5c ............;\n\
2b50: 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 n".. + ".
2b60: 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 95 d1 89 d0 b5 ......... ......
2b70: d0 9e d0 b4 d0 bd d0 b0 d0 9f d0 b5 d1 80 d0 b5 ................
2b80: d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 3b 5c 6e 22 ............;\n"
2b90: 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f d0 .. + "...
2ba0: b5 d1 80 d0 b5 d0 bc 20 d0 ad d0 ba d1 81 d0 bf ....... ........
2bb0: d0 be d1 80 d1 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 ................
2bc0: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
2bd0: 20 d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 3b ..............;
2be0: 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 \n".. + "
2bf0: d0 9f d0 b5 d1 80 d0 b5 d0 bc 20 d0 ad d0 ba d1 .......... .....
2c00: 81 d0 bf d0 be d1 80 d1 82 d0 bd d1 8b d0 b9 d0 ................
2c10: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 5b 31 30 5d 20 ...........[10]
2c20: d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 2c 20 ..............,
2c30: d0 9b d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b ................
2c40: d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 5b 33 ..............[3
2c50: 5d 2c 20 d0 9f d1 80 d0 be d1 81 d1 82 d0 be d0 ], .............
2c60: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 ................
2c70: b0 d1 8f 3b 5c 6e 22 0d 0a 20 20 20 20 20 20 20 ...;\n"..
2c80: 20 2b 20 22 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 + "............
2c90: d1 83 d1 80 d0 b0 20 d0 9c d0 be d1 8f d0 9f d1 ...... .........
2ca0: 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 28 ...............(
2cb0: d0 9f d0 b0 d1 80 d0 b0 d0 bc 31 2c 20 d0 9f d0 ..........1, ...
2cc0: b0 d1 80 d0 b0 d0 bc 32 29 5c 6e 22 0d 0a 20 20 .......2)\n"..
2cd0: 20 20 20 20 20 20 2b 20 22 09 d0 9f d0 b5 d1 80 + ".......
2ce0: d0 b5 d0 bc 20 d0 9c d0 be d1 8f d0 9f d0 b5 d1 .... ...........
2cf0: 80 d0 b5 d0 bc 31 3b 5c 6e 5c 6e 22 09 0d 0a 20 .....1;\n\n"...
2d00: 20 20 20 20 20 20 20 2b 20 22 09 d0 9c d0 be d1 + "......
2d10: 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc 31 20 3d 20 34 ...........1 = 4
2d20: 32 3b 5c 6e 5c 6e 22 0d 0a 20 20 20 20 20 20 20 2;\n\n"..
2d30: 20 2b 20 22 09 d0 90 d0 b2 d1 82 d0 be d0 bc d0 + "............
2d40: b0 d1 82 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 b0 d1 ................
2d50: 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 ................
2d60: bd d0 b0 d1 8f 20 3d 20 31 30 3b 5c 6e 22 09 0d ..... = 10;\n"..
2d70: 0a 20 20 20 20 20 20 20 20 2b 20 22 09 d0 bc d0 . + "....
2d80: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 ................
2d90: b0 d1 8f d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f 20 ...............
2da0: 3d 20 5c 22 5c 22 3b 5c 6e 22 09 0d 0a 20 20 20 = \"\";\n"...
2db0: 20 20 20 20 20 2b 20 22 d0 9a d0 be d0 bd d0 b5 + "........
2dc0: d1 86 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 ................
2dd0: d1 80 d1 8b 5c 6e 5c 6e 22 0d 0a 20 20 20 20 20 ....\n\n"..
2de0: 20 20 20 2b 20 22 d0 a4 d1 83 d0 bd d0 ba d1 86 + "..........
2df0: d0 b8 d1 8f 20 d0 9c d0 be d1 8f d0 a4 d1 83 d0 .... ...........
2e00: bd d0 ba d1 86 d0 b8 d1 8f 28 d0 9f d0 b0 d1 80 .........(......
2e10: d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 a4 d1 83 d0 bd ................
2e20: d0 ba d1 86 d0 b8 d0 b8 29 5c 6e 22 0d 0a 20 20 ........)\n"..
2e30: 20 20 20 20 20 20 2b 20 22 09 d0 a1 d0 be d0 be + ".......
2e40: d0 b1 d1 89 d0 b8 d1 82 d1 8c 28 d0 bc d0 9f d0 ..........(.....
2e50: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 ................
2e60: 8f d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f 29 3b 09 .............);.
2e70: 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 \n".. + "
2e80: 09 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 82 20 ...............
2e90: d0 98 d1 81 d1 82 d0 b8 d0 bd d0 b0 3b 09 5c 6e ............;.\n
2ea0: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9a ".. + "..
2eb0: d0 be d0 bd d0 b5 d1 86 d0 a4 d1 83 d0 bd d0 ba ................
2ec0: d1 86 d0 b8 d0 b8 5c 6e 5c 6e 22 0d 0a 20 20 20 ......\n\n"..
2ed0: 20 20 20 20 20 2b 20 22 d0 9c d0 be d1 8f d0 9f + "........
2ee0: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 ................
2ef0: 28 31 2c 20 32 29 3b 5c 6e 22 0d 0a 20 20 20 20 (1, 2);\n"..
2f00: 20 20 20 20 2b 20 22 d0 a0 d0 b5 d0 b7 d1 83 d0 + ".........
2f10: bb d1 8c d1 82 d0 b0 d1 82 20 3d 20 d0 9c d0 be ......... = ....
2f20: d1 8f d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f ................
2f30: 28 29 3b 5c 6e 22 0d 0a 0d 0a 20 20 20 20 76 61 ();\n".... va
2f40: 72 20 63 6e 74 20 3d 20 53 79 6e 74 61 78 41 6e r cnt = SyntaxAn
2f50: 61 6c 79 73 69 73 2e 41 6e 61 6c 79 73 65 4d 6f alysis.AnalyseMo
2f60: 64 75 6c 65 28 6d 6f 64 75 6c 65 54 65 78 74 29 dule(moduleText)
2f70: 3b 0d 0a 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 ;.. //Message
2f80: 28 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e (cnt.ModuleVars.
2f90: 6a 6f 69 6e 28 27 2c 27 29 29 3b 0d 0a 20 20 20 join(','));..
2fa0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 61 .. a
2fb0: 73 73 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 ssertEquals('...
2fc0: b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 ................
2fd0: bd d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 ... ............
2fe0: d0 bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 ........ .......
2ff0: b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bf ............. ..
3000: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b ................
3010: d1 85 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 .. ............!
3020: 27 2c 20 36 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 ', 6, cnt.Module
3030: 56 61 72 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 Vars.length);..
3040: 20 20 20 61 73 73 65 72 74 41 72 72 61 79 45 71 assertArrayEq
3050: 75 61 6c 73 49 67 6e 6f 72 69 6e 67 4f 72 64 65 ualsIgnoringOrde
3060: 72 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 r('.............
3070: b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 ......... ......
3080: d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd 20 d1 81 d0 ............ ...
3090: bf d0 b8 d1 81 d0 be d0 ba 20 d0 bf d0 b5 d1 80 ......... ......
30a0: d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 .............. .
30b0: bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 2c 0d 0a ...........!',..
30c0: 20 20 20 20 20 20 20 20 5b 27 d0 bc d0 9f d0 b5 ['......
30d0: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f ................
30e0: d0 9c d0 be d0 b4 d1 83 d0 bb d1 8f 27 2c 20 27 ............', '
30f0: d0 95 d1 89 d0 b5 d0 9e d0 b4 d0 bd d0 b0 d0 9f ................
3100: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 ................
3110: d1 8f 27 2c 20 27 d0 ad d0 ba d1 81 d0 bf d0 be ..', '..........
3120: d1 80 d1 82 d0 bd d0 b0 d1 8f d0 9f d0 b5 d1 80 ................
3130: d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 2c ..............',
3140: 20 0d 0a 20 20 20 20 20 20 20 20 27 d0 ad d0 ba .. '....
3150: d1 81 d0 bf d0 be d1 80 d1 82 d0 bd d1 8b d0 b9 ................
3160: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c 20 27 ............', '
3170: d0 9b d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b ................
3180: d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 27 2c ..............',
3190: 20 27 d0 9f d1 80 d0 be d1 81 d1 82 d0 be d0 9f '..............
31a0: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 ................
31b0: d1 8f 27 5d 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 ..'], cnt.Module
31c0: 56 61 72 73 29 3b 0d 0a 0d 0a 20 20 20 20 61 73 Vars);.... as
31d0: 73 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 sertEquals('....
31e0: d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd ................
31f0: d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 .. .............
3200: bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 ....... ........
3210: d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bc d0 ............ ...
3220: b5 d1 82 d0 be d0 b4 d0 be d0 b2 21 27 2c 20 32 ...........!', 2
3230: 2c 20 63 6e 74 2e 4d 65 74 68 6f 64 73 2e 6c 65 , cnt.Methods.le
3240: 6e 67 74 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 ngth);..
3250: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 66 75 .. var fu
3260: 6e 63 20 3d 20 63 6e 74 2e 67 65 74 4d 65 74 68 nc = cnt.getMeth
3270: 6f 64 42 79 4e 61 6d 65 28 27 d0 9c d0 be d1 8f odByName('......
3280: d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 27 29 ..............')
3290: 3b 0d 0a 20 20 20 20 61 73 73 65 72 74 4e 6f 74 ;.. assertNot
32a0: 55 6e 64 65 66 69 6e 65 64 28 22 d0 9c d0 b5 d1 Undefined(".....
32b0: 82 d0 be d0 b4 20 d0 9c d0 be d1 8f d0 a4 d1 83 ..... ..........
32c0: d0 bd d0 ba d1 86 d0 b8 d1 8f 20 d0 bd d0 b5 20 .......... ....
32d0: d0 bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd 22 2c 20 66 ............", f
32e0: 75 6e 63 29 3b 20 20 20 20 0d 0a 20 20 20 20 61 unc); .. a
32f0: 73 73 65 72 74 41 72 72 61 79 45 71 75 61 6c 73 ssertArrayEquals
3300: 49 67 6e 6f 72 69 6e 67 4f 72 64 65 72 28 5b 27 IgnoringOrder(['
3310: d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 ................
3320: d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 27 5d ..............']
3330: 2c 20 66 75 6e 63 2e 50 61 72 61 6d 73 29 3b 0d , func.Params);.
3340: 0a 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 ... assertEqu
3350: 61 6c 73 28 30 2c 20 66 75 6e 63 2e 44 65 63 6c als(0, func.Decl
3360: 61 72 65 64 56 61 72 73 2e 6c 65 6e 67 74 68 29 aredVars.length)
3370: 3b 20 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 ; .. asser
3380: 74 45 71 75 61 6c 73 28 30 2c 20 66 75 6e 63 2e tEquals(0, func.
3390: 41 75 74 6f 6d 61 74 69 63 56 61 72 73 2e 6c 65 AutomaticVars.le
33a0: 6e 67 74 68 29 3b 20 20 20 20 0d 0a 20 20 20 20 ngth); ..
33b0: 0d 0a 20 20 20 20 76 61 72 20 70 72 6f 63 20 3d .. var proc =
33c0: 20 63 6e 74 2e 67 65 74 4d 65 74 68 6f 64 42 79 cnt.getMethodBy
33d0: 4e 61 6d 65 28 27 d0 9c d0 be d1 8f d0 9f d1 80 Name('..........
33e0: d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 27 29 ..............')
33f0: 3b 0d 0a 20 20 20 20 61 73 73 65 72 74 4e 6f 74 ;.. assertNot
3400: 4e 75 6c 6c 28 22 d0 9c d0 b5 d1 82 d0 be d0 b4 Null("..........
3410: 20 d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 86 d0 ...............
3420: b5 d0 b4 d1 83 d1 80 d0 b0 20 d0 bd d0 b5 20 d0 ......... .... .
3430: bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd 22 2c 20 70 72 ...........", pr
3440: 6f 63 29 3b 20 20 20 20 0d 0a 20 20 20 20 61 73 oc); .. as
3450: 73 65 72 74 41 72 72 61 79 45 71 75 61 6c 73 49 sertArrayEqualsI
3460: 67 6e 6f 72 69 6e 67 4f 72 64 65 72 28 5b 27 d0 gnoringOrder(['.
3470: 9f d0 b0 d1 80 d0 b0 d0 bc 31 27 2c 20 27 d0 9f .........1', '..
3480: d0 b0 d1 80 d0 b0 d0 bc 32 27 5d 2c 20 70 72 6f ........2'], pro
3490: 63 2e 50 61 72 61 6d 73 29 3b 0d 0a 0d 0a 20 20 c.Params);....
34a0: 20 20 2f 2f 20 d0 9b d0 be d0 ba d0 b0 d0 bb d1 // ...........
34b0: 8c d0 bd d1 8b d0 b5 20 d0 bf d0 b5 d1 80 d0 b5 ....... ........
34c0: d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 20 d0 bf d1 ............ ...
34d0: 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 2e ................
34e0: 0d 0a 20 20 20 20 61 73 73 65 72 74 41 72 72 61 .. assertArra
34f0: 79 45 71 75 61 6c 73 49 67 6e 6f 72 69 6e 67 4f yEqualsIgnoringO
3500: 72 64 65 72 28 5b 27 d0 9c d0 be d1 8f d0 9f d0 rder(['.........
3510: b5 d1 80 d0 b5 d0 bc 31 27 5d 2c 20 70 72 6f 63 .......1'], proc
3520: 2e 44 65 63 6c 61 72 65 64 56 61 72 73 29 3b 20 .DeclaredVars);
3530: 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 41 .. assertA
3540: 72 72 61 79 45 71 75 61 6c 73 49 67 6e 6f 72 69 rrayEqualsIgnori
3550: 6e 67 4f 72 64 65 72 28 5b 27 d0 90 d0 b2 d1 82 ngOrder(['......
3560: d0 be d0 bc d0 b0 d1 82 d0 b8 d1 87 d0 b5 d1 81 ................
3570: d0 ba d0 b0 d1 8f d0 9f d0 b5 d1 80 d0 b5 d0 bc ................
3580: d0 b5 d0 bd d0 bd d0 b0 d1 8f 27 5d 2c 20 70 72 ..........'], pr
3590: 6f 63 2e 41 75 74 6f 6d 61 74 69 63 56 61 72 73 oc.AutomaticVars
35a0: 29 3b 20 20 20 20 0d 0a 20 20 20 20 0d 0a 7d 0a ); .. ..}.
35b0: 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f ..function macro
35c0: 73 54 65 73 74 41 6e 61 6c 79 73 65 4d 6f 64 75 sTestAnalyseModu
35d0: 6c 65 39 5f d0 9e d0 bf d1 80 d0 b5 d0 b4 d0 b5 le9_............
35e0: d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 9c d0 b5 d1 82 ................
35f0: d0 be d0 b4 d0 b0 d0 9d d0 b0 d0 a0 d0 b0 d0 b7 ................
3600: d0 bd d1 8b d1 85 d0 a1 d1 82 d1 80 d0 be d0 ba ................
3610: d0 b0 d1 85 28 29 20 7b 0d 0a 20 20 20 20 76 61 ....() {.. va
3620: 72 20 6d 6f 64 75 6c 65 54 65 78 74 20 3d 20 22 r moduleText = "
3630: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f ".. + "..
3640: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 ................
3650: 20 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 \n".. +
3660: 22 20 20 20 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 " ...........
3670: 80 d0 ba d0 b8 20 28 20 d0 9f d0 b5 d1 80 d0 b5 ..... ( ........
3680: d0 bc 31 2c d0 9f d0 b5 d1 80 d0 b5 d0 bc 32 2c ..1,..........2,
3690: 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc 33 29 5c 6e 22 ..........3)\n"
36a0: 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9a d0 .. + "...
36b0: be d0 bd d0 b5 d1 86 d0 9f d1 80 d0 be d1 86 d0 ................
36c0: b5 d0 b4 d1 83 d1 80 d1 8b 22 0d 0a 0d 0a 20 20 ........."....
36d0: 20 20 76 61 72 20 63 6e 74 20 3d 20 53 79 6e 74 var cnt = Synt
36e0: 61 78 41 6e 61 6c 79 73 69 73 2e 41 6e 61 6c 79 axAnalysis.Analy
36f0: 73 65 4d 6f 64 75 6c 65 28 6d 6f 64 75 6c 65 54 seModule(moduleT
3700: 65 78 74 29 3b 0d 0a 0d 0a 20 20 20 20 61 73 73 ext);.... ass
3710: 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 ertEquals('.....
3720: bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 ................
3730: be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb . ..............
3740: d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 ...... .........
3750: 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bc d0 b5 ........... ....
3760: d1 82 d0 be d0 b4 d0 be d0 b2 21 27 2c 20 31 2c ..........!', 1,
3770: 20 63 6e 74 2e 4d 65 74 68 6f 64 73 2e 6c 65 6e cnt.Methods.len
3780: 67 74 68 29 3b 20 20 20 20 0d 0a 20 20 20 20 61 gth); .. a
3790: 73 73 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 ssertEquals('...
37a0: b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 ................
37b0: bd d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 ... ............
37c0: d0 bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 ........ .......
37d0: b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bf ............. ..
37e0: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b ................
37f0: d1 85 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 .. ............!
3800: 27 2c 20 30 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 ', 0, cnt.Module
3810: 56 61 72 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 7d Vars.length);..}
3820: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 ....function mac
3830: 72 6f 73 54 65 73 74 41 6e 61 6c 79 73 65 4d 6f rosTestAnalyseMo
3840: 64 75 6c 65 31 30 5f d0 9e d0 bf d1 80 d0 b5 d0 dule10_.........
3850: b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 9c d0 ................
3860: b5 d1 82 d0 be d0 b4 d0 b0 d0 9d d0 b0 d0 a0 d0 ................
3870: b0 d0 b7 d0 bd d1 8b d1 85 d0 a1 d1 82 d1 80 d0 ................
3880: be d0 ba d0 b0 d1 85 32 28 29 20 7b 0d 0a 20 20 .......2() {..
3890: 20 20 76 61 72 20 6d 6f 64 75 6c 65 54 65 78 74 var moduleText
38a0: 20 3d 20 22 22 0d 0a 20 20 20 20 20 20 20 20 2b = "".. +
38b0: 20 22 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 "..............
38c0: d1 80 d0 b0 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 .... ...........
38d0: 80 d0 ba d0 b8 20 28 20 d0 9f d0 b5 d1 80 d0 b5 ..... ( ........
38e0: d0 bc 31 2c 20 5c 6e 22 0d 0a 20 20 20 20 20 20 ..1, \n"..
38f0: 20 20 2b 20 22 20 20 20 20 d0 9f d0 b5 d1 80 d0 + " .......
3900: b5 d0 bc 32 2c 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc ...2, ..........
3910: 33 29 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 3)\n".. +
3920: 20 22 d0 9a d0 be d0 bd d0 b5 d1 86 d0 9f d1 80 "..............
3930: d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 22 0d ..............".
3940: 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 63 . .. var c
3950: 6e 74 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 nt = SyntaxAnaly
3960: 73 69 73 2e 41 6e 61 6c 79 73 65 4d 6f 64 75 6c sis.AnalyseModul
3970: 65 28 6d 6f 64 75 6c 65 54 65 78 74 29 3b 0d 0a e(moduleText);..
3980: 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 61 .. assertEqua
3990: 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 ls('............
39a0: d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 .......... .....
39b0: 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be 20 ...............
39c0: d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 ................
39d0: d0 b2 d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 .... ...........
39e0: be d0 b2 21 27 2c 20 31 2c 20 63 6e 74 2e 4d 65 ...!', 1, cnt.Me
39f0: 74 68 6f 64 73 2e 6c 65 6e 67 74 68 29 3b 20 20 thods.length);
3a00: 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 .. assertEq
3a10: 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 uals('..........
3a20: d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 ............ ...
3a30: bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 ................
3a40: be 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 . ..............
3a50: d1 82 d0 b2 d0 be 20 d0 bf d0 b5 d1 80 d0 b5 d0 ...... .........
3a60: bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 be ........... ....
3a70: d0 b4 d1 83 d0 bb d1 8f 21 27 2c 20 30 2c 20 63 ........!', 0, c
3a80: 6e 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e 6c 65 nt.ModuleVars.le
3a90: 6e 67 74 68 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e ngth);..}....fun
3aa0: 63 74 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 74 ction macrosTest
3ab0: 41 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 31 31 5f AnalyseModule11_
3ac0: d0 9e d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 ................
3ad0: d0 bd d0 b8 d0 b5 d0 9f d0 b0 d1 80 d0 b0 d0 bc ................
3ae0: d0 b5 d1 82 d1 80 d0 be d0 b2 d0 9c d0 b5 d1 82 ................
3af0: d0 be d0 b4 d0 b0 d0 9d d0 b0 d0 a0 d0 b0 d0 b7 ................
3b00: d0 bd d1 8b d1 85 d0 a1 d1 82 d1 80 d0 be d0 ba ................
3b10: d0 b0 d1 85 28 29 20 7b 0d 0a 20 20 20 20 76 61 ....() {.. va
3b20: 72 20 6d 6f 64 75 6c 65 54 65 78 74 20 3d 20 22 r moduleText = "
3b30: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9f ".. + "..
3b40: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 ................
3b50: 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 ...............
3b60: b8 20 28 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc 31 2c . ( ..........1,
3b70: 20 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 \n".. +
3b80: 22 20 20 20 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc 32 " ..........2
3b90: 2c 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc 33 29 5c 6e , ..........3)\n
3ba0: 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9a ".. + "..
3bb0: d0 be d0 bd d0 b5 d1 86 d0 9f d1 80 d0 be d1 86 ................
3bc0: d0 b5 d0 b4 d1 83 d1 80 d1 8b 22 0d 0a 20 20 20 .........."..
3bd0: 20 2f 2f 64 65 62 75 67 67 65 72 0d 0a 20 20 20 //debugger..
3be0: 20 76 61 72 20 63 6e 74 20 3d 20 53 79 6e 74 61 var cnt = Synta
3bf0: 78 41 6e 61 6c 79 73 69 73 2e 41 6e 61 6c 79 73 xAnalysis.Analys
3c00: 65 4d 6f 64 75 6c 65 28 6d 6f 64 75 6c 65 54 65 eModule(moduleTe
3c10: 78 74 29 3b 0d 0a 0d 0a 20 20 20 20 61 73 73 65 xt);.... asse
3c20: 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf rtEquals('......
3c30: d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be ................
3c40: 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 ...............
3c50: b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 87 ..... ..........
3c60: d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bc d0 b5 d1 .......... .....
3c70: 82 d0 be d0 b4 d0 be d0 b2 21 27 2c 20 31 2c 20 .........!', 1,
3c80: 63 6e 74 2e 4d 65 74 68 6f 64 73 2e 6c 65 6e 67 cnt.Methods.leng
3c90: 74 68 29 3b 20 20 20 20 0d 0a 20 20 20 20 61 73 th); .. as
3ca0: 73 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 sertEquals('....
3cb0: d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd ................
3cc0: d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 .. .............
3cd0: bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 ....... ........
3ce0: d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bf d0 ............ ...
3cf0: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 ................
3d00: 85 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 . ............!'
3d10: 2c 20 30 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 , 0, cnt.ModuleV
3d20: 61 72 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 ars.length);..
3d30: 20 20 76 61 72 20 70 72 6f 63 20 3d 20 63 6e 74 var proc = cnt
3d40: 2e 67 65 74 4d 65 74 68 6f 64 42 79 4e 61 6d 65 .getMethodByName
3d50: 28 27 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba ('..............
3d60: d0 b8 27 29 3b 0d 0a 20 20 20 20 61 73 73 65 72 ..');.. asser
3d70: 74 4e 6f 74 4e 75 6c 6c 28 22 d0 9c d0 b5 d1 82 tNotNull("......
3d80: d0 be d0 b4 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 .... ...........
3d90: 80 d0 ba d0 b8 20 d0 bd d0 b5 20 d0 bd d0 b0 d0 ..... .... .....
3da0: b9 d0 b4 d0 b5 d0 bd 22 2c 20 70 72 6f 63 29 3b .......", proc);
3db0: 20 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 .. assert
3dc0: 41 72 72 61 79 45 71 75 61 6c 73 49 67 6e 6f 72 ArrayEqualsIgnor
3dd0: 69 6e 67 4f 72 64 65 72 28 5b 27 d0 9f d0 b5 d1 ingOrder(['.....
3de0: 80 d0 b5 d0 bc 31 27 2c 20 27 d0 9f d0 b5 d1 80 .....1', '......
3df0: d0 b5 d0 bc 32 27 2c 20 27 d0 9f d0 b5 d1 80 d0 ....2', '.......
3e00: b5 d0 bc 33 27 5d 2c 20 70 72 6f 63 2e 50 61 72 ...3'], proc.Par
3e10: 61 6d 73 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 ams);..}....func
3e20: 74 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 74 41 tion macrosTestA
3e30: 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 31 32 5f d0 nalyseModule12_.
3e40: 9e d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 ................
3e50: bd d0 b8 d0 b5 d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 ................
3e60: b5 d0 bd d0 bd d1 8b d1 85 d0 9c d0 b5 d1 82 d0 ................
3e70: be d0 b4 d0 b0 d0 9f d0 be d0 a3 d0 bc d0 be d0 ................
3e80: bb d1 87 d0 b0 d0 bd d0 b8 d1 8e 28 29 20 7b 0d ...........() {.
3e90: 0a 20 20 20 20 76 61 72 20 6d 6f 64 75 6c 65 54 . var moduleT
3ea0: 65 78 74 20 3d 20 22 22 0d 0a 20 20 20 20 20 20 ext = ""..
3eb0: 20 20 2b 20 22 d0 9f d1 80 d0 be d1 86 d0 b5 d0 + "...........
3ec0: b4 d1 83 d1 80 d0 b0 20 d0 9f d1 80 d0 be d0 b2 ....... ........
3ed0: d0 b5 d1 80 d0 ba d0 b8 20 28 d0 97 d0 bd d0 b0 ........ (......
3ee0: d1 87 20 d0 9f d0 b0 d1 80 d0 b0 d0 bc 31 2c 20 .. ..........1,
3ef0: d0 9f d0 b0 d1 80 d0 b0 d0 bc 32 20 3d 20 d0 9b ..........2 = ..
3f00: d0 be d0 b6 d1 8c 29 5c 6e 22 0d 0a 20 20 20 20 ......)\n"..
3f10: 20 20 20 20 2b 20 22 d0 9a d0 be d0 bd d0 b5 d1 + ".........
3f20: 86 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 ................
3f30: 80 d1 8b 22 0d 0a 20 20 20 20 2f 2f 64 65 62 75 ...".. //debu
3f40: 67 67 65 72 0d 0a 20 20 20 20 76 61 72 20 63 6e gger.. var cn
3f50: 74 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 t = SyntaxAnalys
3f60: 69 73 2e 41 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 is.AnalyseModule
3f70: 28 6d 6f 64 75 6c 65 54 65 78 74 29 3b 0d 0a 0d (moduleText);...
3f80: 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 61 6c . assertEqual
3f90: 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 s('.............
3fa0: b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 ......... ......
3fb0: d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be 20 d0 .............. .
3fc0: ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 ................
3fd0: b2 d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 be ... ............
3fe0: d0 b2 21 27 2c 20 31 2c 20 63 6e 74 2e 4d 65 74 ..!', 1, cnt.Met
3ff0: 68 6f 64 73 2e 6c 65 6e 67 74 68 29 3b 20 20 20 hods.length);
4000: 20 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 .. assertEqu
4010: 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 als('...........
4020: b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 bf ........... ....
4030: d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be ................
4040: 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 ...............
4050: 82 d0 b2 d0 be 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc ..... ..........
4060: d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 be d0 .......... .....
4070: b4 d1 83 d0 bb d1 8f 21 27 2c 20 30 2c 20 63 6e .......!', 0, cn
4080: 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e 6c 65 6e t.ModuleVars.len
4090: 67 74 68 29 3b 0d 0a 20 20 20 20 76 61 72 20 70 gth);.. var p
40a0: 72 6f 63 20 3d 20 63 6e 74 2e 67 65 74 4d 65 74 roc = cnt.getMet
40b0: 68 6f 64 42 79 4e 61 6d 65 28 27 d0 9f d1 80 d0 hodByName('.....
40c0: be d0 b2 d0 b5 d1 80 d0 ba d0 b8 27 29 3b 0d 0a ...........');..
40d0: 20 20 20 20 61 73 73 65 72 74 4e 6f 74 4e 75 6c assertNotNul
40e0: 6c 28 22 d0 9c d0 b5 d1 82 d0 be d0 b4 20 d0 9f l(".......... ..
40f0: d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 20 d0 .............. .
4100: bd d0 b5 20 d0 bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd ... ............
4110: 22 2c 20 70 72 6f 63 29 3b 20 20 20 20 0d 0a 20 ", proc); ..
4120: 20 20 20 61 73 73 65 72 74 41 72 72 61 79 45 71 assertArrayEq
4130: 75 61 6c 73 49 67 6e 6f 72 69 6e 67 4f 72 64 65 ualsIgnoringOrde
4140: 72 28 5b 27 d0 9f d0 b0 d1 80 d0 b0 d0 bc 31 27 r(['..........1'
4150: 2c 20 27 d0 9f d0 b0 d1 80 d0 b0 d0 bc 32 27 5d , '..........2']
4160: 2c 20 70 72 6f 63 2e 50 61 72 61 6d 73 29 3b 0d , proc.Params);.
4170: 0a 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 . ..}....func
4180: 74 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 74 41 tion macrosTestA
4190: 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 31 33 5f d0 nalyseModule13_.
41a0: 9e d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 ................
41b0: bd d0 b8 d0 b5 d0 9a d0 be d0 bd d0 b5 d1 82 d0 ................
41c0: ba d1 81 d1 82 d0 b0 d0 9a d0 be d0 bc d0 bf d0 ................
41d0: b8 d0 bb d1 8f d1 86 d0 b8 d0 b8 28 29 20 7b 0d ...........() {.
41e0: 0a 20 20 20 20 76 61 72 20 6d 6f 64 75 6c 65 54 . var moduleT
41f0: 65 78 74 20 3d 20 22 22 0d 0a 20 20 20 20 20 20 ext = ""..
4200: 20 20 2b 20 22 26 d0 9d d0 b0 d0 9a d0 bb d0 b8 + "&..........
4210: d0 b5 d0 bd d1 82 d0 b5 5c 6e 22 0d 0a 20 20 20 ........\n"..
4220: 20 20 20 20 20 2b 20 22 d0 9f d1 80 d0 be d1 86 + "........
4230: d0 b5 d0 b4 d1 83 d1 80 d0 b0 20 d0 9f d1 80 d0 .......... .....
4240: be d0 b2 d0 b5 d1 80 d0 ba d0 b8 20 28 d0 97 d0 ........... (...
4250: bd d0 b0 d1 87 20 d0 9f d0 b0 d1 80 d0 b0 d0 bc ..... ..........
4260: 31 2c 20 d0 9f d0 b0 d1 80 d0 b0 d0 bc 32 20 3d 1, ..........2 =
4270: 20 d0 9b d0 be d0 b6 d1 8c 29 5c 6e 22 0d 0a 20 ........)\n"..
4280: 20 20 20 20 20 20 20 2b 20 22 d0 9a d0 be d0 bd + "......
4290: d0 b5 d1 86 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 ................
42a0: d1 83 d1 80 d1 8b 22 0d 0a 20 20 20 20 76 61 72 ......".. var
42b0: 20 63 6e 74 20 3d 20 53 79 6e 74 61 78 41 6e 61 cnt = SyntaxAna
42c0: 6c 79 73 69 73 2e 41 6e 61 6c 79 73 65 4d 6f 64 lysis.AnalyseMod
42d0: 75 6c 65 28 6d 6f 64 75 6c 65 54 65 78 74 29 3b ule(moduleText);
42e0: 0d 0a 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 .... assertEq
42f0: 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 uals('..........
4300: d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 be d0 ............ ...
4310: bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 ................
4320: be 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 . ..............
4330: d1 82 d0 b2 d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 ...... .........
4340: b4 d0 be d0 b2 21 27 2c 20 31 2c 20 63 6e 74 2e .....!', 1, cnt.
4350: 4d 65 74 68 6f 64 73 2e 6c 65 6e 67 74 68 29 3b Methods.length);
4360: 20 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 .. assert
4370: 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf d1 80 Equals('........
4380: d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be 20 d0 .............. .
4390: be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 ................
43a0: bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 87 d0 b5 ... ............
43b0: d1 81 d1 82 d0 b2 d0 be 20 d0 bf d0 b5 d1 80 d0 ........ .......
43c0: b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc ............. ..
43d0: d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 2c 20 30 2c ..........!', 0,
43e0: 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 61 72 73 2e cnt.ModuleVars.
43f0: 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 20 76 61 length);.. va
4400: 72 20 70 72 6f 63 20 3d 20 63 6e 74 2e 67 65 74 r proc = cnt.get
4410: 4d 65 74 68 6f 64 42 79 4e 61 6d 65 28 27 d0 9f MethodByName('..
4420: d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 27 29 ..............')
4430: 3b 0d 0a 20 20 20 20 61 73 73 65 72 74 4e 6f 74 ;.. assertNot
4440: 4e 75 6c 6c 28 22 d0 9c d0 b5 d1 82 d0 be d0 b4 Null("..........
4450: 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 ...............
4460: b8 20 d0 bd d0 b5 20 d0 bd d0 b0 d0 b9 d0 b4 d0 . .... .........
4470: b5 d0 bd 22 2c 20 70 72 6f 63 29 3b 20 20 20 20 ...", proc);
4480: 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 75 61 .. assertEqua
4490: 6c 73 28 22 d0 9a d0 be d0 bd d0 b5 d1 82 d0 b5 ls("............
44a0: d0 ba d1 81 d1 82 20 d0 ba d0 be d0 bc d0 bf d0 ...... .........
44b0: b8 d0 bb d1 8f d1 86 d0 b8 d0 b8 20 d0 bd d0 b5 ........... ....
44c0: 20 d0 be d0 b1 d0 bd d0 b0 d1 80 d1 83 d0 b6 d0 ...............
44d0: b5 d0 bd 22 2c 20 22 d0 9d d0 b0 d0 9a d0 bb d0 ...", ".........
44e0: b8 d0 b5 d0 bd d1 82 d0 b5 22 2c 20 70 72 6f 63 .........", proc
44f0: 2e 43 6f 6e 74 65 78 74 29 0d 0a 20 20 20 20 61 .Context).. a
4500: 73 73 65 72 74 41 72 72 61 79 45 71 75 61 6c 73 ssertArrayEquals
4510: 49 67 6e 6f 72 69 6e 67 4f 72 64 65 72 28 5b 27 IgnoringOrder(['
4520: d0 9f d0 b0 d1 80 d0 b0 d0 bc 31 27 2c 20 27 d0 ..........1', '.
4530: 9f d0 b0 d1 80 d0 b0 d0 bc 32 27 5d 2c 20 70 72 .........2'], pr
4540: 6f 63 2e 50 61 72 61 6d 73 29 3b 0d 0a 20 20 20 oc.Params);..
4550: 20 0d 0a 7d 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d ..}..function m
4560: 61 63 72 6f 73 54 65 73 74 41 6e 61 6c 79 73 65 acrosTestAnalyse
4570: 4d 6f 64 75 6c 65 31 34 5f d0 9e d0 bf d1 80 d0 Module14_.......
4580: b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 ................
4590: 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 ................
45a0: be d0 b2 d0 9c d0 b5 d1 82 d0 be d0 b4 d0 b0 d0 ................
45b0: 9d d0 b0 d0 a0 d0 b0 d0 b7 d0 bd d1 8b d1 85 d0 ................
45c0: a1 d1 82 d1 80 d0 be d0 ba d0 b0 d1 85 d0 a1 d0 ................
45d0: 9a d0 be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b0 d1 ................
45e0: 80 d0 b8 d1 8f d0 bc d0 b8 28 29 20 7b 0d 0a 20 .........() {..
45f0: 20 20 20 76 61 72 20 6d 6f 64 75 6c 65 54 65 78 var moduleTex
4600: 74 20 3d 20 22 22 0d 0a 20 20 20 20 20 20 20 20 t = ""..
4610: 2b 20 22 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 + ".............
4620: 83 d1 80 d0 b0 20 d0 9f d1 80 d0 be d0 b2 d0 b5 ..... ..........
4630: d1 80 d0 ba d0 b8 20 28 20 d0 9f d0 b5 d1 80 d0 ...... ( .......
4640: b5 d0 bc 31 2c 20 2f 2f d0 a2 d0 b5 d0 ba d1 81 ...1, //........
4650: d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 ba d0 be d0 .......... .....
4660: bc d0 bc d0 b5 d0 bd d1 82 d0 b0 d1 80 d0 b8 d0 ................
4670: b9 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 bc d0 b5 . ..............
4680: d0 bd d0 bd d0 be d0 b9 2c 20 d0 b4 d0 b0 20 d0 ........, .... .
4690: b8 20 d1 82 d0 b0 d0 ba d0 be d0 b5 20 d0 bc d0 . .......... ...
46a0: be d0 b6 d0 b5 d1 82 20 d0 b1 d1 8b d1 82 d1 8c ....... ........
46b0: 2e 20 20 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 . \n"..
46c0: 2b 20 22 20 20 20 20 d0 9f d0 b5 d1 80 d0 b5 d0 + " .........
46d0: bc 32 2c 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc 33 29 .2, ..........3)
46e0: 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 \n".. + "
46f0: d0 9a d0 be d0 bd d0 b5 d1 86 d0 9f d1 80 d0 be ................
4700: d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 22 0d 0a 20 ............"..
4710: 20 20 20 64 65 62 75 67 67 65 72 0d 0a 20 20 20 debugger..
4720: 20 76 61 72 20 63 6e 74 20 3d 20 53 79 6e 74 61 var cnt = Synta
4730: 78 41 6e 61 6c 79 73 69 73 2e 41 6e 61 6c 79 73 xAnalysis.Analys
4740: 65 4d 6f 64 75 6c 65 28 6d 6f 64 75 6c 65 54 65 eModule(moduleTe
4750: 78 74 29 3b 0d 0a 0d 0a 20 20 20 20 61 73 73 65 xt);.... asse
4760: 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 d0 bf rtEquals('......
4770: d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd d0 be ................
4780: 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 ...............
4790: b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 d1 87 ..... ..........
47a0: d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bc d0 b5 d1 .......... .....
47b0: 82 d0 be d0 b4 d0 be d0 b2 21 27 2c 20 31 2c 20 .........!', 1,
47c0: 63 6e 74 2e 4d 65 74 68 6f 64 73 2e 6c 65 6e 67 cnt.Methods.leng
47d0: 74 68 29 3b 20 20 20 20 0d 0a 20 20 20 20 61 73 th); .. as
47e0: 73 65 72 74 45 71 75 61 6c 73 28 27 d0 9d d0 b5 sertEquals('....
47f0: d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 bd ................
4800: d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 .. .............
4810: bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 bb d0 b8 ....... ........
4820: d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d0 bf d0 ............ ...
4830: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 ................
4840: 85 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 21 27 . ............!'
4850: 2c 20 30 2c 20 63 6e 74 2e 4d 6f 64 75 6c 65 56 , 0, cnt.ModuleV
4860: 61 72 73 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 ars.length);..
4870: 20 20 76 61 72 20 70 72 6f 63 20 3d 20 63 6e 74 var proc = cnt
4880: 2e 67 65 74 4d 65 74 68 6f 64 42 79 4e 61 6d 65 .getMethodByName
4890: 28 27 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba ('..............
48a0: d0 b8 27 29 3b 0d 0a 20 20 20 20 61 73 73 65 72 ..');.. asser
48b0: 74 4e 6f 74 4e 75 6c 6c 28 22 d0 9c d0 b5 d1 82 tNotNull("......
48c0: d0 be d0 b4 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 .... ...........
48d0: 80 d0 ba d0 b8 20 d0 bd d0 b5 20 d0 bd d0 b0 d0 ..... .... .....
48e0: b9 d0 b4 d0 b5 d0 bd 22 2c 20 70 72 6f 63 29 3b .......", proc);
48f0: 20 20 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 .. assert
4900: 41 72 72 61 79 45 71 75 61 6c 73 49 67 6e 6f 72 ArrayEqualsIgnor
4910: 69 6e 67 4f 72 64 65 72 28 5b 27 d0 9f d0 b5 d1 ingOrder(['.....
4920: 80 d0 b5 d0 bc 31 27 2c 20 27 d0 9f d0 b5 d1 80 .....1', '......
4930: d0 b5 d0 bc 32 27 2c 20 27 d0 9f d0 b5 d1 80 d0 ....2', '.......
4940: b5 d0 bc 33 27 5d 2c 20 70 72 6f 63 2e 50 61 72 ...3'], proc.Par
4950: 61 6d 73 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 ams);..}....func
4960: 74 69 6f 6e 20 6d 61 63 72 6f 73 54 65 73 74 41 tion macrosTestA
4970: 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 31 35 5f d0 nalyseModule15_.
4980: 9e d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 ................
4990: bd d0 b8 d0 b5 d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 ................
49a0: b5 d1 82 d1 80 d0 be d0 b2 d0 9c d0 b5 d1 82 d0 ................
49b0: be d0 b4 d0 b0 d0 9d d0 b0 d0 a0 d0 b0 d0 b7 d0 ................
49c0: bd d1 8b d1 85 d0 a1 d1 82 d1 80 d0 be d0 ba d0 ................
49d0: b0 d1 85 d0 a1 d0 9a d0 be d0 bc d0 bc d0 b5 d0 ................
49e0: bd d1 82 d0 b0 d1 80 d0 b8 d1 8f d0 bc d0 b8 d0 ................
49f0: 98 d0 a1 d0 ba d0 be d0 b1 d0 ba d0 b0 d0 bc d0 ................
4a00: b8 28 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 6d .() {.. var m
4a10: 6f 64 75 6c 65 54 65 78 74 20 3d 20 22 22 0d 0a oduleText = ""..
4a20: 20 20 20 20 20 20 20 20 2b 20 22 d0 9f d1 80 d0 + ".....
4a30: be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 20 d0 9f ............. ..
4a40: d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 20 28 .............. (
4a50: 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc 31 2c 20 2f 2f ..........1, //
4a60: d0 a2 d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 d1 8b ................
4a70: d0 b9 20 d0 ba d0 be d0 bc d0 bc d0 b5 d0 bd d1 .. .............
4a80: 82 d0 b0 d1 80 d0 b8 d0 b9 20 d0 bf d0 b5 d1 80 ......... ......
4a90: d0 b5 d0 bc d0 bc d0 b5 d0 bd d0 bd d0 be d0 b9 ................
4aa0: 2c 20 d0 b4 d0 b0 20 d0 b8 20 d1 82 d0 b0 d0 ba , .... .. ......
4ab0: d0 be d0 b5 20 d0 bc d0 be d0 b6 d0 b5 d1 82 20 .... ..........
4ac0: d0 b1 d1 8b d1 82 d1 8c 2e 20 20 5c 6e 22 0d 0a ......... \n"..
4ad0: 20 20 20 20 20 20 20 20 2b 20 22 20 20 20 20 d0 + " .
4ae0: 9f d0 b5 d1 80 d0 b5 d0 bc 32 2c 20 2f 2f 20 d0 .........2, // .
4af0: 9b d1 8e d0 b1 d0 be d0 b9 20 d1 82 d0 b5 d0 ba ......... ......
4b00: d1 81 d1 82 20 d0 b8 20 d1 81 d1 81 d1 8b d0 bb .... .. ........
4b10: d0 ba d0 b0 20 d0 bd d0 b0 20 d0 bf d1 80 d0 be .... .... ......
4b20: d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 83 20 d0 b8 d0 ............ ...
4b30: bb d0 b8 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 ... ............
4b40: d1 8e 20 d0 9c d0 be d1 8f d0 9f d1 80 d0 be d1 .. .............
4b50: 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 28 29 5c 6e 22 ...........()\n"
4b60: 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 20 20 20 .. + "
4b70: 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc 33 29 5c 6e 22 ..........3)\n"
4b80: 0d 0a 20 20 20 20 20 20 20 20 2b 20 22 d0 9a d0 .. + "...
4b90: be d0 bd d0 b5 d1 86 d0 9f d1 80 d0 be d1 86 d0 ................
4ba0: b5 d0 b4 d1 83 d1 80 d1 8b 22 0d 0a 20 20 20 20 ........."..
4bb0: 0d 0a 20 20 20 20 76 61 72 20 63 6e 74 20 3d 20 .. var cnt =
4bc0: 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 41 SyntaxAnalysis.A
4bd0: 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 28 6d 6f 64 nalyseModule(mod
4be0: 75 6c 65 54 65 78 74 29 3b 0d 0a 0d 0a 20 20 20 uleText);....
4bf0: 20 61 73 73 65 72 74 45 71 75 61 6c 73 28 27 d0 assertEquals('.
4c00: 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 ................
4c10: 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 d0 b4 ..... ..........
4c20: d0 b5 d0 bb d0 b5 d0 bd d0 be 20 d0 ba d0 be d0 .......... .....
4c30: bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 ...............
4c40: d0 bc d0 b5 d1 82 d0 be d0 b4 d0 be d0 b2 21 27 ..............!'
4c50: 2c 20 31 2c 20 63 6e 74 2e 4d 65 74 68 6f 64 73 , 1, cnt.Methods
4c60: 2e 6c 65 6e 67 74 68 29 3b 20 20 20 20 0d 0a 20 .length); ..
4c70: 20 20 20 61 73 73 65 72 74 45 71 75 61 6c 73 28 assertEquals(
4c80: 27 d0 9d d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 '...............
4c90: bb d1 8c d0 bd d0 be 20 d0 be d0 bf d1 80 d0 b5 ....... ........
4ca0: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be 20 d0 ba d0 ............ ...
4cb0: be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 ................
4cc0: be 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd . ..............
4cd0: d0 bd d1 8b d1 85 20 d0 bc d0 be d0 b4 d1 83 d0 ...... .........
4ce0: bb d1 8f 21 27 2c 20 30 2c 20 63 6e 74 2e 4d 6f ...!', 0, cnt.Mo
4cf0: 64 75 6c 65 56 61 72 73 2e 6c 65 6e 67 74 68 29 duleVars.length)
4d00: 3b 0d 0a 20 20 20 20 76 61 72 20 70 72 6f 63 20 ;.. var proc
4d10: 3d 20 63 6e 74 2e 67 65 74 4d 65 74 68 6f 64 42 = cnt.getMethodB
4d20: 79 4e 61 6d 65 28 27 d0 9f d1 80 d0 be d0 b2 d0 yName('.........
4d30: b5 d1 80 d0 ba d0 b8 27 29 3b 0d 0a 20 20 20 20 .......');..
4d40: 61 73 73 65 72 74 4e 6f 74 4e 75 6c 6c 28 22 d0 assertNotNull(".
4d50: 9c d0 b5 d1 82 d0 be d0 b4 20 d0 9f d1 80 d0 be ......... ......
4d60: d0 b2 d0 b5 d1 80 d0 ba d0 b8 20 d0 bd d0 b5 20 .......... ....
4d70: d0 bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd 22 2c 20 70 ............", p
4d80: 72 6f 63 29 3b 20 20 20 20 0d 0a 20 20 20 20 61 roc); .. a
4d90: 73 73 65 72 74 41 72 72 61 79 45 71 75 61 6c 73 ssertArrayEquals
4da0: 49 67 6e 6f 72 69 6e 67 4f 72 64 65 72 28 5b 27 IgnoringOrder(['
4db0: d0 9f d0 b5 d1 80 d0 b5 d0 bc 31 27 2c 20 27 d0 ..........1', '.
4dc0: 9f d0 b5 d1 80 d0 b5 d0 bc 32 27 2c 20 27 d0 9f .........2', '..
4dd0: d0 b5 d1 80 d0 b5 d0 bc 33 27 5d 2c 20 70 72 6f ........3'], pro
4de0: 63 2e 50 61 72 61 6d 73 29 3b 0d 0a 7d 0d 0a 0d c.Params);..}...
4df0: 0a 0d 0a 2f 2f 7d 20 74 65 73 74 73 20 6f 66 20 ...//} tests of
4e00: 41 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 0d 0a 0d AnalyseModule...
4e10: 0a .