typescript-to-lua 0.42.0 → 1.1.1

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 (129) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/dist/CompilerOptions.d.ts +4 -3
  3. package/dist/LuaAST.js +4 -4
  4. package/dist/LuaLib.d.ts +7 -0
  5. package/dist/LuaLib.js +32 -1
  6. package/dist/LuaPrinter.d.ts +6 -2
  7. package/dist/LuaPrinter.js +25 -16
  8. package/dist/cli/diagnostics.js +2 -2
  9. package/dist/cli/parse.d.ts +1 -1
  10. package/dist/cli/parse.js +14 -0
  11. package/dist/cli/report.js +1 -1
  12. package/dist/cli/tsconfig.js +4 -4
  13. package/dist/lualib/Await.lua +59 -0
  14. package/dist/lualib/OptionalMethodCall.lua +3 -1
  15. package/dist/lualib/Promise.lua +172 -0
  16. package/dist/lualib/PromiseAll.lua +44 -0
  17. package/dist/lualib/PromiseAllSettled.lua +48 -0
  18. package/dist/lualib/PromiseAny.lua +41 -0
  19. package/dist/lualib/PromiseRace.lua +28 -0
  20. package/dist/lualib/SourceMapTraceBack.lua +20 -10
  21. package/dist/lualib/StringReplace.lua +8 -13
  22. package/dist/lualib/StringReplaceAll.lua +35 -0
  23. package/dist/lualib/lualib_bundle.lua +503 -62
  24. package/dist/transformation/builtins/array.js +29 -29
  25. package/dist/transformation/builtins/console.js +2 -2
  26. package/dist/transformation/builtins/function.js +9 -9
  27. package/dist/transformation/builtins/global.js +8 -8
  28. package/dist/transformation/builtins/index.js +35 -32
  29. package/dist/transformation/builtins/math.js +4 -4
  30. package/dist/transformation/builtins/number.js +7 -7
  31. package/dist/transformation/builtins/object.js +11 -11
  32. package/dist/transformation/builtins/promise.d.ts +7 -0
  33. package/dist/transformation/builtins/promise.js +46 -0
  34. package/dist/transformation/builtins/string.js +32 -30
  35. package/dist/transformation/builtins/symbol.js +3 -3
  36. package/dist/transformation/context/context.js +5 -5
  37. package/dist/transformation/index.js +1 -1
  38. package/dist/transformation/utils/annotations.d.ts +1 -4
  39. package/dist/transformation/utils/annotations.js +2 -39
  40. package/dist/transformation/utils/assignment-validation.js +8 -7
  41. package/dist/transformation/utils/diagnostics.d.ts +3 -0
  42. package/dist/transformation/utils/diagnostics.js +6 -5
  43. package/dist/transformation/utils/export.d.ts +3 -2
  44. package/dist/transformation/utils/export.js +14 -7
  45. package/dist/transformation/utils/function-context.js +19 -13
  46. package/dist/transformation/utils/lua-ast.js +18 -19
  47. package/dist/transformation/utils/lualib.js +1 -1
  48. package/dist/transformation/utils/safe-names.js +5 -5
  49. package/dist/transformation/utils/scope.d.ts +6 -0
  50. package/dist/transformation/utils/scope.js +70 -40
  51. package/dist/transformation/utils/symbols.js +6 -6
  52. package/dist/transformation/utils/transform.js +3 -3
  53. package/dist/transformation/utils/typescript/nodes.d.ts +2 -0
  54. package/dist/transformation/utils/typescript/nodes.js +21 -1
  55. package/dist/transformation/visitors/access.js +16 -16
  56. package/dist/transformation/visitors/async-await.d.ts +6 -0
  57. package/dist/transformation/visitors/async-await.js +38 -0
  58. package/dist/transformation/visitors/binary-expression/assignments.js +29 -29
  59. package/dist/transformation/visitors/binary-expression/bit.js +4 -4
  60. package/dist/transformation/visitors/binary-expression/compound.js +18 -18
  61. package/dist/transformation/visitors/binary-expression/destructuring-assignments.js +17 -17
  62. package/dist/transformation/visitors/binary-expression/index.js +21 -21
  63. package/dist/transformation/visitors/block.js +6 -6
  64. package/dist/transformation/visitors/break-continue.js +4 -9
  65. package/dist/transformation/visitors/call.js +38 -33
  66. package/dist/transformation/visitors/class/decorators.js +3 -3
  67. package/dist/transformation/visitors/class/index.js +41 -34
  68. package/dist/transformation/visitors/class/members/accessors.js +6 -6
  69. package/dist/transformation/visitors/class/members/constructor.js +7 -7
  70. package/dist/transformation/visitors/class/members/fields.js +6 -6
  71. package/dist/transformation/visitors/class/members/method.js +6 -6
  72. package/dist/transformation/visitors/class/new.js +13 -13
  73. package/dist/transformation/visitors/class/setup.js +11 -11
  74. package/dist/transformation/visitors/class/utils.js +2 -2
  75. package/dist/transformation/visitors/conditional.js +6 -6
  76. package/dist/transformation/visitors/delete.js +4 -4
  77. package/dist/transformation/visitors/enum.js +8 -8
  78. package/dist/transformation/visitors/errors.js +30 -31
  79. package/dist/transformation/visitors/expression-statement.js +10 -6
  80. package/dist/transformation/visitors/function.js +33 -21
  81. package/dist/transformation/visitors/identifier.js +25 -19
  82. package/dist/transformation/visitors/index.js +4 -2
  83. package/dist/transformation/visitors/language-extensions/iterable.js +7 -7
  84. package/dist/transformation/visitors/language-extensions/multi.d.ts +1 -1
  85. package/dist/transformation/visitors/language-extensions/multi.js +5 -7
  86. package/dist/transformation/visitors/language-extensions/operators.js +6 -6
  87. package/dist/transformation/visitors/language-extensions/range.js +6 -6
  88. package/dist/transformation/visitors/language-extensions/table.js +5 -5
  89. package/dist/transformation/visitors/literal.d.ts +1 -2
  90. package/dist/transformation/visitors/literal.js +19 -42
  91. package/dist/transformation/visitors/loops/do-while.js +2 -2
  92. package/dist/transformation/visitors/loops/for-in.js +4 -4
  93. package/dist/transformation/visitors/loops/for-of.js +13 -13
  94. package/dist/transformation/visitors/loops/for.js +3 -3
  95. package/dist/transformation/visitors/loops/utils.js +9 -9
  96. package/dist/transformation/visitors/modules/export.js +13 -14
  97. package/dist/transformation/visitors/modules/import.js +10 -10
  98. package/dist/transformation/visitors/namespace.js +13 -13
  99. package/dist/transformation/visitors/return.d.ts +1 -0
  100. package/dist/transformation/visitors/return.js +41 -49
  101. package/dist/transformation/visitors/sourceFile.js +8 -8
  102. package/dist/transformation/visitors/spread.js +16 -11
  103. package/dist/transformation/visitors/switch.js +132 -30
  104. package/dist/transformation/visitors/template.js +5 -5
  105. package/dist/transformation/visitors/typeof.js +2 -2
  106. package/dist/transformation/visitors/typescript.js +1 -1
  107. package/dist/transformation/visitors/unary-expression.js +9 -9
  108. package/dist/transformation/visitors/variable-declaration.js +28 -28
  109. package/dist/transformation/visitors/void.d.ts +6 -0
  110. package/dist/transformation/visitors/void.js +23 -0
  111. package/dist/transpilation/bundle.d.ts +3 -0
  112. package/dist/transpilation/bundle.js +56 -13
  113. package/dist/transpilation/diagnostics.js +3 -3
  114. package/dist/transpilation/index.js +2 -2
  115. package/dist/transpilation/output-collector.js +2 -2
  116. package/dist/transpilation/plugins.js +1 -1
  117. package/dist/transpilation/resolve.js +28 -15
  118. package/dist/transpilation/transformers.d.ts +1 -0
  119. package/dist/transpilation/transformers.js +61 -25
  120. package/dist/transpilation/transpile.js +7 -7
  121. package/dist/transpilation/transpiler.js +8 -8
  122. package/dist/transpilation/utils.js +3 -2
  123. package/dist/tstl.js +8 -8
  124. package/dist/utils.js +2 -2
  125. package/package.json +15 -12
  126. package/dist/transformation/visitors/jsx/jsx.d.ts +0 -9
  127. package/dist/transformation/visitors/jsx/jsx.js +0 -237
  128. package/dist/transformation/visitors/jsx/xhtml.d.ts +0 -3
  129. package/dist/transformation/visitors/jsx/xhtml.js +0 -260
