brighterscript 0.73.0 → 0.73.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/BusyStatusTracker.js +3 -0
  2. package/dist/BusyStatusTracker.js.map +1 -1
  3. package/dist/DiagnosticMessages.d.ts +21 -1
  4. package/dist/DiagnosticMessages.js +26 -2
  5. package/dist/DiagnosticMessages.js.map +1 -1
  6. package/dist/LanguageServer.d.ts +14 -1
  7. package/dist/LanguageServer.js +51 -5
  8. package/dist/LanguageServer.js.map +1 -1
  9. package/dist/Logger.d.ts +7 -7
  10. package/dist/Logger.js.map +1 -1
  11. package/dist/Program.d.ts +57 -5
  12. package/dist/Program.js +125 -3
  13. package/dist/Program.js.map +1 -1
  14. package/dist/ProgramBuilder.js.map +1 -1
  15. package/dist/RokuConstants.d.ts +37 -2
  16. package/dist/RokuConstants.js +32 -3
  17. package/dist/RokuConstants.js.map +1 -1
  18. package/dist/Scope.d.ts +3 -3
  19. package/dist/Scope.js.map +1 -1
  20. package/dist/ScopeNamespaceLookup.js.map +1 -1
  21. package/dist/Throttler.d.ts +1 -1
  22. package/dist/Throttler.js.map +1 -1
  23. package/dist/XmlScope.d.ts +2 -2
  24. package/dist/astUtils/reflection.js.map +1 -1
  25. package/dist/astUtils/visitors.d.ts +1 -1
  26. package/dist/astUtils/visitors.js +2 -0
  27. package/dist/astUtils/visitors.js.map +1 -1
  28. package/dist/bscPlugin/BscPlugin.js +4 -0
  29. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  30. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  31. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
  32. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +3 -3
  33. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  34. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +67 -2
  35. package/dist/bscPlugin/definition/DefinitionProvider.js +242 -4
  36. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
  37. package/dist/bscPlugin/inlayHints/InlayHintProcessor.js.map +1 -1
  38. package/dist/bscPlugin/references/ReferencesProvider.js +7 -1
  39. package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -1
  40. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  41. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
  42. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +14 -0
  43. package/dist/bscPlugin/validation/BrsFileValidator.js +33 -4
  44. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  45. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  46. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +18 -0
  47. package/dist/bscPlugin/validation/XmlFileValidator.js +50 -0
  48. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  49. package/dist/cli.js.map +1 -1
  50. package/dist/common/Sequencer.js.map +1 -1
  51. package/dist/diagnosticUtils.d.ts +1 -1
  52. package/dist/diagnosticUtils.js.map +1 -1
  53. package/dist/files/BrsFile.d.ts +2 -2
  54. package/dist/files/BrsFile.js +4 -0
  55. package/dist/files/BrsFile.js.map +1 -1
  56. package/dist/files/XmlFile.d.ts +45 -0
  57. package/dist/files/XmlFile.js +258 -2
  58. package/dist/files/XmlFile.js.map +1 -1
  59. package/dist/interfaces.d.ts +6 -3
  60. package/dist/lexer/Lexer.d.ts +26 -0
  61. package/dist/lexer/Lexer.js +151 -19
  62. package/dist/lexer/Lexer.js.map +1 -1
  63. package/dist/lexer/TokenKind.d.ts +27 -0
  64. package/dist/lexer/TokenKind.js +77 -3
  65. package/dist/lexer/TokenKind.js.map +1 -1
  66. package/dist/lsp/ActionQueue.js.map +1 -1
  67. package/dist/lsp/DocumentManager.js +4 -0
  68. package/dist/lsp/DocumentManager.js.map +1 -1
  69. package/dist/lsp/LspProject.d.ts +2 -2
  70. package/dist/lsp/Project.d.ts +2 -2
  71. package/dist/lsp/Project.js +2 -0
  72. package/dist/lsp/Project.js.map +1 -1
  73. package/dist/lsp/ProjectManager.d.ts +7 -2
  74. package/dist/lsp/ProjectManager.js +3 -1
  75. package/dist/lsp/ProjectManager.js.map +1 -1
  76. package/dist/lsp/worker/MessageHandler.d.ts +1 -0
  77. package/dist/lsp/worker/MessageHandler.js +9 -0
  78. package/dist/lsp/worker/MessageHandler.js.map +1 -1
  79. package/dist/lsp/worker/WorkerPool.d.ts +37 -16
  80. package/dist/lsp/worker/WorkerPool.js +87 -39
  81. package/dist/lsp/worker/WorkerPool.js.map +1 -1
  82. package/dist/lsp/worker/WorkerThreadProject.d.ts +16 -3
  83. package/dist/lsp/worker/WorkerThreadProject.js +42 -10
  84. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  85. package/dist/lsp/worker/WorkerThreadProjectRunner.js +6 -0
  86. package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -1
  87. package/dist/lsp/worker/run.js +20 -3
  88. package/dist/lsp/worker/run.js.map +1 -1
  89. package/dist/parser/AstNode.d.ts +55 -1
  90. package/dist/parser/AstNode.js +56 -5
  91. package/dist/parser/AstNode.js.map +1 -1
  92. package/dist/parser/BrsTranspileState.d.ts +44 -0
  93. package/dist/parser/BrsTranspileState.js +49 -0
  94. package/dist/parser/BrsTranspileState.js.map +1 -1
  95. package/dist/parser/Expression.d.ts +14 -0
  96. package/dist/parser/Expression.js +28 -0
  97. package/dist/parser/Expression.js.map +1 -1
  98. package/dist/parser/Parser.d.ts +0 -5
  99. package/dist/parser/Parser.js +8 -12
  100. package/dist/parser/Parser.js.map +1 -1
  101. package/dist/parser/SGParser.d.ts +6 -0
  102. package/dist/parser/SGParser.js +31 -18
  103. package/dist/parser/SGParser.js.map +1 -1
  104. package/dist/parser/SGTypes.d.ts +18 -8
  105. package/dist/parser/SGTypes.js +42 -15
  106. package/dist/parser/SGTypes.js.map +1 -1
  107. package/dist/parser/Statement.d.ts +2 -2
  108. package/dist/parser/Statement.js +32 -2
  109. package/dist/parser/Statement.js.map +1 -1
  110. package/dist/preprocessor/Preprocessor.js.map +1 -1
  111. package/dist/roku-types/index.d.ts +4 -0
  112. package/dist/util.d.ts +13 -2
  113. package/dist/util.js +27 -3
  114. package/dist/util.js.map +1 -1
  115. package/dist/validators/ClassValidator.d.ts +5 -4
  116. package/dist/validators/ClassValidator.js.map +1 -1
  117. package/package.json +8 -4
