typescript-to-lua 1.33.2 → 1.35.0
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.
- package/dist/CompilerOptions.d.ts +1 -0
- package/dist/CompilerOptions.js +35 -4
- package/dist/LuaAST.js +34 -1
- package/dist/LuaLib.js +35 -2
- package/dist/LuaPrinter.js +36 -3
- package/dist/cli/diagnostics.js +34 -1
- package/dist/cli/parse.js +35 -2
- package/dist/cli/report.js +34 -1
- package/dist/cli/tsconfig.js +36 -3
- package/dist/lualib/5.0/Map.lua +36 -12
- package/dist/lualib/5.0/ObjectAssign.lua +4 -2
- package/dist/lualib/5.0/Promise.lua +11 -20
- package/dist/lualib/5.0/Set.lua +36 -12
- package/dist/lualib/5.0/SetDescriptor.lua +7 -0
- package/dist/lualib/5.0/SourceMapTraceBack.lua +1 -1
- package/dist/lualib/5.0/lualib_bundle.lua +95 -47
- package/dist/lualib/universal/Map.lua +36 -12
- package/dist/lualib/universal/ObjectAssign.lua +4 -2
- package/dist/lualib/universal/Promise.lua +11 -20
- package/dist/lualib/universal/Set.lua +36 -12
- package/dist/lualib/universal/SetDescriptor.lua +7 -0
- package/dist/lualib/universal/SourceMapTraceBack.lua +1 -1
- package/dist/lualib/universal/lualib_bundle.lua +95 -47
- package/dist/lualib-build/plugin.js +36 -3
- package/dist/lualib-build/util.js +34 -1
- package/dist/transformation/builtins/array.js +35 -2
- package/dist/transformation/builtins/console.js +35 -2
- package/dist/transformation/builtins/function.js +34 -1
- package/dist/transformation/builtins/index.js +35 -2
- package/dist/transformation/builtins/math.js +41 -3
- package/dist/transformation/builtins/number.js +42 -5
- package/dist/transformation/builtins/object.js +34 -1
- package/dist/transformation/builtins/promise.js +34 -1
- package/dist/transformation/builtins/string.js +34 -1
- package/dist/transformation/builtins/symbol.js +34 -1
- package/dist/transformation/context/context.js +35 -2
- package/dist/transformation/context/visitors.js +34 -1
- package/dist/transformation/index.js +34 -1
- package/dist/transformation/pre-transformers/using-transformer.js +34 -1
- package/dist/transformation/utils/annotations.js +34 -1
- package/dist/transformation/utils/assignment-validation.js +34 -1
- package/dist/transformation/utils/diagnostics.js +35 -2
- package/dist/transformation/utils/export.js +35 -2
- package/dist/transformation/utils/function-context.js +36 -4
- package/dist/transformation/utils/language-extensions.js +34 -1
- package/dist/transformation/utils/lua-ast.js +35 -2
- package/dist/transformation/utils/lualib.js +34 -1
- package/dist/transformation/utils/scope.d.ts +6 -0
- package/dist/transformation/utils/scope.js +56 -2
- package/dist/transformation/utils/typescript/index.js +27 -3
- package/dist/transformation/utils/typescript/nodes.js +34 -1
- package/dist/transformation/utils/typescript/types.js +34 -1
- package/dist/transformation/visitors/access.js +35 -2
- package/dist/transformation/visitors/async-await.js +35 -2
- package/dist/transformation/visitors/binary-expression/assignments.js +35 -2
- package/dist/transformation/visitors/binary-expression/bit.js +41 -2
- package/dist/transformation/visitors/binary-expression/compound.js +35 -2
- package/dist/transformation/visitors/binary-expression/destructuring-assignments.js +35 -2
- package/dist/transformation/visitors/binary-expression/index.js +35 -2
- package/dist/transformation/visitors/block.js +35 -2
- package/dist/transformation/visitors/break-continue.js +52 -2
- package/dist/transformation/visitors/call.js +35 -2
- package/dist/transformation/visitors/class/decorators.js +35 -2
- package/dist/transformation/visitors/class/index.js +35 -2
- package/dist/transformation/visitors/class/members/accessors.js +35 -2
- package/dist/transformation/visitors/class/members/constructor.js +35 -2
- package/dist/transformation/visitors/class/members/fields.js +34 -1
- package/dist/transformation/visitors/class/members/method.js +35 -2
- package/dist/transformation/visitors/class/new.js +34 -1
- package/dist/transformation/visitors/class/setup.js +35 -2
- package/dist/transformation/visitors/class/utils.js +34 -1
- package/dist/transformation/visitors/conditional.js +35 -2
- package/dist/transformation/visitors/delete.js +35 -2
- package/dist/transformation/visitors/enum.js +36 -3
- package/dist/transformation/visitors/errors.js +119 -21
- package/dist/transformation/visitors/expression-list.js +35 -2
- package/dist/transformation/visitors/expression-statement.js +34 -1
- package/dist/transformation/visitors/function.js +35 -2
- package/dist/transformation/visitors/identifier.js +35 -2
- package/dist/transformation/visitors/index.js +34 -1
- package/dist/transformation/visitors/language-extensions/iterable.js +35 -2
- package/dist/transformation/visitors/language-extensions/multi.js +35 -2
- package/dist/transformation/visitors/language-extensions/operators.js +34 -1
- package/dist/transformation/visitors/language-extensions/range.js +36 -3
- package/dist/transformation/visitors/language-extensions/table.js +34 -1
- package/dist/transformation/visitors/language-extensions/vararg.js +34 -1
- package/dist/transformation/visitors/literal.js +35 -2
- package/dist/transformation/visitors/loops/do-while.js +34 -1
- package/dist/transformation/visitors/loops/for-in.js +34 -1
- package/dist/transformation/visitors/loops/for-of.js +35 -2
- package/dist/transformation/visitors/loops/for.js +35 -2
- package/dist/transformation/visitors/loops/utils.js +35 -2
- package/dist/transformation/visitors/modules/export.js +36 -3
- package/dist/transformation/visitors/modules/import.js +36 -3
- package/dist/transformation/visitors/namespace.js +35 -2
- package/dist/transformation/visitors/optional-chaining.js +35 -2
- package/dist/transformation/visitors/return.js +75 -19
- package/dist/transformation/visitors/sourceFile.js +35 -2
- package/dist/transformation/visitors/spread.js +35 -2
- package/dist/transformation/visitors/switch.js +35 -2
- package/dist/transformation/visitors/template.js +35 -2
- package/dist/transformation/visitors/typeof.js +35 -2
- package/dist/transformation/visitors/typescript.js +34 -1
- package/dist/transformation/visitors/unary-expression.js +35 -2
- package/dist/transformation/visitors/variable-declaration.js +36 -3
- package/dist/transformation/visitors/void.js +35 -2
- package/dist/transpilation/bundle.js +37 -2
- package/dist/transpilation/diagnostics.d.ts +1 -1
- package/dist/transpilation/diagnostics.js +37 -3
- package/dist/transpilation/index.js +25 -3
- package/dist/transpilation/plugins.js +34 -1
- package/dist/transpilation/resolve.js +48 -12
- package/dist/transpilation/transformers.js +36 -3
- package/dist/transpilation/transpile.js +36 -3
- package/dist/transpilation/transpiler.js +56 -9
- package/dist/transpilation/utils.js +37 -4
- package/dist/tstl.js +37 -4
- package/dist/utils.js +37 -4
- package/package.json +11 -11
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformConditionalExpression = void 0;
|
|
4
37
|
exports.transformIfStatement = transformIfStatement;
|
|
5
38
|
exports.checkOnlyTruthyCondition = checkOnlyTruthyCondition;
|
|
6
|
-
const ts = require("typescript");
|
|
7
|
-
const lua = require("../../LuaAST");
|
|
39
|
+
const ts = __importStar(require("typescript"));
|
|
40
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
8
41
|
const preceding_statements_1 = require("../utils/preceding-statements");
|
|
9
42
|
const scope_1 = require("../utils/scope");
|
|
10
43
|
const block_1 = require("./block");
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformDeleteExpression = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
5
|
-
const lua = require("../../LuaAST");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
6
39
|
const lualib_1 = require("../utils/lualib");
|
|
7
40
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
8
41
|
const typescript_1 = require("../utils/typescript");
|
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformEnumDeclaration = void 0;
|
|
4
37
|
exports.tryGetConstEnumValue = tryGetConstEnumValue;
|
|
5
|
-
const ts = require("typescript");
|
|
6
|
-
const lua = require("../../LuaAST");
|
|
38
|
+
const ts = __importStar(require("typescript"));
|
|
39
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
7
40
|
const annotations_1 = require("../utils/annotations");
|
|
8
41
|
const export_1 = require("../utils/export");
|
|
9
42
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
@@ -28,7 +61,7 @@ const transformEnumDeclaration = (node, context) => {
|
|
|
28
61
|
const result = [];
|
|
29
62
|
if (!membersOnly && (0, typescript_1.isFirstDeclaration)(context, node)) {
|
|
30
63
|
const name = (0, identifier_1.transformIdentifier)(context, node.name);
|
|
31
|
-
const table = lua.createBinaryExpression(
|
|
64
|
+
const table = lua.createBinaryExpression((0, export_1.addExportToIdentifier)(context, name), lua.createTableExpression(), lua.SyntaxKind.OrOperator);
|
|
32
65
|
result.push(...(0, lua_ast_1.createLocalOrExportedOrGlobalDeclaration)(context, name, table, node));
|
|
33
66
|
}
|
|
34
67
|
const enumReference = context.transformExpression(node.name);
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformThrowStatement = exports.transformTryStatement = void 0;
|
|
4
37
|
const __1 = require("../..");
|
|
5
|
-
const lua = require("../../LuaAST");
|
|
38
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
6
39
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
7
40
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
8
41
|
const lualib_1 = require("../utils/lualib");
|
|
@@ -14,41 +47,90 @@ const identifier_1 = require("./identifier");
|
|
|
14
47
|
const multi_1 = require("./language-extensions/multi");
|
|
15
48
|
const return_1 = require("./return");
|
|
16
49
|
const transformAsyncTry = (statement, context) => {
|
|
17
|
-
|
|
50
|
+
var _a, _b, _c, _d;
|
|
51
|
+
const [tryBlock, tryScope] = (0, block_1.transformScopeBlock)(context, statement.tryBlock, scope_1.ScopeType.Try);
|
|
18
52
|
if ((context.options.luaTarget === __1.LuaTarget.Lua50 || context.options.luaTarget === __1.LuaTarget.Lua51) &&
|
|
19
53
|
!context.options.lua51AllowTryCatchInAsyncAwait) {
|
|
20
54
|
context.diagnostics.push((0, diagnostics_1.unsupportedForTargetButOverrideAvailable)(statement, "try/catch inside async functions", __1.LuaTarget.Lua51, "lua51AllowTryCatchInAsyncAwait"));
|
|
21
55
|
return tryBlock.statements;
|
|
22
56
|
}
|
|
23
|
-
// __TS__AsyncAwaiter(<
|
|
57
|
+
// __TS__AsyncAwaiter(<try block>)
|
|
24
58
|
const awaiter = (0, async_await_1.wrapInAsyncAwaiter)(context, tryBlock.statements, false);
|
|
25
59
|
const awaiterIdentifier = lua.createIdentifier("____try");
|
|
26
60
|
const awaiterDefinition = lua.createVariableDeclarationStatement(awaiterIdentifier, awaiter);
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const awaiterFinally = lua.createTableIndexExpression(awaiterIdentifier, lua.createStringLiteral("finally"));
|
|
31
|
-
const finallyFunction = lua.createFunctionExpression(lua.createBlock(context.transformStatements(statement.finallyBlock.statements)));
|
|
32
|
-
const finallyCall = lua.createCallExpression(awaiterFinally, [awaiterIdentifier, finallyFunction], statement.finallyBlock);
|
|
33
|
-
// ____try.finally(<finally function>)
|
|
34
|
-
result.push(lua.createExpressionStatement(finallyCall));
|
|
35
|
-
}
|
|
61
|
+
// Transform catch/finally and collect scope info before building the result
|
|
62
|
+
let catchScope;
|
|
63
|
+
const chainCalls = [];
|
|
36
64
|
if (statement.catchClause) {
|
|
37
|
-
// ____try.catch(<catch function>)
|
|
38
|
-
const [catchFunction] = transformCatchClause(context, statement.catchClause);
|
|
65
|
+
// ____try = ____try.catch(<catch function>)
|
|
66
|
+
const [catchFunction, cScope] = transformCatchClause(context, statement.catchClause);
|
|
67
|
+
catchScope = cScope;
|
|
39
68
|
if (catchFunction.params) {
|
|
40
69
|
catchFunction.params.unshift(lua.createAnonymousIdentifier());
|
|
41
70
|
}
|
|
71
|
+
const catchBodyStatements = catchFunction.body ? catchFunction.body.statements : [];
|
|
72
|
+
const asyncWrappedCatch = (0, async_await_1.wrapInAsyncAwaiter)(context, [...catchBodyStatements], false);
|
|
73
|
+
catchFunction.body = lua.createBlock([lua.createReturnStatement([asyncWrappedCatch])]);
|
|
42
74
|
const awaiterCatch = lua.createTableIndexExpression(awaiterIdentifier, lua.createStringLiteral("catch"));
|
|
43
75
|
const catchCall = lua.createCallExpression(awaiterCatch, [awaiterIdentifier, catchFunction]);
|
|
44
|
-
|
|
45
|
-
const promiseAwait = (0, lualib_1.transformLuaLibFunction)(context, __1.LuaLibFeature.Await, statement, catchCall);
|
|
46
|
-
result.push(lua.createExpressionStatement(promiseAwait, statement));
|
|
76
|
+
chainCalls.push(lua.createAssignmentStatement(lua.cloneIdentifier(awaiterIdentifier), catchCall));
|
|
47
77
|
}
|
|
48
|
-
|
|
49
|
-
//
|
|
50
|
-
const
|
|
51
|
-
|
|
78
|
+
if (statement.finallyBlock) {
|
|
79
|
+
// ____try = ____try.finally(<finally function>)
|
|
80
|
+
const finallyStatements = context.transformStatements(statement.finallyBlock.statements);
|
|
81
|
+
const asyncWrappedFinally = (0, async_await_1.wrapInAsyncAwaiter)(context, finallyStatements, false);
|
|
82
|
+
const finallyFunction = lua.createFunctionExpression(lua.createBlock([lua.createReturnStatement([asyncWrappedFinally])]));
|
|
83
|
+
const awaiterFinally = lua.createTableIndexExpression(awaiterIdentifier, lua.createStringLiteral("finally"));
|
|
84
|
+
const finallyCall = lua.createCallExpression(awaiterFinally, [awaiterIdentifier, finallyFunction], statement.finallyBlock);
|
|
85
|
+
chainCalls.push(lua.createAssignmentStatement(lua.cloneIdentifier(awaiterIdentifier), finallyCall));
|
|
86
|
+
}
|
|
87
|
+
// __TS__Await(____try)
|
|
88
|
+
const promiseAwait = (0, lualib_1.transformLuaLibFunction)(context, __1.LuaLibFeature.Await, statement, awaiterIdentifier);
|
|
89
|
+
chainCalls.push(lua.createExpressionStatement(promiseAwait, statement));
|
|
90
|
+
const hasReturn = (_a = tryScope.asyncTryHasReturn) !== null && _a !== void 0 ? _a : catchScope === null || catchScope === void 0 ? void 0 : catchScope.asyncTryHasReturn;
|
|
91
|
+
const hasBreak = (_b = tryScope.asyncTryHasBreak) !== null && _b !== void 0 ? _b : catchScope === null || catchScope === void 0 ? void 0 : catchScope.asyncTryHasBreak;
|
|
92
|
+
const hasContinue = (_c = tryScope.asyncTryHasContinue) !== null && _c !== void 0 ? _c : catchScope === null || catchScope === void 0 ? void 0 : catchScope.asyncTryHasContinue;
|
|
93
|
+
// Build result in output order: flag declarations, awaiter, chain calls, post-checks
|
|
94
|
+
const result = [];
|
|
95
|
+
if (hasReturn || hasBreak || hasContinue !== undefined) {
|
|
96
|
+
const flagDecls = [];
|
|
97
|
+
if (hasReturn) {
|
|
98
|
+
flagDecls.push(lua.createIdentifier("____hasReturned"));
|
|
99
|
+
flagDecls.push(lua.createIdentifier("____returnValue"));
|
|
100
|
+
}
|
|
101
|
+
if (hasBreak) {
|
|
102
|
+
flagDecls.push(lua.createIdentifier("____hasBroken"));
|
|
103
|
+
}
|
|
104
|
+
if (hasContinue !== undefined) {
|
|
105
|
+
flagDecls.push(lua.createIdentifier("____hasContinued"));
|
|
106
|
+
}
|
|
107
|
+
result.push(lua.createVariableDeclarationStatement(flagDecls));
|
|
108
|
+
}
|
|
109
|
+
result.push(awaiterDefinition);
|
|
110
|
+
result.push(...chainCalls);
|
|
111
|
+
if (hasReturn) {
|
|
112
|
+
result.push(lua.createIfStatement(lua.createIdentifier("____hasReturned"), lua.createBlock([(0, return_1.createReturnStatement)(context, [lua.createIdentifier("____returnValue")], statement)])));
|
|
113
|
+
}
|
|
114
|
+
if (hasBreak) {
|
|
115
|
+
result.push(lua.createIfStatement(lua.createIdentifier("____hasBroken"), lua.createBlock([lua.createBreakStatement()])));
|
|
116
|
+
}
|
|
117
|
+
if (hasContinue !== undefined) {
|
|
118
|
+
const loopScope = (0, scope_1.findScope)(context, scope_1.ScopeType.Loop);
|
|
119
|
+
const label = `__continue${(_d = loopScope === null || loopScope === void 0 ? void 0 : loopScope.id) !== null && _d !== void 0 ? _d : ""}`;
|
|
120
|
+
const continueStatements = [];
|
|
121
|
+
switch (hasContinue) {
|
|
122
|
+
case scope_1.LoopContinued.WithGoto:
|
|
123
|
+
continueStatements.push(lua.createGotoStatement(label));
|
|
124
|
+
break;
|
|
125
|
+
case scope_1.LoopContinued.WithContinue:
|
|
126
|
+
continueStatements.push(lua.createContinueStatement());
|
|
127
|
+
break;
|
|
128
|
+
case scope_1.LoopContinued.WithRepeatBreak:
|
|
129
|
+
continueStatements.push(lua.createAssignmentStatement(lua.createIdentifier(label), lua.createBooleanLiteral(true)));
|
|
130
|
+
continueStatements.push(lua.createBreakStatement());
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
result.push(lua.createIfStatement(lua.createIdentifier("____hasContinued"), lua.createBlock(continueStatements)));
|
|
52
134
|
}
|
|
53
135
|
return result;
|
|
54
136
|
};
|
|
@@ -100,6 +182,11 @@ const transformTryStatement = (statement, context) => {
|
|
|
100
182
|
// change return condition from '____returned' to '____try and ____returned'
|
|
101
183
|
returnCondition = lua.createBinaryExpression(lua.cloneIdentifier(tryResultIdentifier), returnedIdentifier, lua.SyntaxKind.AndOperator);
|
|
102
184
|
}
|
|
185
|
+
else if (statement.finallyBlock) {
|
|
186
|
+
// try without catch, but with finally — need to capture error for re-throw
|
|
187
|
+
const errorIdentifier = lua.createIdentifier("____error");
|
|
188
|
+
result.push(lua.createVariableDeclarationStatement([tryResultIdentifier, errorIdentifier], tryCall));
|
|
189
|
+
}
|
|
103
190
|
else {
|
|
104
191
|
// try without return or catch
|
|
105
192
|
result.push(lua.createExpressionStatement(tryCall));
|
|
@@ -107,6 +194,17 @@ const transformTryStatement = (statement, context) => {
|
|
|
107
194
|
if (statement.finallyBlock && statement.finallyBlock.statements.length > 0) {
|
|
108
195
|
result.push(...context.transformStatements(statement.finallyBlock));
|
|
109
196
|
}
|
|
197
|
+
// Re-throw error if try had no catch but had a finally.
|
|
198
|
+
// On pcall failure the error is the second return value, which lands in
|
|
199
|
+
// ____hasReturned (when functionReturned) or ____error (otherwise).
|
|
200
|
+
if (!statement.catchClause && statement.finallyBlock) {
|
|
201
|
+
const notTryCondition = lua.createUnaryExpression(lua.cloneIdentifier(tryResultIdentifier), lua.SyntaxKind.NotOperator);
|
|
202
|
+
const errorIdentifier = tryScope.functionReturned
|
|
203
|
+
? lua.cloneIdentifier(returnedIdentifier)
|
|
204
|
+
: lua.createIdentifier("____error");
|
|
205
|
+
const rethrow = lua.createExpressionStatement(lua.createCallExpression(lua.createIdentifier("error"), [errorIdentifier, lua.createNumericLiteral(0)]));
|
|
206
|
+
result.push(lua.createIfStatement(notTryCondition, lua.createBlock([rethrow])));
|
|
207
|
+
}
|
|
110
208
|
if (returnCondition && returnedIdentifier) {
|
|
111
209
|
const returnValues = [];
|
|
112
210
|
if ((0, multi_1.isInMultiReturnFunction)(context, statement)) {
|
|
@@ -1,12 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.shouldMoveToTemp = shouldMoveToTemp;
|
|
4
37
|
exports.moveToPrecedingTemp = moveToPrecedingTemp;
|
|
5
38
|
exports.transformExpressionList = transformExpressionList;
|
|
6
39
|
exports.transformOrderedExpressions = transformOrderedExpressions;
|
|
7
40
|
const assert = require("assert");
|
|
8
|
-
const ts = require("typescript");
|
|
9
|
-
const lua = require("../../LuaAST");
|
|
41
|
+
const ts = __importStar(require("typescript"));
|
|
42
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
10
43
|
const context_1 = require("../context");
|
|
11
44
|
const lualib_1 = require("../utils/lualib");
|
|
12
45
|
const preceding_statements_1 = require("../utils/preceding-statements");
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformExpressionStatement = void 0;
|
|
4
37
|
exports.wrapInStatement = wrapInStatement;
|
|
5
|
-
const lua = require("../../LuaAST");
|
|
38
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
6
39
|
const context_1 = require("../context");
|
|
7
40
|
const binary_expression_1 = require("./binary-expression");
|
|
8
41
|
const unary_expression_1 = require("./unary-expression");
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformYieldExpression = exports.transformFunctionDeclaration = void 0;
|
|
4
37
|
exports.createCallableTable = createCallableTable;
|
|
@@ -9,9 +42,9 @@ exports.transformFunctionBody = transformFunctionBody;
|
|
|
9
42
|
exports.transformParameters = transformParameters;
|
|
10
43
|
exports.transformFunctionToExpression = transformFunctionToExpression;
|
|
11
44
|
exports.transformFunctionLikeDeclaration = transformFunctionLikeDeclaration;
|
|
12
|
-
const ts = require("typescript");
|
|
45
|
+
const ts = __importStar(require("typescript"));
|
|
13
46
|
const CompilerOptions_1 = require("../../CompilerOptions");
|
|
14
|
-
const lua = require("../../LuaAST");
|
|
47
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
15
48
|
const utils_1 = require("../../utils");
|
|
16
49
|
const export_1 = require("../utils/export");
|
|
17
50
|
const function_context_1 = require("../utils/function-context");
|
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformIdentifierExpression = void 0;
|
|
4
37
|
exports.transformIdentifier = transformIdentifier;
|
|
5
38
|
exports.getCustomNameFromSymbol = getCustomNameFromSymbol;
|
|
6
39
|
exports.transformIdentifierWithSymbol = transformIdentifierWithSymbol;
|
|
7
|
-
const ts = require("typescript");
|
|
8
|
-
const lua = require("../../LuaAST");
|
|
40
|
+
const ts = __importStar(require("typescript"));
|
|
41
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
9
42
|
const builtins_1 = require("../builtins");
|
|
10
43
|
const promise_1 = require("../builtins/promise");
|
|
11
44
|
const context_1 = require("../context");
|
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.standardVisitors = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
5
38
|
const access_1 = require("./access");
|
|
6
39
|
const binary_expression_1 = require("./binary-expression");
|
|
7
40
|
const block_1 = require("./block");
|
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformForOfIterableStatement = transformForOfIterableStatement;
|
|
4
37
|
exports.transformForOfPairsIterableStatement = transformForOfPairsIterableStatement;
|
|
5
38
|
exports.transformForOfPairsKeyIterableStatement = transformForOfPairsKeyIterableStatement;
|
|
6
|
-
const ts = require("typescript");
|
|
7
|
-
const lua = require("../../../LuaAST");
|
|
39
|
+
const ts = __importStar(require("typescript"));
|
|
40
|
+
const lua = __importStar(require("../../../LuaAST"));
|
|
8
41
|
const utils_1 = require("../loops/utils");
|
|
9
42
|
const variable_declaration_1 = require("../variable-declaration");
|
|
10
43
|
const diagnostics_1 = require("../../utils/diagnostics");
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.isMultiReturnType = isMultiReturnType;
|
|
4
37
|
exports.canBeMultiReturnType = canBeMultiReturnType;
|
|
@@ -8,8 +41,8 @@ exports.isMultiReturnCall = isMultiReturnCall;
|
|
|
8
41
|
exports.isMultiFunctionNode = isMultiFunctionNode;
|
|
9
42
|
exports.isInMultiReturnFunction = isInMultiReturnFunction;
|
|
10
43
|
exports.shouldMultiReturnCallBeWrapped = shouldMultiReturnCallBeWrapped;
|
|
11
|
-
const ts = require("typescript");
|
|
12
|
-
const extensions = require("../../utils/language-extensions");
|
|
44
|
+
const ts = __importStar(require("typescript"));
|
|
45
|
+
const extensions = __importStar(require("../../utils/language-extensions"));
|
|
13
46
|
const language_extensions_1 = require("../../utils/language-extensions");
|
|
14
47
|
const typescript_1 = require("../../utils/typescript");
|
|
15
48
|
const multiReturnExtensionName = "__tstlMultiReturn";
|