There was an error while loading. Please reload this page.
1 parent 4443063 commit e51950dCopy full SHA for e51950d
7 files changed
src/CompilerOptions.ts
@@ -51,6 +51,7 @@ export enum LuaTarget {
51
Lua53 = "5.3",
52
Lua54 = "5.4",
53
LuaJIT = "JIT",
54
+ Cobalt = "CC"
55
}
56
57
export enum BuildMode {
src/transformation/utils/diagnostics.ts
@@ -84,7 +84,7 @@ export const unsupportedRightShiftOperator = createErrorDiagnosticFactory(
84
"Right shift operator is not supported for target Lua 5.3. Use `>>>` instead."
85
);
86
87
-const getLuaTargetName = (version: LuaTarget) => (version === LuaTarget.LuaJIT ? "LuaJIT" : `Lua ${version}`);
+const getLuaTargetName = (version: LuaTarget) => (version === LuaTarget.LuaJIT ? "LuaJIT" : (version === LuaTarget.Cobalt ? "Cobalt" : `Lua ${version}`));
88
export const unsupportedForTarget = createErrorDiagnosticFactory(
89
(functionality: string, version: Exclude<LuaTarget, LuaTarget.Universal>) =>
90
`${functionality} is/are not supported for target ${getLuaTargetName(version)}.`
src/transformation/visitors/binary-expression/bit.ts
@@ -70,6 +70,7 @@ export function transformBinaryBitOperation(
70
return transformBinaryBitLibOperation(node, left, right, operator, "bit");
71
72
case LuaTarget.Lua52:
73
+ case LuaTarget.Cobalt:
74
return transformBinaryBitLibOperation(node, left, right, operator, "bit32");
75
default:
76
const luaOperator = transformBitOperatorToLuaOperator(context, node, operator);
@@ -114,6 +115,7 @@ export function transformUnaryBitOperation(
114
115
return transformUnaryBitLibOperation(node, expression, operator, "bit");
116
117
118
119
return transformUnaryBitLibOperation(node, expression, operator, "bit32");
120
121
src/transformation/visitors/break-continue.ts
@@ -11,7 +11,7 @@ export const transformBreakStatement: FunctionVisitor<ts.BreakStatement> = (brea
11
};
12
13
export const transformContinueStatement: FunctionVisitor<ts.ContinueStatement> = (statement, context) => {
14
- if (context.luaTarget === LuaTarget.Universal || context.luaTarget === LuaTarget.Lua51) {
+ if (context.luaTarget === LuaTarget.Universal || context.luaTarget === LuaTarget.Lua51 || context.luaTarget == LuaTarget.Cobalt) {
15
context.diagnostics.push(unsupportedForTarget(statement, "Continue statement", LuaTarget.Lua51));
16
17
src/transformation/visitors/language-extensions/operators.ts
@@ -96,6 +96,7 @@ export function transformOperatorMappingExpression(
96
context.luaTarget === LuaTarget.Lua51 ||
97
context.luaTarget === LuaTarget.Lua52 ||
98
context.luaTarget === LuaTarget.LuaJIT ||
99
+ context.luaTarget === LuaTarget.Cobalt ||
100
context.luaTarget === LuaTarget.Universal;
101
if (isBefore53) {
102
const luaTarget = context.luaTarget === LuaTarget.Universal ? LuaTarget.Lua51 : context.luaTarget;
test/cli/parse.spec.ts
@@ -119,6 +119,7 @@ describe("command line", () => {
["luaTarget", "5.2", { luaTarget: tstl.LuaTarget.Lua52 }],
["luaTarget", "5.3", { luaTarget: tstl.LuaTarget.Lua53 }],
["luaTarget", "jit", { luaTarget: tstl.LuaTarget.LuaJIT }],
122
+ ["luaTarget", "cc", { luaTarget: tstl.LuaTarget.Cobalt }],
123
124
["luaBundle", "foo", { luaBundle: "foo" }],
125
["luaBundleEntry", "bar", { luaBundleEntry: "bar" }],
@@ -233,6 +234,7 @@ describe("tsconfig", () => {
233
234
235
["luaTarget", "5.4", { luaTarget: tstl.LuaTarget.Lua54 }],
236
237
238
239
240
test/util.ts
@@ -31,8 +31,8 @@ function getLuaBindingsForVersion(target: tstl.LuaTarget): { lauxlib: LauxLib; l
31
const { lauxlib, lua, lualib } = require("lua-wasm-bindings/dist/lua.53");
32
return { lauxlib, lua, lualib };
33
34
- if (target === tstl.LuaTarget.LuaJIT) {
35
- throw Error("Can't use executeLua() or expectToMatchJsResult() wit LuaJIT as target!");
+ if (target === tstl.LuaTarget.LuaJIT || target === tstl.LuaTarget.Cobalt) {
+ throw Error("Can't use executeLua() or expectToMatchJsResult() wit LuaJIT or Cobalt as target!");
36
37
38
const { lauxlib, lua, lualib } = require("lua-wasm-bindings/dist/lua.54");
@@ -75,6 +75,7 @@ export function expectEachVersionExceptJit<T>(
[tstl.LuaTarget.Lua53]: expectation,
[tstl.LuaTarget.Lua54]: expectation,
77
[tstl.LuaTarget.LuaJIT]: false, // Exclude JIT
78
+ [tstl.LuaTarget.Cobalt]: false, // Exclude CC
79
80
81
0 commit comments