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 63 6f 64 65 67 pt..$uname codeg
0020: 65 6e 5f 63 72 65 61 74 65 5f 72 65 66 73 0d 0a en_create_refs..
0030: 24 64 6e 61 6d 65 20 d0 93 d0 b5 d0 bd d0 b5 d1 $dname .........
0040: 80 d0 b0 d1 82 d0 be d1 80 20 d0 a1 d0 bf d1 80 ......... ......
0050: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 be ................
0060: d0 b2 0d 0a 24 61 64 64 69 6e 20 63 6f 64 65 67 ....$addin codeg
0070: 65 6e 5f 6d 61 6e 61 67 65 72 0d 0a 24 61 64 64 en_manager..$add
0080: 69 6e 20 73 74 64 6c 69 62 0d 0a 24 61 64 64 69 in stdlib..$addi
0090: 6e 20 76 62 73 0d 0a 0d 0a 2f 2f 20 28 63 29 20 n vbs....// (c)
00a0: d0 90 d0 bb d0 b5 d0 ba d1 81 d0 b0 d0 bd d0 b4 ................
00b0: d1 80 20 d0 9e d1 80 d0 b5 d1 84 d0 ba d0 be d0 .. .............
00c0: b2 20 6f 72 65 66 6b 6f 76 20 61 74 20 67 6d 61 . orefkov at gma
00d0: 69 6c 2e 63 6f 6d 0d 0a 2f 2f 20 20 20 20 20 20 il.com..//
00e0: d0 a1 d0 be d1 81 d0 bd d0 b0 20 d0 95 d0 b2 d0 .......... .....
00f0: b3 d0 b5 d0 bd d0 b8 d0 b9 20 3c 73 68 65 6e 6a ......... <shenj
0100: 61 40 73 6f 73 6e 61 2e 7a 70 2e 75 61 3e 0d 0a a@sosna.zp.ua>..
0110: 2f 2f 20 d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 20 // ............
0120: 2d 20 d0 b3 d0 b5 d0 bd d0 b5 d1 80 d0 b0 d1 82 - ..............
0130: d0 be d1 80 20 d0 ba d0 be d0 b4 d0 b0 20 d1 81 .... ........ ..
0140: d0 be d0 b7 d0 b4 d0 b0 d0 bd d0 b8 d1 8f 20 d0 .............. .
0150: bd d0 be d0 b2 d0 be d0 b3 d0 be 20 d1 81 d0 bf ........... ....
0160: d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba ................
0170: d0 b0 0d 0a 2f 2f 0d 0a 0d 0a 76 61 72 20 61 74 ....//....var at
0180: 74 72 54 79 70 65 43 61 74 65 67 6f 72 79 20 20 trTypeCategory
0190: 20 20 20 20 20 20 3d 20 22 7b 33 30 45 35 37 31 = "{30E571
01a0: 42 43 2d 41 38 39 37 2d 34 41 37 38 2d 42 32 45 BC-A897-4A78-B2E
01b0: 35 2d 31 45 41 36 44 34 38 42 35 37 34 32 7d 22 5-1EA6D48B5742}"
01c0: 20 0d 0a 76 61 72 20 d0 a1 d1 82 d0 b0 d0 bd d0 ..var .........
01d0: b4 d0 b0 d1 80 d1 82 d0 bd d1 8b d0 b5 d0 a0 d0 ................
01e0: b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 20 ...............
01f0: 20 20 20 3d 20 5b 22 d0 9a d0 be d0 b4 22 2c 20 = ["......",
0200: 22 d0 9d d0 b0 d0 b8 d0 bc d0 b5 d0 bd d0 be d0 "...............
0210: b2 d0 b0 d0 bd d0 b8 d0 b5 22 2c 20 22 d0 a0 d0 .........", "...
0220: be d0 b4 d0 b8 d1 82 d0 b5 d0 bb d1 8c 22 2c 20 .............",
0230: 22 d0 92 d0 bb d0 b0 d0 b4 d0 b5 d0 bb d0 b5 d1 "...............
0240: 86 22 2c 20 22 d0 9f d0 be d0 bc d0 b5 d1 82 d0 .", "...........
0250: ba d0 b0 d0 a3 d0 b4 d0 b0 d0 bb d0 b5 d0 bd d0 ................
0260: b8 d1 8f 22 2c 20 22 d0 a1 d1 81 d1 8b d0 bb d0 ...", ".........
0270: ba d0 b0 22 5d 0d 0a 63 6f 64 65 67 65 6e 5f 6d ..."]..codegen_m
0280: 61 6e 61 67 65 72 2e 72 65 67 69 73 74 65 72 43 anager.registerC
0290: 6f 64 65 47 65 6e 28 22 d0 a1 d0 bf d1 80 d0 b0 odeGen("........
02a0: d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b8 2f d0 ............../.
02b0: 9d d0 be d0 b2 d1 8b d0 b9 2f d0 ad d0 bb d0 b5 ........./......
02c0: d0 bc d0 b5 d0 bd d1 82 20 d1 81 20 d0 b7 d0 b0 ........ .. ....
02d0: d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd d0 b8 d0 b5 ................
02e0: d0 bc 20 d0 b2 d1 81 d0 b5 d1 85 20 d1 80 d0 b5 .. ........ ....
02f0: d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d0 be d0 b2 ................
0300: 22 2c 20 67 65 6e 61 72 61 74 65 4e 65 77 52 65 ", genarateNewRe
0310: 66 73 45 6c 65 6d 65 6e 74 29 3b 0d 0a 63 6f 64 fsElement);..cod
0320: 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 72 65 67 egen_manager.reg
0330: 69 73 74 65 72 43 6f 64 65 47 65 6e 28 22 d0 a1 isterCodeGen("..
0340: d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 ................
0350: d0 ba d0 b8 2f d0 9d d0 be d0 b2 d1 8b d0 b9 2f ..../........../
0360: d0 93 d1 80 d1 83 d0 bf d0 bf d0 b0 20 d1 81 20 ............ ..
0370: d0 b7 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd ................
0380: d0 b8 d0 b5 d0 bc 20 d0 b2 d1 81 d0 b5 d1 85 20 ...... ........
0390: d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 ................
03a0: d0 be d0 b2 22 2c 20 67 65 6e 61 72 61 74 65 4e ....", genarateN
03b0: 65 77 52 65 66 73 47 72 6f 75 70 29 3b 0d 0a 0d ewRefsGroup);...
03c0: 0a 66 75 6e 63 74 69 6f 6e 20 67 65 6e 61 72 61 .function genara
03d0: 74 65 4e 65 77 52 65 66 73 45 6c 65 6d 65 6e 74 teNewRefsElement
03e0: 28 70 61 72 61 6d 29 0d 0a 7b 0d 0a 20 20 20 20 (param)..{..
03f0: 2f 2f 20 d0 94 d0 bb d1 8f 20 d0 bd d0 b0 d1 87 // ...... ......
0400: d0 b0 d0 bb d0 b0 20 d0 b2 d1 8b d0 b1 d0 b5 d1 ...... .........
0410: 80 d0 b5 d0 bc 20 d0 b2 d0 b8 d0 b4 20 d1 81 d0 ..... ...... ...
0420: bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ................
0430: ba d0 b0 0d 0a 20 20 20 20 76 61 72 20 64 6f 63 ..... var doc
0440: 4b 69 6e 64 20 3d 20 73 6e 65 67 6f 70 61 74 2e Kind = snegopat.
0450: 70 61 72 73 65 54 65 6d 70 6c 61 74 65 53 74 72 parseTemplateStr
0460: 69 6e 67 28 27 3c 3f 22 d0 92 d1 8b d0 b1 d0 b5 ing('<?"........
0470: d1 80 d0 b8 d1 82 d0 b5 20 d0 b2 d0 b8 d0 b4 20 ........ ......
0480: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd ................
0490: d0 b8 d0 ba d0 b0 22 2c 20 d0 a1 d0 bf d1 80 d0 ......", .......
04a0: b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba 3e 27 29 .............>')
04b0: 0d 0a 20 20 20 20 69 66 28 21 64 6f 63 4b 69 6e .. if(!docKin
04c0: 64 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 d.length)..
04d0: 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0d return false.
04e0: 0a 20 20 20 20 76 62 73 2e 72 65 73 75 6c 74 20 . vbs.result
04f0: 3d 20 22 d1 81 d0 bf d1 80 22 20 2b 20 64 6f 63 = "......" + doc
0500: 4b 69 6e 64 0d 0a 20 20 20 20 76 61 72 20 76 61 Kind.. var va
0510: 72 4e 61 6d 65 20 3d 20 76 62 73 2e 44 6f 45 78 rName = vbs.DoEx
0520: 65 63 75 74 65 28 27 49 6e 70 75 74 53 74 72 69 ecute('InputStri
0530: 6e 67 20 72 65 73 75 6c 74 2c 20 22 d0 a3 d0 ba ng result, "....
0540: d0 b0 d0 b6 d0 b8 d1 82 d0 b5 20 d0 bd d0 b0 d0 .......... .....
0550: b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bf d0 b5 ........... ....
0560: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 be d0 b9 ................
0570: 22 27 29 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f "').. .. /
0580: 2f 20 d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 d0 bc / ..............
0590: 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 20 d0 b2 ............ ..
05a0: d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d1 8b d1 85 ................
05b0: 20 d1 82 d0 b8 d0 bf d0 be d0 b2 0d 0a 20 20 20 ............
05c0: 20 76 61 72 20 74 66 20 3d 20 6e 65 77 20 63 6f var tf = new co
05d0: 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 54 79 degen_manager.Ty
05e0: 70 65 46 69 6e 64 65 72 28 29 0d 0a 20 20 20 20 peFinder()..
05f0: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 6d 64 .. var md
0600: 4f 62 6a 20 3d 20 70 61 72 61 6d 2e 6d 64 43 6f Obj = param.mdCo
0610: 6e 74 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 63 68 nt.rootObject.ch
0620: 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a1 d0 bf d1 ildObject(".....
0630: 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 ................
0640: b8 22 2c 20 64 6f 63 4b 69 6e 64 29 0d 0a 20 20 .", docKind)..
0650: 20 20 0d 0a 20 20 20 20 76 61 72 20 64 65 66 4c .. var defL
0660: 61 6e 67 49 44 20 3d 20 73 74 64 6c 69 62 2e 67 angID = stdlib.g
0670: 65 74 55 75 69 64 46 6f 6d 4d 44 52 65 66 28 70 etUuidFomMDRef(p
0680: 61 72 61 6d 2e 6d 64 43 6f 6e 74 2e 72 6f 6f 74 aram.mdCont.root
0690: 4f 62 6a 65 63 74 2e 70 72 6f 70 65 72 74 79 28 Object.property(
06a0: 22 d0 9e d1 81 d0 bd d0 be d0 b2 d0 bd d0 be d0 "...............
06b0: b9 d0 af d0 b7 d1 8b d0 ba 22 29 29 0d 0a 20 20 ........."))..
06c0: 20 20 2f 2f 76 61 72 20 64 65 66 4c 61 6e 67 4d //var defLangM
06d0: 44 20 3d 20 6d 65 74 61 64 61 74 61 2e 63 75 72 D = metadata.cur
06e0: 72 65 6e 74 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e rent.rootObject.
06f0: 63 68 69 6c 64 4f 62 6a 65 63 74 28 22 d0 af d0 childObject("...
0700: b7 d1 8b d0 ba d0 b8 22 2c 20 64 65 66 4c 61 6e .......", defLan
0710: 67 49 44 29 0d 0a 20 20 20 20 76 61 72 20 64 65 gID).. var de
0720: 66 4c 61 6e 67 4d 44 20 3d 20 70 61 72 61 6d 2e fLangMD = param.
0730: 6d 64 43 6f 6e 74 2e 66 69 6e 64 42 79 55 55 49 mdCont.findByUUI
0740: 44 28 64 65 66 4c 61 6e 67 49 44 29 0d 0a 20 20 D(defLangID)..
0750: 20 20 76 61 72 20 73 79 6e 20 3d 20 6d 64 4f 62 var syn = mdOb
0760: 6a 2e 73 79 6e 6f 6e 79 6d 28 64 65 66 4c 61 6e j.synonym(defLan
0770: 67 4d 44 2e 70 72 6f 70 65 72 74 79 28 22 d0 9a gMD.property("..
0780: d0 be d0 b4 d0 af d0 b7 d1 8b d0 ba d0 b0 22 29 ..............")
0790: 29 0d 0a 20 20 20 20 69 66 28 21 73 79 6e 2e 6c ).. if(!syn.l
07a0: 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 ength)..
07b0: 73 79 6e 20 3d 20 64 6f 63 4b 69 6e 64 0d 0a 20 syn = docKind..
07c0: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 74 65 78 .. var tex
07d0: 74 20 3d 20 27 2f 2f 7b 20 d0 a1 d0 be d0 b7 d0 t = '//{ .......
07e0: b4 d0 b0 d0 bd d0 b8 d0 b5 20 d1 81 d0 bf d1 80 ......... ......
07f0: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b0 ................
0800: 20 22 27 20 2b 20 73 79 6e 20 2b 20 27 22 20 d0 "' + syn + '" .
0810: b2 20 27 20 2b 20 76 61 72 4e 61 6d 65 20 2b 27 . ' + varName +'
0820: 5c 6e 27 20 2b 20 76 61 72 4e 61 6d 65 20 2b 20 \n' + varName +
0830: 27 20 3d 20 d0 a1 d0 bf d1 80 d0 b0 d0 b2 d0 be ' = ............
0840: d1 87 d0 bd d0 b8 d0 ba d0 b8 2e 27 20 2b 20 64 ...........' + d
0850: 6f 63 4b 69 6e 64 20 2b 20 27 2e d0 a1 d0 be d0 ocKind + '......
0860: b7 d0 b4 d0 b0 d1 82 d1 8c d0 ad d0 bb d0 b5 d0 ................
0870: bc d0 b5 d0 bd d1 82 28 29 3b 5c 6e 27 0d 0a 20 .......();\n'..
0880: 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 // ..........
0890: d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1 81 d1 82 d0 .......... .....
08a0: b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1 8b d0 ................
08b0: b5 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 . ..............
08c0: d1 82 d1 8b 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 .... ...........
08d0: be d1 87 d0 bd d0 b8 d0 ba d0 b0 2e 20 0d 0a 20 ............ ..
08e0: 20 20 20 74 65 78 74 20 2b 3d 20 70 72 6f 63 65 text += proce
08f0: 73 73 53 74 61 6e 64 61 72 74 41 74 74 72 69 62 ssStandartAttrib
0900: 73 28 22 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd s(" ............
0910: d0 b5 d0 bd d0 b8 d0 b5 20 d1 81 d1 82 d0 b0 d0 ........ .......
0920: bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1 8b d1 85 20 ...............
0930: d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 ................
0940: d0 be d0 b2 22 2c 20 22 22 2c 20 22 22 2c 20 d0 ....", "", "", .
0950: a1 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 ................
0960: bd d1 8b d0 b5 d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0 ................
0970: b7 d0 b8 d1 82 d1 8b 2c 76 61 72 4e 61 6d 65 2c .......,varName,
0980: 20 6d 64 4f 62 6a 2c 20 74 66 29 3b 0d 0a 20 0d mdObj, tf);.. .
0990: 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 . // ........
09a0: d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1 80 d0 ............ ...
09b0: b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 20 ...............
09c0: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd ................
09d0: d0 b8 d0 ba d0 b0 0d 0a 20 20 20 20 74 65 78 74 ........ text
09e0: 20 2b 3d 20 70 72 6f 63 65 73 73 41 74 74 72 69 += processAttri
09f0: 62 73 28 22 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bs(" ...........
0a00: bd d0 b5 d0 bd d0 b8 d0 b5 20 d1 80 d0 b5 d0 ba ......... ......
0a10: d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d0 be d0 b2 22 2c ..............",
0a20: 20 22 22 2c 20 22 22 2c 20 76 61 72 4e 61 6d 65 "", "", varName
0a30: 2c 20 6d 64 4f 62 6a 2c 20 74 66 29 0d 0a 20 20 , mdObj, tf)..
0a40: 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 // ...........
0a50: be d1 82 d0 b0 d0 b5 d0 bc 20 d1 82 d0 b0 d0 b1 ......... ......
0a60: d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 20 d1 87 d0 ............ ...
0a70: b0 d1 81 d1 82 d0 b8 0d 0a 20 20 20 20 76 61 72 ......... var
0a80: 20 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 3d tabPartsCount =
0a90: 20 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65 mdObj.childObje
0aa0: 63 74 73 43 6f 75 6e 74 28 22 d0 a2 d0 b0 d0 b1 ctsCount("......
0ab0: d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7 d0 b0 ................
0ac0: d1 81 d1 82 d0 b8 22 29 0d 0a 20 20 20 20 69 66 ......").. if
0ad0: 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 29 0d (tabPartsCount).
0ae0: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 . {..
0af0: 76 61 72 20 6c 69 6e 65 56 61 72 4e 61 6d 65 20 var lineVarName
0b00: 3d 20 76 61 72 4e 61 6d 65 20 2b 20 22 d0 a1 d1 = varName + "...
0b10: 82 d1 80 d0 be d0 ba d0 b0 22 2c 0d 0a 20 20 20 .........",..
0b20: 20 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 20 indent
0b30: 3d 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 67 65 = profileRoot.ge
0b40: 74 56 61 6c 75 65 28 22 4d 6f 64 75 6c 65 54 65 tValue("ModuleTe
0b50: 78 74 45 64 69 74 6f 72 2f 52 65 70 6c 61 63 65 xtEditor/Replace
0b60: 54 61 62 4f 6e 49 6e 70 75 74 22 29 20 3f 20 63 TabOnInput") ? c
0b70: 6f 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 66 odegen_manager.f
0b80: 69 6c 6c 4c 69 6e 65 28 22 20 22 2c 20 70 72 6f illLine(" ", pro
0b90: 66 69 6c 65 52 6f 6f 74 2e 67 65 74 56 61 6c 75 fileRoot.getValu
0ba0: 65 28 22 4d 6f 64 75 6c 65 54 65 78 74 45 64 69 e("ModuleTextEdi
0bb0: 74 6f 72 2f 54 61 62 53 69 7a 65 22 29 29 20 3a tor/TabSize")) :
0bc0: 20 22 5c 74 22 0d 0a 20 20 20 20 20 20 20 20 69 "\t".. i
0bd0: 66 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 f(tabPartsCount
0be0: 3e 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 > 1)..
0bf0: 20 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7b 20 20 text += "//{
0c00: d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd ................
0c10: d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1 .... ...........
0c20: 87 d0 bd d1 8b d1 85 20 d1 87 d0 b0 d1 81 d1 82 ....... ........
0c30: d0 b5 d0 b9 5c 6e 22 0d 0a 20 20 20 20 20 20 20 ....\n"..
0c40: 20 66 6f 72 28 76 61 72 20 69 20 3d 20 30 3b 20 for(var i = 0;
0c50: 69 20 3c 20 74 61 62 50 61 72 74 73 43 6f 75 6e i < tabPartsCoun
0c60: 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 20 20 20 t; i++)..
0c70: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 {..
0c80: 76 61 72 20 74 70 20 3d 20 6d 64 4f 62 6a 2e 63 var tp = mdObj.c
0c90: 68 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a2 d0 b0 hildObject("....
0ca0: d0 b1 d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7 ................
0cb0: d0 b0 d1 81 d1 82 d0 b8 22 2c 20 69 29 0d 0a 20 ........", i)..
0cc0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 var p
0cd0: 72 6f 70 56 61 6c 20 3d 20 74 6f 56 38 56 61 6c ropVal = toV8Val
0ce0: 75 65 28 74 70 2e 70 72 6f 70 65 72 74 79 28 22 ue(tp.property("
0cf0: d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be ................
0d00: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29 3b 0d 0a .........."));..
0d10: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
0d20: 70 72 6f 70 56 61 6c 2e 70 72 65 73 65 6e 74 61 propVal.presenta
0d30: 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94 d0 bb d1 tion() == ".....
0d40: 8f d0 93 d1 80 d1 83 d0 bf d0 bf d1 8b 22 29 7b ............."){
0d50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0d60: 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 continue;..
0d70: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 }..
0d80: 20 20 20 20 20 20 20 20 74 65 78 74 20 2b 3d 20 text +=
0d90: 70 72 6f 63 65 73 73 41 74 74 72 69 62 73 28 22 processAttribs("
0da0: 20 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 ..............
0db0: d0 bd d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 ...... .........
0dc0: b8 d1 87 d0 bd d0 be d0 b9 20 d1 87 d0 b0 d1 81 ......... ......
0dd0: d1 82 d0 b8 20 22 20 2b 20 74 70 2e 6e 61 6d 65 .... " + tp.name
0de0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ,..
0df0: 20 20 20 22 d0 94 d0 bb d1 8f 20 d0 9a d0 b0 d0 "...... .....
0e00: b6 d0 b4 d0 be d0 b3 d0 be 20 d0 98 d0 b7 20 d0 ......... .... .
0e10: a6 d0 b8 d0 ba d0 bb 5c 6e 22 20 2b 20 69 6e 64 .......\n" + ind
0e20: 65 6e 74 20 2b 20 6c 69 6e 65 56 61 72 4e 61 6d ent + lineVarNam
0e30: 65 20 2b 20 22 20 3d 20 22 20 2b 20 76 61 72 4e e + " = " + varN
0e40: 61 6d 65 20 2b 20 22 2e 22 20 2b 20 74 70 2e 6e ame + "." + tp.n
0e50: 61 6d 65 20 2b 20 22 2e d0 94 d0 be d0 b1 d0 b0 ame + ".........
0e60: d0 b2 d0 b8 d1 82 d1 8c 28 29 3b 5c 6e 22 20 2c ........();\n" ,
0e70: 20 22 d0 9a d0 be d0 bd d0 b5 d1 86 d0 a6 d0 b8 "..............
0e80: d0 ba d0 bb d0 b0 3b 5c 6e 22 2c 0d 0a 20 20 20 ......;\n",..
0e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 64 ind
0ea0: 65 6e 74 20 2b 20 6c 69 6e 65 56 61 72 4e 61 6d ent + lineVarNam
0eb0: 65 2c 20 74 70 2c 20 74 66 29 0d 0a 20 20 20 20 e, tp, tf)..
0ec0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 69 }.. i
0ed0: 66 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 f(tabPartsCount
0ee0: 3e 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 > 1)..
0ef0: 20 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7d 20 20 text += "//}
0f00: d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd ................
0f10: d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1 .... ...........
0f20: 87 d0 bd d1 8b d1 85 20 d1 87 d0 b0 d1 81 d1 82 ....... ........
0f30: d0 b5 d0 b9 5c 6e 22 0d 0a 20 20 20 20 7d 0d 0a ....\n".. }..
0f40: 20 20 20 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7d text += "//}
0f50: 20 d0 a1 d0 be d0 b7 d0 b4 d0 b0 d0 bd d0 b8 d0 ...............
0f60: b5 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 . ..............
0f70: d0 bd d0 b8 d0 ba d0 b0 20 22 20 2b 20 64 6f 63 ........ " + doc
0f80: 4b 69 6e 64 20 2b 20 22 20 d0 b2 20 22 20 2b 20 Kind + " .. " +
0f90: 76 61 72 4e 61 6d 65 0d 0a 20 20 20 20 70 61 72 varName.. par
0fa0: 61 6d 2e 74 65 78 74 20 3d 20 74 65 78 74 0d 0a am.text = text..
0fb0: 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 0d return true.
0fc0: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 .}....function g
0fd0: 65 6e 61 72 61 74 65 4e 65 77 52 65 66 73 47 72 enarateNewRefsGr
0fe0: 6f 75 70 28 70 61 72 61 6d 29 0d 0a 7b 0d 0a 20 oup(param)..{..
0ff0: 20 20 20 2f 2f 20 d0 94 d0 bb d1 8f 20 d0 bd d0 // ...... ...
1000: b0 d1 87 d0 b0 d0 bb d0 b0 20 d0 b2 d1 8b d0 b1 ......... ......
1010: d0 b5 d1 80 d0 b5 d0 bc 20 d0 b2 d0 b8 d0 b4 20 ........ ......
1020: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd ................
1030: d0 b8 d0 ba d0 b0 0d 0a 20 20 20 20 76 61 72 20 ........ var
1040: 64 6f 63 4b 69 6e 64 20 3d 20 73 6e 65 67 6f 70 docKind = snegop
1050: 61 74 2e 70 61 72 73 65 54 65 6d 70 6c 61 74 65 at.parseTemplate
1060: 53 74 72 69 6e 67 28 27 3c 3f 22 d0 92 d1 8b d0 String('<?".....
1070: b1 d0 b5 d1 80 d0 b8 d1 82 d0 b5 20 d0 b2 d0 b8 ........... ....
1080: d0 b4 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 .. .............
1090: 87 d0 bd d0 b8 d0 ba d0 b0 22 2c 20 d0 a1 d0 bf .........", ....
10a0: d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba ................
10b0: 3e 27 29 0d 0a 20 20 20 20 69 66 28 21 64 6f 63 >').. if(!doc
10c0: 4b 69 6e 64 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 Kind.length)..
10d0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c return fal
10e0: 73 65 0d 0a 20 20 20 20 76 62 73 2e 72 65 73 75 se.. vbs.resu
10f0: 6c 74 20 3d 20 22 d1 81 d0 bf d1 80 22 20 2b 20 lt = "......" +
1100: 64 6f 63 4b 69 6e 64 0d 0a 20 20 20 20 76 61 72 docKind.. var
1110: 20 76 61 72 4e 61 6d 65 20 3d 20 76 62 73 2e 44 varName = vbs.D
1120: 6f 45 78 65 63 75 74 65 28 27 49 6e 70 75 74 53 oExecute('InputS
1130: 74 72 69 6e 67 20 72 65 73 75 6c 74 2c 20 22 d0 tring result, ".
1140: a3 d0 ba d0 b0 d0 b6 d0 b8 d1 82 d0 b5 20 d0 bd ............. ..
1150: d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 d0 .............. .
1160: bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 ................
1170: be d0 b9 22 27 29 0d 0a 20 20 20 20 0d 0a 20 20 ..."').. ..
1180: 20 20 2f 2f 20 d0 9f d0 be d0 bb d1 83 d1 87 d0 // ...........
1190: b8 d0 bc 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba ... ............
11a0: 20 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d1 ...............
11b0: 8b d1 85 20 d1 82 d0 b8 d0 bf d0 be d0 b2 0d 0a ... ............
11c0: 20 20 20 20 76 61 72 20 74 66 20 3d 20 6e 65 77 var tf = new
11d0: 20 63 6f 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 codegen_manager
11e0: 2e 54 79 70 65 46 69 6e 64 65 72 28 29 0d 0a 20 .TypeFinder()..
11f0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 76 61 72 .. var
1200: 20 6d 64 4f 62 6a 20 3d 20 70 61 72 61 6d 2e 6d mdObj = param.m
1210: 64 43 6f 6e 74 2e 72 6f 6f 74 4f 62 6a 65 63 74 dCont.rootObject
1220: 2e 63 68 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a1 .childObject("..
1230: d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 ................
1240: d0 ba d0 b8 22 2c 20 64 6f 63 4b 69 6e 64 29 0d ....", docKind).
1250: 0a 20 20 20 20 2f 2f d0 9f d1 80 d0 be d0 b2 d0 . //.........
1260: b5 d1 80 d0 b8 d0 bc 20 d0 bf d0 be d0 b4 d0 b4 ....... ........
1270: d0 b5 d1 80 d0 b6 d0 b8 d0 b2 d0 b0 d0 b5 d1 82 ................
1280: 20 d0 bb d0 b8 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 .... ..........
1290: d0 be d1 87 d0 bd d0 b8 d0 ba 20 d0 b8 d0 b5 d1 .......... .....
12a0: 80 d0 b0 d1 80 d1 85 d0 b8 d1 8e 2e 20 0d 0a 20 ............ ..
12b0: 20 20 20 76 61 72 20 69 73 48 69 65 72 61 72 63 var isHierarc
12c0: 68 69 63 61 6c 20 3d 20 74 6f 56 38 56 61 6c 75 hical = toV8Valu
12d0: 65 28 6d 64 4f 62 6a 2e 70 72 6f 70 65 72 74 79 e(mdObj.property
12e0: 28 22 d0 98 d0 b5 d1 80 d0 b0 d1 80 d1 85 d0 b8 ("..............
12f0: d1 87 d0 b5 d1 81 d0 ba d0 b8 d0 b9 22 29 29 3b ............"));
1300: 0d 0a 20 20 20 20 69 66 20 28 69 73 48 69 65 72 .. if (isHier
1310: 61 72 63 68 69 63 61 6c 2e 70 72 65 73 65 6e 74 archical.present
1320: 61 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 9b d0 be ation() == "....
1330: d0 b6 d1 8c 22 29 7b 0d 0a 20 20 20 20 20 20 20 ...."){..
1340: 20 4d 65 73 73 61 67 65 28 22 d0 a1 d0 bf d1 80 Message("......
1350: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba 20 22 .............. "
1360: 2b 64 6f 63 4b 69 6e 64 2b 22 20 d0 bd d0 b5 20 +docKind+" ....
1370: d0 b8 d0 b5 d1 80 d0 b0 d1 80 d1 85 d0 b8 d1 87 ................
1380: d0 b5 d1 81 d0 ba d0 b8 d0 b9 20 22 29 3b 0d 0a .......... ");..
1390: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d return;.
13a0: 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 76 61 . }.... va
13b0: 72 20 64 65 66 4c 61 6e 67 49 44 20 3d 20 73 74 r defLangID = st
13c0: 64 6c 69 62 2e 67 65 74 55 75 69 64 46 6f 6d 4d dlib.getUuidFomM
13d0: 44 52 65 66 28 70 61 72 61 6d 2e 6d 64 43 6f 6e DRef(param.mdCon
13e0: 74 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 70 72 6f t.rootObject.pro
13f0: 70 65 72 74 79 28 22 d0 9e d1 81 d0 bd d0 be d0 perty(".........
1400: b2 d0 bd d0 be d0 b9 d0 af d0 b7 d1 8b d0 ba 22 ..............."
1410: 29 29 0d 0a 20 20 20 20 2f 2f 76 61 72 20 64 65 )).. //var de
1420: 66 4c 61 6e 67 4d 44 20 3d 20 6d 65 74 61 64 61 fLangMD = metada
1430: 74 61 2e 63 75 72 72 65 6e 74 2e 72 6f 6f 74 4f ta.current.rootO
1440: 62 6a 65 63 74 2e 63 68 69 6c 64 4f 62 6a 65 63 bject.childObjec
1450: 74 28 22 d0 af d0 b7 d1 8b d0 ba d0 b8 22 2c 20 t("..........",
1460: 64 65 66 4c 61 6e 67 49 44 29 0d 0a 20 20 20 20 defLangID)..
1470: 76 61 72 20 64 65 66 4c 61 6e 67 4d 44 20 3d 20 var defLangMD =
1480: 70 61 72 61 6d 2e 6d 64 43 6f 6e 74 2e 66 69 6e param.mdCont.fin
1490: 64 42 79 55 55 49 44 28 64 65 66 4c 61 6e 67 49 dByUUID(defLangI
14a0: 44 29 0d 0a 20 20 20 20 76 61 72 20 73 79 6e 20 D).. var syn
14b0: 3d 20 6d 64 4f 62 6a 2e 73 79 6e 6f 6e 79 6d 28 = mdObj.synonym(
14c0: 64 65 66 4c 61 6e 67 4d 44 2e 70 72 6f 70 65 72 defLangMD.proper
14d0: 74 79 28 22 d0 9a d0 be d0 b4 d0 af d0 b7 d1 8b ty("............
14e0: d0 ba d0 b0 22 29 29 0d 0a 20 20 20 20 69 66 28 ....")).. if(
14f0: 21 73 79 6e 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 !syn.length)..
1500: 20 20 20 20 20 20 73 79 6e 20 3d 20 64 6f 63 4b syn = docK
1510: 69 6e 64 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 ind.. .. v
1520: 61 72 20 74 65 78 74 20 3d 20 27 2f 2f 7b 20 d0 ar text = '//{ .
1530: a1 d0 be d0 b7 d0 b4 d0 b0 d0 bd d0 b8 d0 b5 20 ...............
1540: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd ................
1550: d0 b8 d0 ba d0 b0 20 22 27 20 2b 20 73 79 6e 20 ...... "' + syn
1560: 2b 20 27 22 20 d0 b2 20 27 20 2b 20 76 61 72 4e + '" .. ' + varN
1570: 61 6d 65 20 2b 27 5c 6e 27 20 2b 20 76 61 72 4e ame +'\n' + varN
1580: 61 6d 65 20 2b 20 27 20 3d 20 d0 a1 d0 bf d1 80 ame + ' = ......
1590: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b8 ................
15a0: 2e 27 20 2b 20 64 6f 63 4b 69 6e 64 20 2b 20 27 .' + docKind + '
15b0: 2e d0 a1 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1 8c d0 ................
15c0: 93 d1 80 d1 83 d0 bf d0 bf d1 83 28 29 3b 5c 6e ...........();\n
15d0: 27 0d 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 '.. // ......
15e0: d0 b0 d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1 .............. .
15f0: 81 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 ................
1600: bd d1 8b d0 b5 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8 ..... ..........
1610: d0 b7 d0 b8 d1 82 d1 8b 20 d1 81 d0 bf d1 80 d0 ........ .......
1620: b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b0 2e ................
1630: 20 0d 0a 20 20 20 20 74 65 78 74 20 2b 3d 20 70 .. text += p
1640: 72 6f 63 65 73 73 53 74 61 6e 64 61 72 74 41 74 rocessStandartAt
1650: 74 72 69 62 73 28 22 20 d0 97 d0 b0 d0 bf d0 be tribs(" ........
1660: d0 bb d0 bd d0 b5 d0 bd d0 b8 d0 b5 20 d1 81 d1 ............ ...
1670: 82 d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1 ................
1680: 8b d1 85 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 ... ............
1690: d0 b8 d1 82 d0 be d0 b2 22 2c 20 22 22 2c 20 22 ........", "", "
16a0: 22 2c 20 d0 a1 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1 ", .............
16b0: 80 d1 82 d0 bd d1 8b d0 b5 d0 a0 d0 b5 d0 ba d0 ................
16c0: b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 2c 76 61 72 4e ...........,varN
16d0: 61 6d 65 2c 20 6d 64 4f 62 6a 2c 20 74 66 29 3b ame, mdObj, tf);
16e0: 0d 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 .. // .......
16f0: b0 d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1 80 ............. ..
1700: d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b ................
1710: 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 b0 0d ...............
1720: 0a 20 20 20 20 74 65 78 74 20 2b 3d 20 70 72 6f . text += pro
1730: 63 65 73 73 41 74 74 72 69 62 73 47 72 6f 75 70 cessAttribsGroup
1740: 73 28 22 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd s(" ............
1750: d0 b5 d0 bd d0 b8 d0 b5 20 d1 80 d0 b5 d0 ba d0 ........ .......
1760: b2 d0 b8 d0 b7 d0 b8 d1 82 d0 be d0 b2 22 2c 20 .............",
1770: 22 22 2c 20 22 22 2c 20 76 61 72 4e 61 6d 65 2c "", "", varName,
1780: 20 6d 64 4f 62 6a 2c 20 74 66 29 0d 0a 20 20 20 mdObj, tf)..
1790: 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be // ............
17a0: d1 82 d0 b0 d0 b5 d0 bc 20 d1 82 d0 b0 d0 b1 d0 ........ .......
17b0: bb d0 b8 d1 87 d0 bd d1 8b d0 b5 20 d1 87 d0 b0 ........... ....
17c0: d1 81 d1 82 d0 b8 0d 0a 20 20 20 20 76 61 72 20 ........ var
17d0: 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 3d 20 tabPartsCount =
17e0: 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65 63 mdObj.childObjec
17f0: 74 73 43 6f 75 6e 74 28 22 d0 a2 d0 b0 d0 b1 d0 tsCount(".......
1800: bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7 d0 b0 d1 ................
1810: 81 d1 82 d0 b8 22 29 0d 0a 20 20 20 20 69 66 28 .....").. if(
1820: 74 61 62 50 61 72 74 73 43 6f 75 6e 74 29 0d 0a tabPartsCount)..
1830: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 {.. v
1840: 61 72 20 6c 69 6e 65 56 61 72 4e 61 6d 65 20 3d ar lineVarName =
1850: 20 76 61 72 4e 61 6d 65 20 2b 20 22 d0 a1 d1 82 varName + "....
1860: d1 80 d0 be d0 ba d0 b0 22 2c 0d 0a 20 20 20 20 ........",..
1870: 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 20 3d indent =
1880: 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 67 65 74 profileRoot.get
1890: 56 61 6c 75 65 28 22 4d 6f 64 75 6c 65 54 65 78 Value("ModuleTex
18a0: 74 45 64 69 74 6f 72 2f 52 65 70 6c 61 63 65 54 tEditor/ReplaceT
18b0: 61 62 4f 6e 49 6e 70 75 74 22 29 20 3f 20 63 6f abOnInput") ? co
18c0: 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 66 69 degen_manager.fi
18d0: 6c 6c 4c 69 6e 65 28 22 20 22 2c 20 70 72 6f 66 llLine(" ", prof
18e0: 69 6c 65 52 6f 6f 74 2e 67 65 74 56 61 6c 75 65 ileRoot.getValue
18f0: 28 22 4d 6f 64 75 6c 65 54 65 78 74 45 64 69 74 ("ModuleTextEdit
1900: 6f 72 2f 54 61 62 53 69 7a 65 22 29 29 20 3a 20 or/TabSize")) :
1910: 22 5c 74 22 0d 0a 20 20 20 20 20 20 20 20 69 66 "\t".. if
1920: 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 3e (tabPartsCount >
1930: 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 1)..
1940: 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7b 20 20 d0 text += "//{ .
1950: 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd d0 ................
1960: b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1 87 ... ............
1970: d0 bd d1 8b d1 85 20 d1 87 d0 b0 d1 81 d1 82 d0 ...... .........
1980: b5 d0 b9 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20 ...\n"..
1990: 66 6f 72 28 76 61 72 20 69 20 3d 20 30 3b 20 69 for(var i = 0; i
19a0: 20 3c 20 74 61 62 50 61 72 74 73 43 6f 75 6e 74 < tabPartsCount
19b0: 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20 ; i++)..
19c0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 {.. v
19d0: 61 72 20 74 70 20 3d 20 6d 64 4f 62 6a 2e 63 68 ar tp = mdObj.ch
19e0: 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a2 d0 b0 d0 ildObject(".....
19f0: b1 d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7 d0 ................
1a00: b0 d1 81 d1 82 d0 b8 22 2c 20 69 29 3b 0d 0a 20 .......", i);..
1a10: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 var p
1a20: 72 6f 70 56 61 6c 20 3d 20 74 6f 56 38 56 61 6c ropVal = toV8Val
1a30: 75 65 28 74 70 2e 70 72 6f 70 65 72 74 79 28 22 ue(tp.property("
1a40: d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be ................
1a50: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29 3b 0d 0a .........."));..
1a60: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
1a70: 70 72 6f 70 56 61 6c 2e 70 72 65 73 65 6e 74 61 propVal.presenta
1a80: 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94 d0 bb d1 tion() == ".....
1a90: 8f d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d0 ................
1aa0: b0 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 ."){..
1ab0: 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d continue;.
1ac0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a . }..
1ad0: 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 text
1ae0: 20 2b 3d 20 70 72 6f 63 65 73 73 41 74 74 72 69 += processAttri
1af0: 62 73 28 22 20 20 d0 97 d0 b0 d0 bf d0 be d0 bb bs(" ..........
1b00: d0 bd d0 b5 d0 bd d0 b8 d0 b5 20 d1 82 d0 b0 d0 .......... .....
1b10: b1 d0 bb d0 b8 d1 87 d0 bd d0 be d0 b9 20 d1 87 ............. ..
1b20: d0 b0 d1 81 d1 82 d0 b8 20 22 20 2b 20 74 70 2e ........ " + tp.
1b30: 6e 61 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 name,..
1b40: 20 20 20 20 20 20 20 22 d0 94 d0 bb d1 8f 20 d0 "...... .
1b50: 9a d0 b0 d0 b6 d0 b4 d0 be d0 b3 d0 be 20 d0 98 ............. ..
1b60: d0 b7 20 d0 a6 d0 b8 d0 ba d0 bb 5c 6e 22 20 2b .. ........\n" +
1b70: 20 69 6e 64 65 6e 74 20 2b 20 6c 69 6e 65 56 61 indent + lineVa
1b80: 72 4e 61 6d 65 20 2b 20 22 20 3d 20 22 20 2b 20 rName + " = " +
1b90: 76 61 72 4e 61 6d 65 20 2b 20 22 2e 22 20 2b 20 varName + "." +
1ba0: 74 70 2e 6e 61 6d 65 20 2b 20 22 2e d0 94 d0 be tp.name + ".....
1bb0: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 3b 5c ............();\
1bc0: 6e 22 20 2c 20 22 d0 9a d0 be d0 bd d0 b5 d1 86 n" , "..........
1bd0: d0 a6 d0 b8 d0 ba d0 bb d0 b0 3b 5c 6e 22 2c 0d ..........;\n",.
1be0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1bf0: 20 69 6e 64 65 6e 74 20 2b 20 6c 69 6e 65 56 61 indent + lineVa
1c00: 72 4e 61 6d 65 2c 20 74 70 2c 20 74 66 29 0d 0a rName, tp, tf)..
1c10: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
1c20: 20 20 20 69 66 28 74 61 62 50 61 72 74 73 43 6f if(tabPartsCo
1c30: 75 6e 74 20 3e 20 31 29 0d 0a 20 20 20 20 20 20 unt > 1)..
1c40: 20 20 20 20 20 20 74 65 78 74 20 2b 3d 20 22 2f text += "/
1c50: 2f 7d 20 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd /} ............
1c60: d0 b5 d0 bd d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 ........ .......
1c70: bb d0 b8 d1 87 d0 bd d1 8b d1 85 20 d1 87 d0 b0 ........... ....
1c80: d1 81 d1 82 d0 b5 d0 b9 5c 6e 22 0d 0a 20 20 20 ........\n"..
1c90: 20 7d 0d 0a 20 20 20 20 74 65 78 74 20 2b 3d 20 }.. text +=
1ca0: 22 2f 2f 7d 20 d0 a1 d0 be d0 b7 d0 b4 d0 b0 d0 "//} ...........
1cb0: bd d0 b8 d0 b5 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 ..... ..........
1cc0: d0 be d1 87 d0 bd d0 b8 d0 ba d0 b0 20 22 20 2b ............ " +
1cd0: 20 64 6f 63 4b 69 6e 64 20 2b 20 22 20 d0 b2 20 docKind + " ..
1ce0: 22 20 2b 20 76 61 72 4e 61 6d 65 0d 0a 20 20 20 " + varName..
1cf0: 20 70 61 72 61 6d 2e 74 65 78 74 20 3d 20 74 65 param.text = te
1d00: 78 74 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 xt.. return t
1d10: 72 75 65 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 rue..}....functi
1d20: 6f 6e 20 70 72 6f 63 65 73 73 53 74 61 6e 64 61 on processStanda
1d30: 72 74 41 74 74 72 69 62 73 28 63 6f 6d 6d 65 6e rtAttribs(commen
1d40: 74 2c 20 68 65 61 64 65 72 2c 20 66 6f 6f 74 65 t, header, foote
1d50: 72 2c 20 61 74 74 72 69 62 75 74 65 73 2c 20 6c r, attributes, l
1d60: 69 6e 65 2c 20 6f 62 6a 2c 20 74 66 29 20 7b 0d ine, obj, tf) {.
1d70: 0a 20 20 20 20 76 61 72 20 6c 69 6e 65 73 20 3d . var lines =
1d80: 20 5b 5d 0d 0a 20 20 20 20 66 6f 72 20 28 76 61 [].. for (va
1d90: 72 20 6b 65 79 20 69 6e 20 61 74 74 72 69 62 75 r key in attribu
1da0: 74 65 73 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 tes) {..
1db0: 76 61 72 20 6c 20 3d 20 6c 69 6e 65 20 2b 20 22 var l = line + "
1dc0: 2e 22 20 2b 20 61 74 74 72 69 62 75 74 65 73 5b ." + attributes[
1dd0: 6b 65 79 5d 20 2b 20 22 20 3d 20 3b 20 2f 2f 20 key] + " = ; //
1de0: 22 20 2f 2f 2b 20 74 66 2e 67 65 74 54 79 70 65 " //+ tf.getType
1df0: 53 74 72 69 6e 67 28 61 74 74 72 29 20 0d 0a 20 String(attr) ..
1e00: 20 20 20 20 20 20 20 6c 69 6e 65 73 2e 70 75 73 lines.pus
1e10: 68 28 6c 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 h(l);.. }..
1e20: 20 20 69 66 28 6c 69 6e 65 73 2e 6c 65 6e 67 74 if(lines.lengt
1e30: 68 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 h).. retu
1e40: 72 6e 20 22 2f 2f 7b 20 22 20 2b 20 63 6f 6d 6d rn "//{ " + comm
1e50: 65 6e 74 20 2b 20 22 5c 6e 22 20 2b 20 68 65 61 ent + "\n" + hea
1e60: 64 65 72 20 2b 20 63 6f 64 65 67 65 6e 5f 6d 61 der + codegen_ma
1e70: 6e 61 67 65 72 2e 66 6f 72 6d 61 74 41 73 73 69 nager.formatAssi
1e80: 67 6e 28 6c 69 6e 65 73 29 20 2b 20 66 6f 6f 74 gn(lines) + foot
1e90: 65 72 20 2b 20 22 2f 2f 7d 20 22 20 2b 20 63 6f er + "//} " + co
1ea0: 6d 6d 65 6e 74 20 2b 20 22 5c 6e 22 0d 0a 20 20 mment + "\n"..
1eb0: 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 else..
1ec0: 72 65 74 75 72 6e 20 22 22 0d 0a 7d 0d 0a 0d 0a return ""..}....
1ed0: 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 function process
1ee0: 41 74 74 72 69 62 73 28 63 6f 6d 6d 65 6e 74 2c Attribs(comment,
1ef0: 20 68 65 61 64 65 72 2c 20 66 6f 6f 74 65 72 2c header, footer,
1f00: 20 6c 69 6e 65 2c 20 6f 62 6a 2c 20 74 66 29 0d line, obj, tf).
1f10: 0a 7b 0d 0a 20 20 20 20 76 61 72 20 6c 69 6e 65 .{.. var line
1f20: 73 20 3d 20 5b 5d 0d 0a 20 20 20 20 66 6f 72 28 s = [].. for(
1f30: 76 61 72 20 69 20 3d 20 30 2c 20 63 6e 74 20 3d var i = 0, cnt =
1f40: 20 6f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65 63 74 obj.childObject
1f50: 73 43 6f 75 6e 74 28 22 d0 a0 d0 b5 d0 ba d0 b2 sCount("........
1f60: d0 b8 d0 b7 d0 b8 d1 82 d1 8b 22 29 3b 20 69 20 .........."); i
1f70: 3c 20 63 6e 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 < cnt; i++)..
1f80: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 {.. var
1f90: 61 74 74 72 20 3d 20 6f 62 6a 2e 63 68 69 6c 64 attr = obj.child
1fa0: 4f 62 6a 65 63 74 28 22 d0 a0 d0 b5 d0 ba d0 b2 Object("........
1fb0: d0 b8 d0 b7 d0 b8 d1 82 d1 8b 22 2c 20 69 29 0d ..........", i).
1fc0: 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0d 0a . try {..
1fd0: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 var
1fe0: 70 72 6f 70 56 61 6c 20 3d 20 74 6f 56 38 56 61 propVal = toV8Va
1ff0: 6c 75 65 28 61 74 74 72 2e 70 72 6f 70 65 72 74 lue(attr.propert
2000: 79 28 22 d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 y(".............
2010: b7 d0 be d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29 ............."))
2020: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ;.. i
2030: 66 20 28 70 72 6f 70 56 61 6c 2e 70 72 65 73 65 f (propVal.prese
2040: 6e 74 61 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94 ntation() == "..
2050: d0 bb d1 8f d0 93 d1 80 d1 83 d0 bf d0 bf d1 8b ................
2060: 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 "){..
2070: 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a continue;..
2080: 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20 }
2090: 20 0d 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 .. } cat
20a0: 63 68 20 28 65 29 20 7b 7d 0d 0a 20 20 20 20 20 ch (e) {}..
20b0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 .. var
20c0: 20 6c 20 3d 20 6c 69 6e 65 20 2b 20 22 2e 22 20 l = line + "."
20d0: 2b 20 61 74 74 72 2e 6e 61 6d 65 20 2b 20 22 20 + attr.name + "
20e0: 3d 20 3b 20 2f 2f 20 22 20 2b 20 74 66 2e 67 65 = ; // " + tf.ge
20f0: 74 54 79 70 65 53 74 72 69 6e 67 28 61 74 74 72 tTypeString(attr
2100: 29 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 ) .. var
2110: 63 20 3d 20 61 74 74 72 2e 63 6f 6d 6d 65 6e 74 c = attr.comment
2120: 0d 0a 20 20 20 20 20 20 20 20 69 66 28 63 2e 6c .. if(c.l
2130: 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 ength)..
2140: 20 20 20 20 6c 20 2b 3d 20 22 20 2f 20 22 20 2b l += " / " +
2150: 20 63 0d 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 c.. line
2160: 73 2e 70 75 73 68 28 6c 29 0d 0a 20 20 20 20 7d s.push(l).. }
2170: 0d 0a 20 20 20 20 69 66 28 6c 69 6e 65 73 2e 6c .. if(lines.l
2180: 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 ength)..
2190: 72 65 74 75 72 6e 20 22 2f 2f 7b 20 22 20 2b 20 return "//{ " +
21a0: 63 6f 6d 6d 65 6e 74 20 2b 20 22 5c 6e 22 20 2b comment + "\n" +
21b0: 20 68 65 61 64 65 72 20 2b 20 63 6f 64 65 67 65 header + codege
21c0: 6e 5f 6d 61 6e 61 67 65 72 2e 66 6f 72 6d 61 74 n_manager.format
21d0: 41 73 73 69 67 6e 28 6c 69 6e 65 73 29 20 2b 20 Assign(lines) +
21e0: 66 6f 6f 74 65 72 20 2b 20 22 2f 2f 7d 20 22 20 footer + "//} "
21f0: 2b 20 63 6f 6d 6d 65 6e 74 20 2b 20 22 5c 6e 22 + comment + "\n"
2200: 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 .. else..
2210: 20 20 20 20 72 65 74 75 72 6e 20 22 22 0d 0a 7d return ""..}
2220: 0d 0a 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 70 ......function p
2230: 72 6f 63 65 73 73 41 74 74 72 69 62 73 47 72 6f rocessAttribsGro
2240: 75 70 73 28 63 6f 6d 6d 65 6e 74 2c 20 68 65 61 ups(comment, hea
2250: 64 65 72 2c 20 66 6f 6f 74 65 72 2c 20 6c 69 6e der, footer, lin
2260: 65 2c 20 6f 62 6a 2c 20 74 66 29 0d 0a 7b 0d 0a e, obj, tf)..{..
2270: 20 20 20 20 76 61 72 20 6c 69 6e 65 73 20 3d 20 var lines =
2280: 5b 5d 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20 [].. for(var
2290: 69 20 3d 20 30 2c 20 63 6e 74 20 3d 20 6f 62 6a i = 0, cnt = obj
22a0: 2e 63 68 69 6c 64 4f 62 6a 65 63 74 73 43 6f 75 .childObjectsCou
22b0: 6e 74 28 22 d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 nt("............
22c0: d0 b8 d1 82 d1 8b 22 29 3b 20 69 20 3c 20 63 6e ......"); i < cn
22d0: 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 7b 0d 0a t; i++).. {..
22e0: 20 20 20 20 20 20 20 20 76 61 72 20 61 74 74 72 var attr
22f0: 20 3d 20 6f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65 = obj.childObje
2300: 63 74 28 22 d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 ct("............
2310: d0 b8 d1 82 d1 8b 22 2c 20 69 29 3b 0d 0a 20 20 ......", i);..
2320: 20 20 20 20 20 20 74 72 79 20 7b 0d 0a 20 20 20 try {..
2330: 20 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f var pro
2340: 70 56 61 6c 20 3d 20 74 6f 56 38 56 61 6c 75 65 pVal = toV8Value
2350: 28 61 74 74 72 2e 70 72 6f 70 65 72 74 79 28 22 (attr.property("
2360: d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be ................
2370: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29 3b 0d 0a .........."));..
2380: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
2390: 70 72 6f 70 56 61 6c 2e 70 72 65 73 65 6e 74 61 propVal.presenta
23a0: 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94 d0 bb d1 tion() == ".....
23b0: 8f d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d0 ................
23c0: b0 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 ."){..
23d0: 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d continue;.
23e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 . }
23f0: 20 20 0d 0a 20 20 20 20 20 20 20 20 7d 20 63 61 .. } ca
2400: 74 63 68 20 28 65 29 20 7b 7d 0d 0a 20 20 20 20 tch (e) {}..
2410: 20 20 20 20 76 61 72 20 6c 20 3d 20 6c 69 6e 65 var l = line
2420: 20 2b 20 22 2e 22 20 2b 20 61 74 74 72 2e 6e 61 + "." + attr.na
2430: 6d 65 20 2b 20 22 20 3d 20 3b 20 2f 2f 20 22 20 me + " = ; // "
2440: 2b 20 74 66 2e 67 65 74 54 79 70 65 53 74 72 69 + tf.getTypeStri
2450: 6e 67 28 61 74 74 72 29 0d 0a 20 20 20 20 20 20 ng(attr)..
2460: 20 20 76 61 72 20 63 20 3d 20 61 74 74 72 2e 63 var c = attr.c
2470: 6f 6d 6d 65 6e 74 0d 0a 20 20 20 20 20 20 20 20 omment..
2480: 69 66 28 63 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 if(c.length)..
2490: 20 20 20 20 20 20 20 20 20 20 6c 20 2b 3d 20 22 l += "
24a0: 20 2f 20 22 20 2b 20 63 0d 0a 20 20 20 20 20 20 / " + c..
24b0: 20 20 6c 69 6e 65 73 2e 70 75 73 68 28 6c 29 0d lines.push(l).
24c0: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 69 66 28 6c . }.. if(l
24d0: 69 6e 65 73 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 ines.length)..
24e0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 2f 2f return "//
24f0: 7b 20 22 20 2b 20 63 6f 6d 6d 65 6e 74 20 2b 20 { " + comment +
2500: 22 5c 6e 22 20 2b 20 68 65 61 64 65 72 20 2b 20 "\n" + header +
2510: 63 6f 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e codegen_manager.
2520: 66 6f 72 6d 61 74 41 73 73 69 67 6e 28 6c 69 6e formatAssign(lin
2530: 65 73 29 20 2b 20 66 6f 6f 74 65 72 20 2b 20 22 es) + footer + "
2540: 2f 2f 7d 20 22 20 2b 20 63 6f 6d 6d 65 6e 74 20 //} " + comment
2550: 2b 20 22 5c 6e 22 0d 0a 20 20 20 20 65 6c 73 65 + "\n".. else
2560: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .. return
2570: 20 22 22 0d 0a 7d 0d 0a 0d 0a ""..}....