@@ -1 +1 @@
1
- {"version":3,"file":"SGParser.js","sourceRoot":"","sources":["../../src/parser/SGParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SGParser.js","sourceRoot":"","sources":["../../src/parser/SGParser.ts"],"names":[],"mappings":";;;AACA,4CAA4C;AAC5C,8DAA2D;AAE3D,kCAA2B;AAC3B,uCAAyH;AAEzH,yCAAgD;AAEhD,MAAqB,QAAQ;IAA7B;QAEI;;WAEG;QACI,QAAG,GAAU,IAAI,eAAK,EAAE,CAAC;QAIhC;;WAEG;QACI,gBAAW,GAAG,EAAkB,CAAC;IAsH5C,CAAC;IAhHG;;;;OAIG;IACH,IAAI,UAAU;QACV,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACH,oBAAoB;QAChB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,cAAc;QAClB,IAAI,CAAC,WAAW,GAAG,iBAAiB,EAAE,CAAC;QAEvC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC1C;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;SAChD;QAED,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE;gBACT,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBACnC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;oBAClC,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,cAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;iBACxD,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,YAAoB;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAE1B,IAAI,SAAS,CAAC,MAAM,EAAE;YAClB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;gBACzB,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,KAC1E,KAAK,EAAE,cAAI,CAAC,WAAW,CACnB,GAAG,CAAC,IAAI,GAAG,CAAC,EACZ,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,IAAI,GAAG,CAAC,EACZ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAC1B,IACH,CAAC;aACN;SACJ;QACD,IAAI,WAAW,CAAC,MAAM,EAAE;YACpB,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,KAC1E,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,IACvG,CAAC;SACN;QAED,2GAA2G;QAC3G,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAiC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,0DAA0D;YAC1D,IACI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,IAAI,GAAG,MAAM,MAAK,CAAC;gBACjC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,IAAI,EAAE,MAAK,OAAO,EAClC;gBACE,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,oBAAoB,CAAC,sDAAsD,CAAC,KAClG,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,IAChC,CAAC;aACN;SACJ;QAED,IAAI,IAAA,mBAAa,EAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,eAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC5C;aAAM;YACH,IAAI,IAAI,EAAE;gBACN,wBAAwB;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KACrD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IACvB,CAAC;aACN;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,eAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACtC;IACL,CAAC;CACJ;AAlID,2BAkIC;AAED,SAAS,QAAQ,CAAC,GAAoB,EAAE,WAAyB;;IAC7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;IAEpD,IAAI,MAAgB,CAAC;IACrB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,EAAE;QAChB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClC,MAAM,GAAG,IAAI,kBAAQ,CACjB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAC5B,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAC5B,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;KACL;IAED,IAAI,IAAW,CAAC;IAChB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAI,MAAA,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,0CAAE,IAAI,CAAA,EAAE;QAClD,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;KAC9C;IAED,OAAO;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACb,CAAC;AACN,CAAC;AAiBD,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAkB,EAAE,WAAyB;;IACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,gBAAgB,GAAG,MAAA,QAAQ,CAAC,QAAQ,0CAAG,CAAC,CAAC,CAAC;IAChD,IAAI,KAAY,CAAC;IACjB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC3C,IAAI,WAAW,EAAE;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC/C;SAAM;QACH,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,GAAG,0CAAG,CAAC,CAAC,CAAC;QACnC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KAChD;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9E,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAG,CAAC,CAAC,CAAC;IACtC,wFAAwF;IACxF,6FAA6F;IAC7F,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;QAC7B,KAAK,WAAW;YACZ,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;YACjH,OAAO,IAAI,qBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACnF,KAAK,WAAW;YACZ,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;YAClF,OAAO,IAAI,qBAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACvE,KAAK,OAAO;YACR,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;gBACtB,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC/C;YACD,OAAO,IAAI,iBAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7D,KAAK,UAAU;YACX,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;gBACtB,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC/C;YACD,OAAO,IAAI,oBAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAChE,KAAK,QAAQ;YACT,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;gBACtB,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC/C;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,kBAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACrE,KAAK,UAAU;YACX,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,IAAI,oBAAU,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACrE;YACI,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,IAAI,gBAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;KAC5E;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAa,EAAE,WAAyB;IACtE,WAAW,CAAC,IAAI,iCACT,uCAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,KACtD,KAAK,EAAE,IAAI,CAAC,KAAK,IACnB,CAAC;AACP,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,QAAQ,EAAkB;;IACzC,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAG,CAAC,CAAC,CAAC;IACrC,gGAAgG;IAChG,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,gBAAgB,GAAG,MAAA,QAAQ,CAAC,QAAQ,0CAAG,CAAC,CAAC,CAAC;IAChD,IAAI,KAAY,CAAC;IACjB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC3C,IAAI,WAAW,EAAE;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC/C;SAAM;QACH,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,GAAG,0CAAG,CAAC,CAAC,CAAC;QACnC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KAChD;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9E,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAG,CAAC,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,OAAuB,EAAE,KAAe,EAAE,WAAyB;;IACpF,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,MAAM,IAAI,GAAY,EAAE,CAAC;IACzB,IAAI,OAAO,EAAE;QACT,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,0CAAG,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;gBACb,8EAA8E;gBAC9E,gFAAgF;gBAChF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE;oBACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;iBAC7C;qBAAM;oBACH,gBAAgB;oBAChB,WAAW,CAAC,IAAI,iCACT,uCAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAClD,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,IAC9B,CAAC;iBACN;aACJ;iBAAM;gBACH,mBAAmB;aACtB;SACJ;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAuB;IACrC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CACR,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAChC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,OAAuB;;IACxC,OAAO,CAAC,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,OAAuB;IACrC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,OAAO,QAAQ,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,OAAO,GAAG,KAAK;IAC5C,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;IACD,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;QACtD,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC;KACvE,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,UAA8B;IACjD,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,MAAM,0CAAG,CAAC,CAAC,CAAC;QAEnC,IAAI,SAAkB,CAAC;QACvB,IAAI,UAAmB,CAAC;QACxB,+CAA+C;QAC/C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE;YACP,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACzC,SAAS,GAAG;gBACR,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,cAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;aAChH,CAAC;YACF,UAAU,GAAG;gBACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,cAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;aACxG,CAAC;SACL;QACD,OAAO;YACH,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAC5B,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;SACrC,CAAC;IACN,CAAC,CAAC,KAAI,EAAE,CAAC;AACb,CAAC;AAED,yCAAyC;AACzC,SAAS,eAAe,CAAC,KAAa,EAAE,GAAY;IAChD,IAAI,CAAC,GAAG,EAAE;QACN,GAAG,GAAG,KAAK,CAAC;KACf;IACD,OAAO,cAAI,CAAC,WAAW,CACnB,KAAK,CAAC,SAAS,GAAG,CAAC,EACnB,KAAK,CAAC,WAAW,GAAG,CAAC,EACrB,GAAG,CAAC,OAAO,GAAG,CAAC,EACf,GAAG,CAAC,SAAS,CAChB,CAAC;AACN,CAAC;AAED,iCAAiC;AACjC,SAAgB,mBAAmB,CAAC,KAAa;IAC7C,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,cAAI,CAAC,WAAW,CACnB,KAAK,CAAC,SAAS,GAAG,CAAC,EACnB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,GAAG,CAAC,EACjB,KAAK,CAAC,SAAS,GAAG,CAAC,CACtB,CAAC;AACN,CAAC;AAVD,kDAUC;AAED,SAAS,WAAW,CAAC,KAAa;IAC9B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,IAAG,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB;IACtB,OAAO;QACH,gBAAgB,EAAE,EAAE;KACvB,CAAC;AACN,CAAC"}
@@ -17,12 +17,19 @@ export declare class SGTag {
17
17
  tag: SGToken;
18
18
  attributes: SGAttribute[];
19
19
  range?: Range;
20
- constructor(tag: SGToken, attributes?: SGAttribute[], range?: Range);
20
+ closingTag?: SGToken;
21
+ constructor(tag: SGToken, attributes?: SGAttribute[], range?: Range, closingTag?: SGToken);
21
22
  get id(): string;
22
23
  set id(value: string);
23
24
  getAttribute(name: string): SGAttribute | undefined;
24
25
  getAttributeValue(name: string): string | undefined;
25
26
  setAttribute(name: string, value: string): void;
27
+ /**
28
+ * The nested tags directly contained by this tag. Base tags have no children;
29
+ * subclasses that contain other tags override this. Used for AST traversal
30
+ * (e.g. validation) so it works regardless of how the AST was constructed.
31
+ */
32
+ getChildren(): SGTag[];
26
33
  transpile(state: TranspileState): SourceNode;
27
34
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
28
35
  protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): (string | SourceNode)[];
@@ -32,15 +39,16 @@ export declare class SGProlog extends SGTag {
32
39
  }
33
40
  export declare class SGNode extends SGTag {
34
41
  children: SGNode[];
35
- constructor(tag: SGToken, attributes?: SGAttribute[], children?: SGNode[], range?: Range);
42
+ constructor(tag: SGToken, attributes?: SGAttribute[], children?: SGNode[], range?: Range, closingTag?: SGToken);
43
+ getChildren(): SGTag[];
36
44
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
37
45
  }
38
46
  export declare class SGChildren extends SGNode {
39
- constructor(tag?: SGToken, children?: SGNode[], range?: Range);
47
+ constructor(tag?: SGToken, children?: SGNode[], range?: Range, closingTag?: SGToken);
40
48
  }
41
49
  export declare class SGScript extends SGTag {
42
50
  cdata?: SGToken;
43
- constructor(tag?: SGToken, attributes?: SGAttribute[], cdata?: SGToken, range?: Range);
51
+ constructor(tag?: SGToken, attributes?: SGAttribute[], cdata?: SGToken, range?: Range, closingTag?: SGToken);
44
52
  get type(): string;
45
53
  set type(value: string);
46
54
  get uri(): string;
@@ -49,7 +57,7 @@ export declare class SGScript extends SGTag {
49
57
  protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): (string | SourceNode)[];
50
58
  }
51
59
  export declare class SGField extends SGTag {
52
- constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range);
60
+ constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range, closingTag?: SGToken);
53
61
  get type(): string;