@@ -18,33 +18,33 @@ const diagnostics_1 = require("../../utils/diagnostics");
18
18
  function transformAssignmentLeftHandSideExpression(context, node) {
19
19
  const symbol = context.checker.getSymbolAtLocation(node);
20
20
  const left = context.transformExpression(node);
21
- return lua.isIdentifier(left) && symbol && export_1.isSymbolExported(context, symbol)
22
- ? export_1.createExportedIdentifier(context, left)
23
- : utils_1.cast(left, lua.isAssignmentLeftHandSideExpression);
21
+ return lua.isIdentifier(left) && symbol && (0, export_1.isSymbolExported)(context, symbol)
22
+ ? (0, export_1.createExportedIdentifier)(context, left)
23
+ : (0, utils_1.cast)(left, lua.isAssignmentLeftHandSideExpression);
24
24
  }
25
25
  exports.transformAssignmentLeftHandSideExpression = transformAssignmentLeftHandSideExpression;
26
26
  function transformAssignment(context,
27
27
  // TODO: Change type to ts.LeftHandSideExpression?
28
28
  lhs, right, parent) {
29
29
  if (ts.isOptionalChain(lhs)) {
30
- context.diagnostics.push(diagnostics_1.notAllowedOptionalAssignment(lhs));
30
+ context.diagnostics.push((0, diagnostics_1.notAllowedOptionalAssignment)(lhs));
31
31
  return [];
32
32
  }
33
- if (destructuring_assignments_1.isArrayLength(context, lhs)) {
34
- const arrayLengthAssignment = lua.createExpressionStatement(lualib_1.transformLuaLibFunction(context, lualib_1.LuaLibFeature.ArraySetLength, parent, context.transformExpression(lhs.expression), right));
33
+ if ((0, destructuring_assignments_1.isArrayLength)(context, lhs)) {
34
+ const arrayLengthAssignment = lua.createExpressionStatement((0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.ArraySetLength, parent, context.transformExpression(lhs.expression), right));
35
35
  return [arrayLengthAssignment];
36
36
  }
37
37
  const symbol = ts.isShorthandPropertyAssignment(lhs.parent)
38
38
  ? context.checker.getShorthandAssignmentValueSymbol(lhs.parent)
39
39
  : context.checker.getSymbolAtLocation(lhs);
40
- const dependentSymbols = symbol ? export_1.getDependenciesOfSymbol(context, symbol) : [];
40
+ const dependentSymbols = symbol ? (0, export_1.getDependenciesOfSymbol)(context, symbol) : [];
41
41
  const left = transformAssignmentLeftHandSideExpression(context, lhs);
42
42
  const rootAssignment = lua.createAssignmentStatement(left, right, lhs.parent);
43
43
  return [
44
44
  rootAssignment,
45
45
  ...dependentSymbols.map(symbol => {
46
46
  const [left] = rootAssignment.left;
47
- const identifierToAssign = export_1.createExportedIdentifier(context, lua.createIdentifier(symbol.name));
47
+ const identifierToAssign = (0, export_1.createExportedIdentifier)(context, lua.createIdentifier(symbol.name));
48
48
  return lua.createAssignmentStatement(identifierToAssign, left);
49
49
  }),
50
50
  ];
@@ -53,12 +53,12 @@ exports.transformAssignment = transformAssignment;
53
53
  function transformDestructuredAssignmentExpression(context, expression) {
54
54
  const rootIdentifier = lua.createAnonymousIdentifier(expression.left);
55
55
  let right = context.transformExpression(expression.right);
56
- if (multi_1.isMultiReturnCall(context, expression.right)) {
57
- right = lua_ast_1.wrapInTable(right);
56
+ if ((0, multi_1.isMultiReturnCall)(context, expression.right)) {
57
+ right = (0, lua_ast_1.wrapInTable)(right);
58
58
  }
59
59
  const statements = [
60
60
  lua.createVariableDeclarationStatement(rootIdentifier, right),
61
- ...destructuring_assignments_1.transformDestructuringAssignment(context, expression, rootIdentifier),
61
+ ...(0, destructuring_assignments_1.transformDestructuringAssignment)(context, expression, rootIdentifier),
62
62
  ];
63
63
  return { statements, result: rootIdentifier };
64
64
  }
@@ -66,13 +66,13 @@ function transformAssignmentExpression(context, expression) {
66
66
  // Validate assignment
67
67
  const rightType = context.checker.getTypeAtLocation(expression.right);
68
68
  const leftType = context.checker.getTypeAtLocation(expression.left);
69
- assignment_validation_1.validateAssignment(context, expression.right, rightType, leftType);
70
- if (destructuring_assignments_1.isArrayLength(context, expression.left)) {
69
+ (0, assignment_validation_1.validateAssignment)(context, expression.right, rightType, leftType);
70
+ if ((0, destructuring_assignments_1.isArrayLength)(context, expression.left)) {
71
71
  // array.length = x
72
- return lualib_1.transformLuaLibFunction(context, lualib_1.LuaLibFeature.ArraySetLength, expression, context.transformExpression(expression.left.expression), context.transformExpression(expression.right));
72
+ return (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.ArraySetLength, expression, context.transformExpression(expression.left.expression), context.transformExpression(expression.right));
73
73
  }
74
- if (typescript_1.isDestructuringAssignment(expression)) {
75
- return transform_1.transformToImmediatelyInvokedFunctionExpression(context, () => transformDestructuredAssignmentExpression(context, expression), expression);
74
+ if ((0, typescript_1.isDestructuringAssignment)(expression)) {
75
+ return (0, transform_1.transformToImmediatelyInvokedFunctionExpression)(context, () => transformDestructuredAssignmentExpression(context, expression), expression);
76
76
  }
77
77
  if (ts.isPropertyAccessExpression(expression.left) || ts.isElementAccessExpression(expression.left)) {
78
78
  // Left is property/element access: cache result while maintaining order of evaluation
@@ -90,7 +90,7 @@ function transformAssignmentExpression(context, expression) {
90
90
  indexParameter,
91
91
  valueParameter,
92
92
  ]);
93
- scope_1.pushScope(context, scope_1.ScopeType.Function);
93
+ (0, scope_1.pushScope)(context, scope_1.ScopeType.Function);
94
94
  const objExpression = context.transformExpression(expression.left.expression);
95
95
  let indexExpression;
96
96
  if (ts.isPropertyAccessExpression(expression.left)) {
@@ -99,14 +99,14 @@ function transformAssignmentExpression(context, expression) {
99
99
  }
100
100
  else {
101
101
  // Element access
102
- indexExpression = access_1.transformElementAccessArgument(context, expression.left);
102
+ indexExpression = (0, access_1.transformElementAccessArgument)(context, expression.left);
103
103
  }
104
104
  const args = [objExpression, indexExpression, context.transformExpression(expression.right)];
105
- scope_1.popScope(context);
105
+ (0, scope_1.popScope)(context);
106
106
  return lua.createCallExpression(iife, args, expression);
107
107
  }
108
108
  else {
109
- return transform_1.transformToImmediatelyInvokedFunctionExpression(context, () => {
109
+ return (0, transform_1.transformToImmediatelyInvokedFunctionExpression)(context, () => {
110
110
  // Simple assignment
111
111
  // (function() ${left} = ${right}; return ${left} end)()
112
112
  const left = context.transformExpression(expression.left);
@@ -119,7 +119,7 @@ function transformAssignmentExpression(context, expression) {
119
119
  exports.transformAssignmentExpression = transformAssignmentExpression;
120
120
  const canBeTransformedToLuaAssignmentStatement = (context, node) => ts.isArrayLiteralExpression(node.left) &&
121
121
  node.left.elements.every(element => {
122
- if (destructuring_assignments_1.isArrayLength(context, element)) {
122
+ if ((0, destructuring_assignments_1.isArrayLength)(context, element)) {
123
123
  return false;
124
124
  }
125
125
  if (ts.isPropertyAccessExpression(element) || ts.isElementAccessExpression(element)) {
@@ -128,7 +128,7 @@ const canBeTransformedToLuaAssignmentStatement = (context, node) => ts.isArrayLi
128
128
  if (ts.isIdentifier(element)) {
129
129
  const symbol = context.checker.getSymbolAtLocation(element);
130
130
  if (symbol) {
131
- const aliases = export_1.getDependenciesOfSymbol(context, symbol);
131
+ const aliases = (0, export_1.getDependenciesOfSymbol)(context, symbol);
132
132
  return aliases.length === 0;
133
133
  }
134
134
  }
@@ -137,28 +137,28 @@ function transformAssignmentStatement(context, expression) {
137
137
  // Validate assignment
138
138
  const rightType = context.checker.getTypeAtLocation(expression.right);
139
139
  const leftType = context.checker.getTypeAtLocation(expression.left);
140
- assignment_validation_1.validateAssignment(context, expression.right, rightType, leftType);
141
- if (typescript_1.isDestructuringAssignment(expression)) {
140
+ (0, assignment_validation_1.validateAssignment)(context, expression.right, rightType, leftType);
141
+ if ((0, typescript_1.isDestructuringAssignment)(expression)) {
142
142
  if (canBeTransformedToLuaAssignmentStatement(context, expression)) {
143
143
  const rightType = context.checker.getTypeAtLocation(expression.right);
144
144
  let right = context.transformExpression(expression.right);
145
145
  if (ts.isArrayLiteralExpression(expression.right)) {
146
146
  right = expression.right.elements.map(e => context.transformExpression(e));
147
147
  }
148
- else if (!multi_1.isMultiReturnCall(context, expression.right) && typescript_1.isArrayType(context, rightType)) {
149
- right = lua_ast_1.createUnpackCall(context, right, expression.right);
148
+ else if (!(0, multi_1.isMultiReturnCall)(context, expression.right) && (0, typescript_1.isArrayType)(context, rightType)) {
149
+ right = (0, lua_ast_1.createUnpackCall)(context, right, expression.right);
150
150
  }
151
151
  const left = expression.left.elements.map(e => transformAssignmentLeftHandSideExpression(context, e));
152
152
  return [lua.createAssignmentStatement(left, right, expression)];
153
153
  }
154
154
  let right = context.transformExpression(expression.right);
155
- if (multi_1.isMultiReturnCall(context, expression.right)) {
156
- right = lua_ast_1.wrapInTable(right);
155
+ if ((0, multi_1.isMultiReturnCall)(context, expression.right)) {
156
+ right = (0, lua_ast_1.wrapInTable)(right);
157
157
  }
158
158
  const rootIdentifier = lua.createAnonymousIdentifier(expression.left);
159
159
  return [
160
160
  lua.createVariableDeclarationStatement(rootIdentifier, right),
161
- ...destructuring_assignments_1.transformDestructuringAssignment(context, expression, rootIdentifier),
161
+ ...(0, destructuring_assignments_1.transformDestructuringAssignment)(context, expression, rootIdentifier),
162
162
  ];
163
163
  }
164
164
  else {
@@ -31,7 +31,7 @@ function transformBitOperatorToLuaOperator(context, node, operator) {
31
31
  case ts.SyntaxKind.LessThanLessThanToken:
32
32
  return lua.SyntaxKind.BitwiseLeftShiftOperator;
33
33
  case ts.SyntaxKind.GreaterThanGreaterThanToken:
34
- context.diagnostics.push(diagnostics_1.unsupportedRightShiftOperator(node));
34
+ context.diagnostics.push((0, diagnostics_1.unsupportedRightShiftOperator)(node));
35
35
  case ts.SyntaxKind.GreaterThanGreaterThanGreaterThanToken:
36
36
  return lua.SyntaxKind.BitwiseRightShiftOperator;
37
37
  }
@@ -40,7 +40,7 @@ function transformBinaryBitOperation(context, node, left, right, operator) {
40
40
  switch (context.luaTarget) {
41
41
  case CompilerOptions_1.LuaTarget.Universal:
42
42
  case CompilerOptions_1.LuaTarget.Lua51:
43
- context.diagnostics.push(diagnostics_1.unsupportedForTarget(node, "Bitwise operations", CompilerOptions_1.LuaTarget.Lua51));
43
+ context.diagnostics.push((0, diagnostics_1.unsupportedForTarget)(node, "Bitwise operations", CompilerOptions_1.LuaTarget.Lua51));
44
44
  case CompilerOptions_1.LuaTarget.LuaJIT:
45
45
  return transformBinaryBitLibOperation(node, left, right, operator, "bit");
46
46
  case CompilerOptions_1.LuaTarget.Lua52:
@@ -58,7 +58,7 @@ function transformUnaryBitLibOperation(node, expression, operator, lib) {
58
58
  bitFunction = "bnot";
59
59
  break;
60
60
  default:
61
- utils_1.assertNever(operator);
61
+ (0, utils_1.assertNever)(operator);
62
62
  }
63
63
  return lua.createCallExpression(lua.createTableIndexExpression(lua.createIdentifier(lib), lua.createStringLiteral(bitFunction)), [expression], node);
64
64
  }
@@ -66,7 +66,7 @@ function transformUnaryBitOperation(context, node, expression, operator) {
66
66
  switch (context.luaTarget) {
67
67
  case CompilerOptions_1.LuaTarget.Universal:
68
68
  case CompilerOptions_1.LuaTarget.Lua51:
69
- context.diagnostics.push(diagnostics_1.unsupportedForTarget(node, "Bitwise operations", CompilerOptions_1.LuaTarget.Lua51));
69
+ context.diagnostics.push((0, diagnostics_1.unsupportedForTarget)(node, "Bitwise operations", CompilerOptions_1.LuaTarget.Lua51));
70
70
  case CompilerOptions_1.LuaTarget.LuaJIT:
71
71
  return transformUnaryBitLibOperation(node, expression, operator, "bit");
72
72
  case CompilerOptions_1.LuaTarget.Lua52:
@@ -11,9 +11,9 @@ const assignments_1 = require("./assignments");
11
11
  // If expression is property/element access with possible effects from being evaluated, returns separated object and index expressions.
12
12
  function parseAccessExpressionWithEvaluationEffects(context, node) {
13
13
  if (ts.isElementAccessExpression(node) &&
14
- (typescript_1.isExpressionWithEvaluationEffect(node.expression) || typescript_1.isExpressionWithEvaluationEffect(node.argumentExpression))) {
14
+ ((0, typescript_1.isExpressionWithEvaluationEffect)(node.expression) || (0, typescript_1.isExpressionWithEvaluationEffect)(node.argumentExpression))) {
15
15
  const type = context.checker.getTypeAtLocation(node.expression);
16
- if (typescript_1.isArrayType(context, type)) {
16
+ if ((0, typescript_1.isArrayType)(context, type)) {
17
17
  // Offset arrays by one
18
18
  const oneLit = ts.factory.createNumericLiteral("1");
19
19
  const exp = ts.factory.createParenthesizedExpression(node.argumentExpression);
@@ -24,7 +24,7 @@ function parseAccessExpressionWithEvaluationEffects(context, node) {
24
24
  return [node.expression, node.argumentExpression];
25
25
  }
26
26
  }
27
- else if (ts.isPropertyAccessExpression(node) && typescript_1.isExpressionWithEvaluationEffect(node.expression)) {
27
+ else if (ts.isPropertyAccessExpression(node) && (0, typescript_1.isExpressionWithEvaluationEffect)(node.expression)) {
28
28
  return [node.expression, ts.factory.createStringLiteral(node.name.text)];
29
29
  }
30
30
  return [];
@@ -52,7 +52,7 @@ exports.isCompoundAssignmentToken = isCompoundAssignmentToken;
52
52
  const unwrapCompoundAssignmentToken = (token) => compoundToAssignmentTokens[token];
53
53
  exports.unwrapCompoundAssignmentToken = unwrapCompoundAssignmentToken;
54
54
  function transformCompoundAssignment(context, expression, lhs, rhs, operator, isPostfix) {
55
- const left = utils_1.cast(context.transformExpression(lhs), lua.isAssignmentLeftHandSideExpression);
55
+ const left = (0, utils_1.cast)(context.transformExpression(lhs), lua.isAssignmentLeftHandSideExpression);
56
56
  const right = context.transformExpression(rhs);
57
57
  const [objExpression, indexExpression] = parseAccessExpressionWithEvaluationEffects(context, lhs);
58
58
  if (objExpression && indexExpression) {
@@ -69,13 +69,13 @@ function transformCompoundAssignment(context, expression, lhs, rhs, operator, is
69
69
  // local ____tmp = ____obj[____index];
70
70
  // ____obj[____index] = ____tmp ${replacementOperator} ${right};
71
71
  tmpDeclaration = lua.createVariableDeclarationStatement(tmp, accessExpression);
72
- const operatorExpression = binary_expression_1.transformBinaryOperation(context, tmp, right, operator, expression);
72
+ const operatorExpression = (0, binary_expression_1.transformBinaryOperation)(context, tmp, right, operator, expression);
73
73
  assignStatement = lua.createAssignmentStatement(accessExpression, operatorExpression);
74
74
  }
75
75
  else {
76
76
  // local ____tmp = ____obj[____index] ${replacementOperator} ${right};
77
77
  // ____obj[____index] = ____tmp;
78
- const operatorExpression = binary_expression_1.transformBinaryOperation(context, accessExpression, right, operator, expression);
78
+ const operatorExpression = (0, binary_expression_1.transformBinaryOperation)(context, accessExpression, right, operator, expression);
79
79
  tmpDeclaration = lua.createVariableDeclarationStatement(tmp, operatorExpression);
80
80
  assignStatement = lua.createAssignmentStatement(accessExpression, tmp);
81
81
  }
@@ -89,8 +89,8 @@ function transformCompoundAssignment(context, expression, lhs, rhs, operator, is
89
89
  // return ____tmp
90
90
  const tmpIdentifier = lua.createIdentifier("____tmp");
91
91
  const tmpDeclaration = lua.createVariableDeclarationStatement(tmpIdentifier, left);
92
- const operatorExpression = binary_expression_1.transformBinaryOperation(context, tmpIdentifier, right, operator, expression);
93
- const assignStatements = assignments_1.transformAssignment(context, lhs, operatorExpression);
92
+ const operatorExpression = (0, binary_expression_1.transformBinaryOperation)(context, tmpIdentifier, right, operator, expression);
93
+ const assignStatements = (0, assignments_1.transformAssignment)(context, lhs, operatorExpression);
94
94
  return { statements: [tmpDeclaration, ...assignStatements], result: tmpIdentifier };
95
95
  }
96
96
  else if (ts.isPropertyAccessExpression(lhs) || ts.isElementAccessExpression(lhs)) {
@@ -99,9 +99,9 @@ function transformCompoundAssignment(context, expression, lhs, rhs, operator, is
99
99
  // ${left} = ____tmp;
100
100
  // return ____tmp
101
101
  const tmpIdentifier = lua.createIdentifier("____tmp");
102
- const operatorExpression = binary_expression_1.transformBinaryOperation(context, left, right, operator, expression);
102
+ const operatorExpression = (0, binary_expression_1.transformBinaryOperation)(context, left, right, operator, expression);
103
103
  const tmpDeclaration = lua.createVariableDeclarationStatement(tmpIdentifier, operatorExpression);
104
- const assignStatements = assignments_1.transformAssignment(context, lhs, tmpIdentifier);
104
+ const assignStatements = (0, assignments_1.transformAssignment)(context, lhs, tmpIdentifier);
105
105
  if (isSetterSkippingCompoundAssignmentOperator(operator)) {
106
106
  const statements = [
107
107
  tmpDeclaration,
@@ -114,8 +114,8 @@ function transformCompoundAssignment(context, expression, lhs, rhs, operator, is
114
114
  else {
115
115
  // Simple expressions
116
116
  // ${left} = ${right}; return ${right}
117
- const operatorExpression = binary_expression_1.transformBinaryOperation(context, left, right, operator, expression);
118
- const statements = assignments_1.transformAssignment(context, lhs, operatorExpression);
117
+ const operatorExpression = (0, binary_expression_1.transformBinaryOperation)(context, left, right, operator, expression);
118
+ const statements = (0, assignments_1.transformAssignment)(context, lhs, operatorExpression);
119
119
  return { statements, result: left };
120
120
  }
121
121
  }
@@ -123,11 +123,11 @@ exports.transformCompoundAssignment = transformCompoundAssignment;
123
123
  function transformCompoundAssignmentExpression(context, expression,
124
124
  // TODO: Change type to ts.LeftHandSideExpression?
125
125
  lhs, rhs, operator, isPostfix) {
126
- return transform_1.transformToImmediatelyInvokedFunctionExpression(context, () => transformCompoundAssignment(context, expression, lhs, rhs, operator, isPostfix), expression);
126
+ return (0, transform_1.transformToImmediatelyInvokedFunctionExpression)(context, () => transformCompoundAssignment(context, expression, lhs, rhs, operator, isPostfix), expression);
127
127
  }
128
128
  exports.transformCompoundAssignmentExpression = transformCompoundAssignmentExpression;
129
129
  function transformCompoundAssignmentStatement(context, node, lhs, rhs, operator) {
130
- const left = utils_1.cast(context.transformExpression(lhs), lua.isAssignmentLeftHandSideExpression);
130
+ const left = (0, utils_1.cast)(context.transformExpression(lhs), lua.isAssignmentLeftHandSideExpression);
131
131
  const right = context.transformExpression(rhs);
132
132
  const [objExpression, indexExpression] = parseAccessExpressionWithEvaluationEffects(context, lhs);
133
133
  if (objExpression && indexExpression) {
@@ -144,7 +144,7 @@ function transformCompoundAssignmentStatement(context, node, lhs, rhs, operator)
144
144
  ...transformSetterSkippingCompoundAssignment(context, accessExpression, operator, rhs, node),
145
145
  ];
146
146
  }
147
- const operatorExpression = binary_expression_1.transformBinaryOperation(context, accessExpression, right, operator, node);
147
+ const operatorExpression = (0, binary_expression_1.transformBinaryOperation)(context, accessExpression, right, operator, node);
148
148
  const assignStatement = lua.createAssignmentStatement(accessExpression, operatorExpression);
149
149
  return [objAndIndexDeclaration, assignStatement];
150
150
  }
@@ -155,8 +155,8 @@ function transformCompoundAssignmentStatement(context, node, lhs, rhs, operator)
155
155
  }
156
156
  // Simple statements
157
157
  // ${left} = ${left} ${replacementOperator} ${right}
158
- const operatorExpression = binary_expression_1.transformBinaryOperation(context, left, right, operator, node);
159
- return assignments_1.transformAssignment(context, lhs, operatorExpression);
158
+ const operatorExpression = (0, binary_expression_1.transformBinaryOperation)(context, left, right, operator, node);
159
+ return (0, assignments_1.transformAssignment)(context, lhs, operatorExpression);
160
160
  }
161
161
  }
162
162
  exports.transformCompoundAssignmentStatement = transformCompoundAssignmentStatement;
@@ -178,7 +178,7 @@ function transformSetterSkippingCompoundAssignment(context, lhs, operator, rhs,
178
178
  condition = lua.createBinaryExpression(lhs, lua.createNilLiteral(), lua.SyntaxKind.EqualityOperator);
179
179
  }
180
180
  else {
181
- utils_1.assertNever(operator);
181
+ (0, utils_1.assertNever)(operator);
182
182
  }
183
183
  // if condition then lhs = rhs end
184
184
  return [
@@ -13,7 +13,7 @@ function isArrayLength(context, expression) {
13
13
  return false;
14
14
  }
15
15
  const type = context.checker.getTypeAtLocation(expression.expression);
16
- if (!typescript_1.isArrayType(context, type)) {
16
+ if (!(0, typescript_1.isArrayType)(context, type)) {
17
17
  return false;
18
18
  }
19
19
  const name = ts.isPropertyAccessExpression(expression)
@@ -49,8 +49,8 @@ function transformArrayLiteralAssignmentPattern(context, node, root) {
49
49
  const assignedVariable = lua.createIdentifier("____bindingAssignmentValue");
50
50
  const assignedVariableDeclaration = lua.createVariableDeclarationStatement(assignedVariable, indexedRoot);
51
51
  const nilCondition = lua.createBinaryExpression(assignedVariable, lua.createNilLiteral(), lua.SyntaxKind.EqualityOperator);
52
- const defaultAssignmentStatements = assignments_1.transformAssignment(context, element.left, context.transformExpression(element.right));
53
- const elseAssignmentStatements = assignments_1.transformAssignment(context, element.left, assignedVariable);
52
+ const defaultAssignmentStatements = (0, assignments_1.transformAssignment)(context, element.left, context.transformExpression(element.right));
53
+ const elseAssignmentStatements = (0, assignments_1.transformAssignment)(context, element.left, assignedVariable);
54
54
  const ifBlock = lua.createBlock(defaultAssignmentStatements);
55
55
  const elseBlock = lua.createBlock(elseAssignmentStatements);
56
56
  const ifStatement = lua.createIfStatement(nilCondition, ifBlock, elseBlock, node);
@@ -58,14 +58,14 @@ function transformArrayLiteralAssignmentPattern(context, node, root) {
58
58
  case ts.SyntaxKind.Identifier:
59
59
  case ts.SyntaxKind.PropertyAccessExpression:
60
60
  case ts.SyntaxKind.ElementAccessExpression:
61
- return assignments_1.transformAssignment(context, element, indexedRoot);
61
+ return (0, assignments_1.transformAssignment)(context, element, indexedRoot);
62
62
  case ts.SyntaxKind.SpreadElement:
63
63
  if (index !== node.elements.length - 1) {
64
64
  // TypeScript error
65
65
  return [];
66
66
  }
67
- const restElements = lualib_1.transformLuaLibFunction(context, lualib_1.LuaLibFeature.ArraySlice, undefined, root, lua.createNumericLiteral(index));
68
- return assignments_1.transformAssignment(context, element.expression, restElements);
67
+ const restElements = (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.ArraySlice, undefined, root, lua.createNumericLiteral(index));
68
+ return (0, assignments_1.transformAssignment)(context, element.expression, restElements);
69
69
  case ts.SyntaxKind.OmittedExpression:
70
70
  return [];
71
71
  default:
@@ -93,23 +93,23 @@ function transformObjectLiteralAssignmentPattern(context, node, root) {
93
93
  // TypeScript error
94
94
  break;
95
95
  default:
96
- utils_1.assertNever(property);
96
+ (0, utils_1.assertNever)(property);
97
97
  }
98
98
  }
99
99
  return result;
100
100
  }
101
101
  function transformShorthandPropertyAssignment(context, node, root) {
102
102
  const result = [];
103
- const assignmentVariableName = assignments_1.transformAssignmentLeftHandSideExpression(context, node.name);
103
+ const assignmentVariableName = (0, assignments_1.transformAssignmentLeftHandSideExpression)(context, node.name);
104
104
  const extractionIndex = lua.createStringLiteral(node.name.text);
105
- const variableExtractionAssignmentStatements = assignments_1.transformAssignment(context, node.name, lua.createTableIndexExpression(root, extractionIndex));
105
+ const variableExtractionAssignmentStatements = (0, assignments_1.transformAssignment)(context, node.name, lua.createTableIndexExpression(root, extractionIndex));
106
106
  result.push(...variableExtractionAssignmentStatements);
107
107
  const defaultInitializer = node.objectAssignmentInitializer
108
108
  ? context.transformExpression(node.objectAssignmentInitializer)
109
109
  : undefined;
110
110
  if (defaultInitializer) {
111
111
  const nilCondition = lua.createBinaryExpression(assignmentVariableName, lua.createNilLiteral(), lua.SyntaxKind.EqualityOperator);
112
- const assignmentStatements = assignments_1.transformAssignment(context, node.name, defaultInitializer);
112
+ const assignmentStatements = (0, assignments_1.transformAssignment)(context, node.name, defaultInitializer);
113
113
  const ifBlock = lua.createBlock(assignmentStatements);
114
114
  result.push(lua.createIfStatement(nilCondition, ifBlock, undefined, node));
115
115
  }
@@ -117,8 +117,8 @@ function transformShorthandPropertyAssignment(context, node, root) {
117
117
  }
118
118
  function transformPropertyAssignment(context, node, root) {
119
119
  const result = [];
120
- if (typescript_1.isAssignmentPattern(node.initializer)) {
121
- const propertyAccessString = literal_1.transformPropertyName(context, node.name);
120
+ if ((0, typescript_1.isAssignmentPattern)(node.initializer)) {
121
+ const propertyAccessString = (0, literal_1.transformPropertyName)(context, node.name);
122
122
  const newRootAccess = lua.createTableIndexExpression(root, propertyAccessString);
123
123
  if (ts.isObjectLiteralExpression(node.initializer)) {
124
124
  return transformObjectLiteralAssignmentPattern(context, node.initializer, newRootAccess);
@@ -128,14 +128,14 @@ function transformPropertyAssignment(context, node, root) {
128
128
  }
129
129
  }
130
130
  const leftExpression = ts.isBinaryExpression(node.initializer) ? node.initializer.left : node.initializer;
131
- const variableToExtract = literal_1.transformPropertyName(context, node.name);
131
+ const variableToExtract = (0, literal_1.transformPropertyName)(context, node.name);
132
132
  const extractingExpression = lua.createTableIndexExpression(root, variableToExtract);
133
- const destructureAssignmentStatements = assignments_1.transformAssignment(context, leftExpression, extractingExpression);
133
+ const destructureAssignmentStatements = (0, assignments_1.transformAssignment)(context, leftExpression, extractingExpression);
134
134
  result.push(...destructureAssignmentStatements);
135
135
  if (ts.isBinaryExpression(node.initializer)) {
136
136
  const assignmentLeftHandSide = context.transformExpression(node.initializer.left);
137
137
  const nilCondition = lua.createBinaryExpression(assignmentLeftHandSide, lua.createNilLiteral(), lua.SyntaxKind.EqualityOperator);
138
- const ifBlock = lua.createBlock(assignments_1.transformAssignmentStatement(context, node.initializer));
138
+ const ifBlock = lua.createBlock((0, assignments_1.transformAssignmentStatement)(context, node.initializer));
139
139
  result.push(lua.createIfStatement(nilCondition, ifBlock, undefined, node));
140
140
  }
141
141
  return result;
@@ -152,7 +152,7 @@ function transformSpreadAssignment(context, node, root, properties) {
152
152
  usedProperties.push(lua.createTableFieldExpression(lua.createBooleanLiteral(true), name));
153
153
  }
154
154
  }
155
- const extractingExpression = lualib_1.transformLuaLibFunction(context, lualib_1.LuaLibFeature.ObjectRest, undefined, root, lua.createTableExpression(usedProperties));
156
- return assignments_1.transformAssignment(context, node.expression, extractingExpression);
155
+ const extractingExpression = (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.ObjectRest, undefined, root, lua.createTableExpression(usedProperties));
156
+ return (0, assignments_1.transformAssignment)(context, node.expression, extractingExpression);
157
157
  }
158
158
  //# sourceMappingURL=destructuring-assignments.js.map
@@ -31,11 +31,11 @@ const simpleOperatorsToLua = {
31
31
  [ts.SyntaxKind.ExclamationEqualsEqualsToken]: lua.SyntaxKind.InequalityOperator,
32
32
  };
33
33
  function transformBinaryOperation(context, left, right, operator, node) {
34
- if (bit_1.isBitOperator(operator)) {
35
- return bit_1.transformBinaryBitOperation(context, node, left, right, operator);
34
+ if ((0, bit_1.isBitOperator)(operator)) {
35
+ return (0, bit_1.transformBinaryBitOperation)(context, node, left, right, operator);
36
36
  }
37
37
  if (operator === ts.SyntaxKind.QuestionQuestionToken) {
38
- utils_1.assert(ts.isBinaryExpression(node));
38
+ (0, utils_1.assert)(ts.isBinaryExpression(node));
39
39
  return transformNullishCoalescingExpression(context, node, left, right);
40
40
  }
41
41
  let luaOperator = simpleOperatorsToLua[operator];
@@ -43,11 +43,11 @@ function transformBinaryOperation(context, left, right, operator, node) {
43
43
  if (operator === ts.SyntaxKind.PlusToken && ts.isBinaryExpression(node)) {
44
44
  const typeLeft = context.checker.getTypeAtLocation(node.left);
45
45
  const typeRight = context.checker.getTypeAtLocation(node.right);
46
- const isLeftString = typescript_1.isStringType(context, typeLeft);
47
- const isRightString = typescript_1.isStringType(context, typeRight);
46
+ const isLeftString = (0, typescript_1.isStringType)(context, typeLeft);
47
+ const isRightString = (0, typescript_1.isStringType)(context, typeRight);
48
48
  if (isLeftString || isRightString) {
49
- left = isLeftString ? left : lua_ast_1.wrapInToStringForConcat(left);
50
- right = isRightString ? right : lua_ast_1.wrapInToStringForConcat(right);
49
+ left = isLeftString ? left : (0, lua_ast_1.wrapInToStringForConcat)(left);
50
+ right = isRightString ? right : (0, lua_ast_1.wrapInToStringForConcat)(right);
51
51
  luaOperator = lua.SyntaxKind.ConcatOperator;
52
52
  }
53
53
  }
@@ -56,17 +56,17 @@ function transformBinaryOperation(context, left, right, operator, node) {
56
56
  exports.transformBinaryOperation = transformBinaryOperation;
57
57
  const transformBinaryExpression = (node, context) => {
58
58
  const operator = node.operatorToken.kind;
59
- const typeOfResult = typeof_1.transformTypeOfBinaryExpression(context, node);
59
+ const typeOfResult = (0, typeof_1.transformTypeOfBinaryExpression)(context, node);
60
60
  if (typeOfResult) {
61
61
  return typeOfResult;
62
62
  }
63
- if (compound_1.isCompoundAssignmentToken(operator)) {
64
- const token = compound_1.unwrapCompoundAssignmentToken(operator);
65
- return compound_1.transformCompoundAssignmentExpression(context, node, node.left, node.right, token, false);
63
+ if ((0, compound_1.isCompoundAssignmentToken)(operator)) {
64
+ const token = (0, compound_1.unwrapCompoundAssignmentToken)(operator);
65
+ return (0, compound_1.transformCompoundAssignmentExpression)(context, node, node.left, node.right, token, false);
66
66
  }
67
67
  switch (operator) {
68
68
  case ts.SyntaxKind.EqualsToken:
69
- return assignments_1.transformAssignmentExpression(context, node);
69
+ return (0, assignments_1.transformAssignmentExpression)(context, node);
70
70
  case ts.SyntaxKind.InKeyword: {
71
71
  const lhs = context.transformExpression(node.left);
72
72
  const rhs = context.transformExpression(node.right);
@@ -77,13 +77,13 @@ const transformBinaryExpression = (node, context) => {
77
77
  const lhs = context.transformExpression(node.left);
78
78
  const rhs = context.transformExpression(node.right);
79
79
  const rhsType = context.checker.getTypeAtLocation(node.right);
80
- if (typescript_1.isStandardLibraryType(context, rhsType, "ObjectConstructor")) {
81
- return lualib_1.transformLuaLibFunction(context, lualib_1.LuaLibFeature.InstanceOfObject, node, lhs);
80
+ if ((0, typescript_1.isStandardLibraryType)(context, rhsType, "ObjectConstructor")) {
81
+ return (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.InstanceOfObject, node, lhs);
82
82
  }
83
- return lualib_1.transformLuaLibFunction(context, lualib_1.LuaLibFeature.InstanceOf, node, lhs, rhs);
83
+ return (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.InstanceOf, node, lhs, rhs);
84
84
  }
85
85
  case ts.SyntaxKind.CommaToken: {
86
- return transform_1.transformToImmediatelyInvokedFunctionExpression(context, () => ({
86
+ return (0, transform_1.transformToImmediatelyInvokedFunctionExpression)(context, () => ({
87
87
  statements: context.transformStatements(ts.factory.createExpressionStatement(node.left)),
88
88
  result: context.transformExpression(node.right),
89
89
  }), node);
@@ -98,13 +98,13 @@ function transformBinaryExpressionStatement(context, node) {
98
98
  if (!ts.isBinaryExpression(expression))
99
99
  return;
100
100
  const operator = expression.operatorToken.kind;
101
- if (compound_1.isCompoundAssignmentToken(operator)) {
101
+ if ((0, compound_1.isCompoundAssignmentToken)(operator)) {
102
102
  // +=, -=, etc...
103
- const token = compound_1.unwrapCompoundAssignmentToken(operator);
104
- return compound_1.transformCompoundAssignmentStatement(context, expression, expression.left, expression.right, token);
103
+ const token = (0, compound_1.unwrapCompoundAssignmentToken)(operator);
104
+ return (0, compound_1.transformCompoundAssignmentStatement)(context, expression, expression.left, expression.right, token);
105
105
  }
106
106
  else if (operator === ts.SyntaxKind.EqualsToken) {
107
- return assignments_1.transformAssignmentStatement(context, expression);
107
+ return (0, assignments_1.transformAssignmentStatement)(context, expression);
108
108
  }
109
109
  else if (operator === ts.SyntaxKind.CommaToken) {
110
110
  const statements = [
@@ -120,7 +120,7 @@ function transformNullishCoalescingExpression(context, node, transformedLeft, tr
120
120
  // Check if we can take a shortcut to 'lhs or rhs' if the left-hand side cannot be 'false'.
121
121
  const typeCanBeFalse = (type) => (type.flags & (ts.TypeFlags.Any | ts.TypeFlags.Unknown | ts.TypeFlags.Boolean)) !== 0 ||
122
122
  (type.flags & ts.TypeFlags.BooleanLiteral & ts.TypeFlags.PossiblyFalsy) !== 0;
123
- if (typescript_1.typeCanSatisfy(context, lhsType, typeCanBeFalse)) {
123
+ if ((0, typescript_1.typeCanSatisfy)(context, lhsType, typeCanBeFalse)) {
124
124
  // lhs can be false, transform to IIFE
125
125
  const lhsIdentifier = lua.createIdentifier("____lhs");
126
126
  const nilComparison = lua.createBinaryExpression(lua.cloneIdentifier(lhsIdentifier), lua.createNilLiteral(), lua.SyntaxKind.EqualityOperator);
@@ -9,16 +9,16 @@ function transformBlockOrStatement(context, statement) {
9
9
  }
10
10
  exports.transformBlockOrStatement = transformBlockOrStatement;
11
11
  function transformScopeBlock(context, node, scopeType) {
12
- scope_1.pushScope(context, scopeType);
13
- const statements = scope_1.performHoisting(context, context.transformStatements(node.statements));
14
- const scope = scope_1.popScope(context);
12
+ (0, scope_1.pushScope)(context, scopeType);
13
+ const statements = (0, scope_1.performHoisting)(context, context.transformStatements(node.statements));
14
+ const scope = (0, scope_1.popScope)(context);
15
15
  return [lua.createBlock(statements, node), scope];
16
16
  }
17
17
  exports.transformScopeBlock = transformScopeBlock;
18
18
  const transformBlock = (node, context) => {
19
- scope_1.pushScope(context, scope_1.ScopeType.Block);
20
- const statements = scope_1.performHoisting(context, context.transformStatements(node.statements));
21
- scope_1.popScope(context);
19
+ (0, scope_1.pushScope)(context, scope_1.ScopeType.Block);
20
+ const statements = (0, scope_1.performHoisting)(context, context.transformStatements(node.statements));
21
+ (0, scope_1.popScope)(context);
22
22
  return lua.createDoStatement(statements, node);
23
23
  };
24
24
  exports.transformBlock = transformBlock;
@@ -6,21 +6,16 @@ const lua = require("../../LuaAST");
6
6
  const diagnostics_1 = require("../utils/diagnostics");
7
7
  const scope_1 = require("../utils/scope");
8
8
  const transformBreakStatement = (breakStatement, context) => {
9
- const breakableScope = scope_1.findScope(context, scope_1.ScopeType.Loop | scope_1.ScopeType.Switch);
10
- if ((breakableScope === null || breakableScope === void 0 ? void 0 : breakableScope.type) === scope_1.ScopeType.Switch) {
11
- return lua.createGotoStatement(`____switch${breakableScope.id}_end`);
12
- }
13
- else {
14
- return lua.createBreakStatement(breakStatement);
15
- }
9
+ void context;
10
+ return lua.createBreakStatement(breakStatement);
16
11
  };
17
12
  exports.transformBreakStatement = transformBreakStatement;
18
13
  const transformContinueStatement = (statement, context) => {
19
14
  var _a;
20
15
  if (context.luaTarget === CompilerOptions_1.LuaTarget.Universal || context.luaTarget === CompilerOptions_1.LuaTarget.Lua51) {
21
- context.diagnostics.push(diagnostics_1.unsupportedForTarget(statement, "Continue statement", CompilerOptions_1.LuaTarget.Lua51));
16
+ context.diagnostics.push((0, diagnostics_1.unsupportedForTarget)(statement, "Continue statement", CompilerOptions_1.LuaTarget.Lua51));
22
17
  }
23
- const scope = scope_1.findScope(context, scope_1.ScopeType.Loop);
18
+ const scope = (0, scope_1.findScope)(context, scope_1.ScopeType.Loop);
24
19
  if (scope) {
25
20
  scope.loopContinued = true;
26
21
  }