54
62
  set type(value: string);
55
63
  get alias(): string;
@@ -63,22 +71,23 @@ export declare class SGField extends SGTag {
63
71
  }
64
72
  export declare const SGFieldTypes: string[];
65
73
  export declare class SGFunction extends SGTag {
66
- constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range);
74
+ constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range, closingTag?: SGToken);
67
75
  get name(): string;
68
76
  set name(value: string);
69
77
  }
70
78
  export declare class SGInterface extends SGTag {
71
79
  fields: SGField[];
72
80
  functions: SGFunction[];
73
- constructor(tag?: SGToken, content?: SGTag[], range?: Range);
81
+ constructor(tag?: SGToken, content?: SGTag[], range?: Range, closingTag?: SGToken);
74
82
  getField(id: string): SGField;
75
83
  setField(id: string, type: string, onChange?: string, alwaysNotify?: boolean, alias?: string): void;
76
84
  getFunction(name: string): SGFunction;
77
85
  setFunction(name: string): void;
86
+ getChildren(): SGTag[];
78
87
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
79
88
  }
80
89
  export declare class SGComponent extends SGTag {
81
- constructor(tag?: SGToken, attributes?: SGAttribute[], content?: SGTag[], range?: Range);
90
+ constructor(tag?: SGToken, attributes?: SGAttribute[], content?: SGTag[], range?: Range, closingTag?: SGToken);
82
91
  api: SGInterface;
83
92
  scripts: SGScript[];
84
93
  children: SGChildren;
@@ -87,6 +96,7 @@ export declare class SGComponent extends SGTag {
87
96
  set name(value: string);
88
97
  get extends(): string;
89
98
  set extends(value: string);
99
+ getChildren(): SGTag[];
90
100
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
91
101
  }
92
102
  export interface SGReferences {
@@ -6,10 +6,11 @@ const creators_1 = require("../astUtils/creators");
6
6
  const xml_1 = require("../astUtils/xml");
7
7
  const util_1 = require("../util");
8
8
  class SGTag {
9
- constructor(tag, attributes = [], range) {
9
+ constructor(tag, attributes = [], range, closingTag) {
10
10
  this.tag = tag;
11
11
  this.attributes = attributes;
12
12
  this.range = range;
13
+ this.closingTag = closingTag;
13
14
  }
14
15
  get id() {
15
16
  return this.getAttributeValue('id');
@@ -42,6 +43,14 @@ class SGTag {
42
43
  });
43
44
  }
44
45
  }
46
+ /**
47
+ * The nested tags directly contained by this tag. Base tags have no children;
48
+ * subclasses that contain other tags override this. Used for AST traversal
49
+ * (e.g. validation) so it works regardless of how the AST was constructed.
50
+ */
51
+ getChildren() {
52
+ return [];
53
+ }
45
54
  transpile(state) {
46
55
  return new source_map_1.SourceNode(null, null, state.srcPath, [
47
56
  state.indentText,
@@ -75,10 +84,13 @@ class SGProlog extends SGTag {
75
84
  }
76
85
  exports.SGProlog = SGProlog;
77
86
  class SGNode extends SGTag {
78
- constructor(tag, attributes, children = [], range) {
79
- super(tag, attributes, range);
87
+ constructor(tag, attributes, children = [], range, closingTag) {
88
+ super(tag, attributes, range, closingTag);
80
89
  this.children = children;
81
90
  }
91
+ getChildren() {
92
+ return this.children;
93
+ }
82
94
  transpileBody(state) {
83
95
  if (this.children.length > 0) {
84
96
  const body = ['>\n'];
@@ -95,14 +107,14 @@ class SGNode extends SGTag {
95
107
  }
96
108
  exports.SGNode = SGNode;
97
109
  class SGChildren extends SGNode {
98
- constructor(tag = { text: 'children' }, children = [], range) {
99
- super(tag, [], children, range);
110
+ constructor(tag = { text: 'children' }, children = [], range, closingTag) {
111
+ super(tag, [], children, range, closingTag);
100
112
  }
101
113
  }
102
114
  exports.SGChildren = SGChildren;
103
115
  class SGScript extends SGTag {
104
- constructor(tag = { text: 'script' }, attributes, cdata, range) {
105
- super(tag, attributes, range);
116
+ constructor(tag = { text: 'script' }, attributes, cdata, range, closingTag) {
117
+ super(tag, attributes, range, closingTag);
106
118
  this.cdata = cdata;
107
119
  if (!attributes) {
108
120
  this.type = 'text/brightscript';
@@ -164,8 +176,8 @@ class SGScript extends SGTag {
164
176
  }
165
177
  exports.SGScript = SGScript;
166
178
  class SGField extends SGTag {
167
- constructor(tag = { text: 'field' }, attributes = [], range) {
168
- super(tag, attributes, range);
179
+ constructor(tag = { text: 'field' }, attributes = [], range, closingTag) {
180
+ super(tag, attributes, range, closingTag);
169
181
  }
170
182
  get type() {
171
183
  return this.getAttributeValue('type');
@@ -206,8 +218,8 @@ exports.SGFieldTypes = [
206
218
  'array', 'roarray', 'rect2d', 'rect2darray'
207
219
  ];
208
220
  class SGFunction extends SGTag {
209
- constructor(tag = { text: 'function' }, attributes = [], range) {
210
- super(tag, attributes, range);
221
+ constructor(tag = { text: 'function' }, attributes = [], range, closingTag) {
222
+ super(tag, attributes, range, closingTag);
211
223
  }
212
224
  get name() {
213
225
  return this.getAttributeValue('name');
@@ -218,8 +230,8 @@ class SGFunction extends SGTag {
218
230
  }
219
231
  exports.SGFunction = SGFunction;
220
232
  class SGInterface extends SGTag {
221
- constructor(tag = { text: 'interface' }, content, range) {
222
- super(tag, [], range);
233
+ constructor(tag = { text: 'interface' }, content, range, closingTag) {
234
+ super(tag, [], range, closingTag);
223
235
  this.fields = [];
224
236
  this.functions = [];
225
237
  if (content) {
@@ -264,6 +276,9 @@ class SGInterface extends SGTag {
264
276
  this.functions.push(func);
265
277
  }
266
278
  }
279
+ getChildren() {
280
+ return [...this.fields, ...this.functions];
281
+ }
267
282
  transpileBody(state) {
268
283
  const body = ['>\n'];
269
284
  state.blockDepth++;
@@ -280,8 +295,8 @@ class SGInterface extends SGTag {
280
295
  }
281
296
  exports.SGInterface = SGInterface;
282
297
  class SGComponent extends SGTag {
283
- constructor(tag = { text: 'component' }, attributes, content, range) {
284
- super(tag, attributes, range);
298
+ constructor(tag = { text: 'component' }, attributes, content, range, closingTag) {
299
+ super(tag, attributes, range, closingTag);
285
300
  this.scripts = [];
286
301
  this.customizations = [];
287
302
  if (content) {
@@ -313,6 +328,18 @@ class SGComponent extends SGTag {
313
328
  set extends(value) {
314
329
  this.setAttribute('extends', value);
315
330
  }
331
+ getChildren() {
332
+ const result = [];
333
+ if (this.api) {
334
+ result.push(this.api);
335
+ }
336
+ result.push(...this.scripts);
337
+ if (this.children) {
338
+ result.push(this.children);
339
+ }
340
+ result.push(...this.customizations);
341
+ return result;
342
+ }
316
343
  transpileBody(state) {
317
344
  const body = ['>\n'];
318
345
  state.blockDepth++;
@@ -1 +1 @@
1
- {"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,mDAAyD;AACzD,yCAAsH;AAEtH,kCAA2B;AAgB3B,MAAa,KAAK;IAEd,YACW,GAAY,EACZ,aAA4B,EAAE,EAC9B,KAAa,EACb,UAAoB;QAHpB,QAAG,GAAH,GAAG,CAAS;QACZ,eAAU,GAAV,UAAU,CAAoB;QAC9B,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAU;IAC3B,CAAC;IAEL,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,EAAE,CAAC,KAAa;QAChB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,iBAAiB,CAAC,IAAY;;QAC1B,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,0CAAE,KAAK,0CAAE,IAAI,CAAC;IAC9D,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAa;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE;YACN,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;aAC1B;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D;SACJ;aAAM,IAAI,KAAK,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACjB,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACzB,CAAC,CAAC;SACN;IACL,CAAC;IAED;;;;OAIG;IACI,WAAW;QACd,OAAO,EAAE,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAqB;QAC3B,OAAO,IAAI,uBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YAC7C,KAAK,CAAC,UAAU;YAChB,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9B,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;YACnD,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;IACP,CAAC;IAES,aAAa,CAAC,KAAqB;QACzC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAES,mBAAmB,CAAC,KAAqB,EAAE,UAAyB;;QAC1E,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC3B,MAAM,CAAC,IAAI,CACP,GAAG,EACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9B,GAAG,EACH,KAAK,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EACrD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAChC,KAAK,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CACzD,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA9ED,sBA8EC;AAED,MAAa,QAAS,SAAQ,KAAK;IAE/B,SAAS,CAAC,KAAqB;QAC3B,OAAO,IAAI,uBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YAC7C,OAAO;YACP,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;YACnD,OAAO;SACV,CAAC,CAAC;IACP,CAAC;CACJ;AATD,4BASC;AAED,MAAa,MAAO,SAAQ,KAAK;IAE7B,YACI,GAAY,EACZ,UAA0B,EACnB,WAAqB,EAAE,EAC9B,KAAa,EACb,UAAoB;QAEpB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAJnC,aAAQ,GAAR,QAAQ,CAAe;IAKlC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAES,aAAa,CAAC,KAAqB;QACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,IAAI,GAA4B,CAAC,KAAK,CAAC,CAAC;YAC9C,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/D,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AA5BD,wBA4BC;AAED,MAAa,UAAW,SAAQ,MAAM;IAElC,YACI,MAAe,EAAE,IAAI,EAAE,UAAU,EAAE,EACnC,WAAqB,EAAE,EACvB,KAAa,EACb,UAAoB;QAEpB,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;CACJ;AAVD,gCAUC;AAED,MAAa,QAAS,SAAQ,KAAK;IAE/B,YACI,MAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EACjC,UAA0B,EACnB,KAAe,EACtB,KAAa,EACb,UAAoB;QAEpB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAJnC,UAAK,GAAL,KAAK,CAAU;QAKtB,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;SACnC;IACL,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,GAAG,CAAC,KAAa;QACjB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAES,aAAa,CAAC,KAAqB;QACzC,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,OAAO;gBACH,GAAG;gBACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChC,IAAI;gBACJ,IAAI,CAAC,GAAG,CAAC,IAAI;gBACb,KAAK;aACR,CAAC;SACL;aAAM;YACH,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;IAES,mBAAmB,CAAC,KAAqB,EAAE,UAAyB;QAC1E,MAAM,kBAAkB,GAAG,EAAmB,CAAC;QAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,iBAAiB,GAAG,QAAQ,CAAC;QAEnC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,QAAQ,KAAK,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC/D,kBAAkB,CAAC,IAAI,CACnB,cAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAClF,CAAC;aACL;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;gBAC5B,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oBAC1D,kBAAkB,CAAC,IAAI,CACnB,cAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CACnD,CAAC;iBACL;qBAAM;oBACH,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACjC;aACJ;iBAAM;gBACH,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;SACJ;QACD,IAAI,CAAC,SAAS,EAAE;YACZ,kBAAkB,CAAC,IAAI,CACnB,IAAA,4BAAiB,EAAC,MAAM,EAAE,mBAAmB,CAAC,CACjD,CAAC;SACL;QACD,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAChE,CAAC;CACJ;AA1ED,4BA0EC;AAED,MAAa,OAAQ,SAAQ,KAAK;IAE9B,YACI,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,EAChC,aAA4B,EAAE,EAC9B,KAAa,EACb,UAAoB;QAEpB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,KAAa;QACnB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,KAAa;QACnB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,QAAQ,CAAC,KAAa;QACtB,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,YAAY,CAAC,KAAa;QAC1B,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;CACJ;AA7CD,0BA6CC;AAEY,QAAA,YAAY,GAAG;IACxB,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM;IAC5E,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW;IACjF,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY;IACpF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa;CAC9C,CAAC;AAEF,MAAa,UAAW,SAAQ,KAAK;IAEjC,YACI,MAAe,EAAE,IAAI,EAAE,UAAU,EAAE,EACnC,aAA4B,EAAE,EAC9B,KAAa,EACb,UAAoB;QAEpB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;CACJ;AAjBD,gCAiBC;AAED,MAAa,WAAY,SAAQ,KAAK;IAKlC,YACI,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,EACpC,OAAiB,EACjB,KAAa,EACb,UAAoB;QAEpB,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QATtC,WAAM,GAAc,EAAE,CAAC;QACvB,cAAS,GAAiB,EAAE,CAAC;QASzB,IAAI,OAAO,EAAE;YACT,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;gBACvB,IAAI,IAAA,eAAS,EAAC,GAAG,CAAC,EAAE;oBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACzB;qBAAM,IAAI,IAAA,kBAAY,EAAC,GAAG,CAAC,EAAE;oBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC5B;aACJ;SACJ;IACL,CAAC;IAED,QAAQ,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,QAAQ,CAAC,EAAU,EAAE,IAAY,EAAE,QAAiB,EAAE,YAAsB,EAAE,KAAc;QACxF,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE;YACR,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;SAClC;aAAM;YACH,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;SACxD;QACD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,WAAW,CAAC,IAAY;QACpB,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;IACL,CAAC;IAEM,WAAW;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAES,aAAa,CAAC,KAAqB;QACzC,MAAM,IAAI,GAA4B,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnE;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAxED,kCAwEC;AAED,MAAa,WAAY,SAAQ,KAAK;IAClC,YACI,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,EACpC,UAA0B,EAC1B,OAAiB,EACjB,KAAa,EACb,UAAoB;QAEpB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAkBvC,YAAO,GAAe,EAAE,CAAC;QAIzB,mBAAc,GAAa,EAAE,CAAC;QArBjC,IAAI,OAAO,EAAE;YACT,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;gBACvB,IAAI,IAAA,mBAAa,EAAC,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;iBAClB;qBAAM,IAAI,IAAA,gBAAU,EAAC,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC1B;qBAAM,IAAI,IAAA,kBAAY,EAAC,GAAG,CAAC,EAAE;oBAC1B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;iBACvB;qBAAM,IAAI,IAAA,uBAAiB,EAAC,GAAG,CAAC,EAAE;oBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACjC;aACJ;SACJ;IACL,CAAC;IAUD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,CAAC,KAAa;QACrB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAEM,WAAW;QACd,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzB;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,aAAa,CAAC,KAAqB;QACzC,MAAM,IAAI,GAA4B,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACxC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjE;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxE;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA9ED,kCA8EC;AAQD,MAAa,KAAK;IAEd,YACW,MAAiB,EACjB,IAAY,EACZ,SAAuB;QAFvB,WAAM,GAAN,MAAM,CAAW;QACjB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAc;IAElC,CAAC;IAED,SAAS,CAAC,KAAqB;QAC3B,MAAM,MAAM,GAAG,EAAqB,CAAC;QACrC,kBAAkB;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,eAAe;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAChD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AArBD,sBAqBC"}
@@ -24,7 +24,7 @@ export declare class EmptyStatement extends Statement {
24
24
  range?: Range);
25
25
  transpile(state: BrsTranspileState): any[];
26
26
  walk(visitor: WalkVisitor, options: WalkOptions): void;
27
- clone(): EmptyStatement;
27
+ clone(): any;
28
28
  }
29
29
  /**
30
30
  * This is a top-level statement. Consider this the root of the AST
@@ -145,7 +145,7 @@ export declare class IfStatement extends Statement {
145
145
  readonly range: Range | undefined;
146
146
  transpile(state: BrsTranspileState): TranspileResult;
147
147
  walk(visitor: WalkVisitor, options: WalkOptions): void;
148
- clone(): any;
148
+ clone(): IfStatement;
149
149
  }
150
150
  export declare class IncrementStatement extends Statement {
151
151
  readonly value: Expression;
@@ -167,6 +167,13 @@ class Block extends AstNode_1.Statement {
167
167
  results.push(...statement.transpile(state));
168
168
  state.lineage.shift();
169
169
  }
170
+ //if a `continue` inside this block was rewritten into a `goto`, emit its jump target as
171
+ //the last line of the block. Done here (rather than in the loop statements) so the label
172
+ //picks up the block's own indent depth.
173
+ const loopLabel = state.peekLoopLabel();
174
+ if ((loopLabel === null || loopLabel === void 0 ? void 0 : loopLabel.wasAccessed) && loopLabel.blockDepth === state.blockDepth) {
175
+ results.push(state.newline, state.indent(), `${loopLabel.label}:`);
176
+ }
170
177
  state.blockDepth--;
171
178
  return results;
172
179
  }
@@ -243,7 +250,9 @@ class CommentStatement extends AstNode_1.Statement {
243
250
  }
244
251
  clone() {
245
252
  var _a;
246
- return this.finalizeClone(new CommentStatement((_a = this.comments) === null || _a === void 0 ? void 0 : _a.map(x => util_1.util.cloneToken(x))), ['comments']);
253
+ return this.finalizeClone(new CommentStatement((_a = this.comments) === null || _a === void 0 ? void 0 : _a.map(x => util_1.util.cloneToken(x))),
254
+ //`propsToReparent`'s constraint resolves to `never` here because `comments` holds plain `Token`s, not `AstNode`s
255
+ ['comments']);
247
256
  }
248
257
  }
249
258
  exports.CommentStatement = CommentStatement;
@@ -518,7 +527,9 @@ class PrintStatement extends AstNode_1.Statement {
518
527
  else {
519
528
  return util_1.util.cloneToken(e);
520
529
  }
521
- })), ['expressions']);
530
+ })),
531
+ //`propsToReparent`'s constraint resolves to `never` here because `expressions` mixes `Expression`s with plain separator `Token`s
532
+ ['expressions']);
522
533
  }
523
534
  }
524
535
  exports.PrintStatement = PrintStatement;
@@ -708,7 +719,9 @@ class ForStatement extends AstNode_1.Statement {
708
719
  }
709
720
  //loop body
710
721
  state.lineage.unshift(this);
722
+ state.pushLoopLabel();
711
723
  result.push(...this.body.transpile(state));
724
+ state.popLoopLabel();
712
725
  state.lineage.shift();
713
726
  // add new line before "end for"
714
727
  result.push('\n');
@@ -755,7 +768,9 @@ class ForEachStatement extends AstNode_1.Statement {
755
768
  result.push(...this.target.transpile(state));
756
769
  //body
757
770
  state.lineage.unshift(this);
771
+ state.pushLoopLabel();
758
772
  result.push(...this.body.transpile(state));
773
+ state.popLoopLabel();
759
774
  state.lineage.shift();
760
775
  // add new line before "end for"
761
776
  result.push('\n');
@@ -797,7 +812,9 @@ class WhileStatement extends AstNode_1.Statement {
797
812
  result.push(...this.condition.transpile(state));
798
813
  state.lineage.unshift(this);
799
814
  //body
815
+ state.pushLoopLabel();
800
816
  result.push(...this.body.transpile(state));
817
+ state.popLoopLabel();
801
818
  state.lineage.shift();
802
819
  //trailing newline only if we have body statements
803
820
  result.push('\n');
@@ -2208,6 +2225,19 @@ class ContinueStatement extends AstNode_1.Statement {
2208
2225
  }
2209
2226
  transpile(state) {
2210
2227
  var _a, _b, _c, _d, _e;
2228
+ //when targeting firmware without native `continue` support, rewrite into a jump to the
2229
+ //label at the end of the enclosing loop body
2230
+ if (!state.firmwareCapabilities.continueStatement) {
2231
+ const label = state.getLoopLabel();
2232
+ //no enclosing loop means this is a `continue` outside a loop, which validation already
2233
+ //flags as an error. fall through to the passthrough emit rather than producing a
2234
+ //`goto undefined`
2235
+ if (label) {
2236
+ return [
2237
+ state.sourceNode(this.tokens.continue, `goto ${label}`)
2238
+ ];
2239
+ }
2240
+ }
2211
2241
  return [
2212
2242
  state.sourceNode(this.tokens.continue, (_b = (_a = this.tokens.continue) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : 'continue'),
2213
2243
  (_d = (_c = this.tokens.loopType) === null || _c === void 0 ? void 0 : _c.leadingWhitespace) !== null && _d !== void 0 ? _d : ' ',