X Tutup
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/transformation/visitors/class/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ function transformClassLikeDeclaration(
const iif = lua.createFunctionExpression(lua.createBlock(bodyStatements), [
lua.createIdentifier("self"),
]);
const iife = lua.createCallExpression(iif, [className]);
const iife = lua.createCallExpression(iif, [localClassName]);
result.push(lua.createExpressionStatement(iife, member));
}
}
Expand All @@ -217,7 +217,7 @@ function transformClassLikeDeclaration(
if (shouldBeExported(classDeclaration)) {
const exportExpression = hasDefaultExportModifier(classDeclaration)
? createDefaultExportExpression(classDeclaration)
: createExportedIdentifier(context, className);
: createExportedIdentifier(context, localClassName);

const classAssignment = lua.createAssignmentStatement(exportExpression, localClassName);
result.push(classAssignment);
Expand Down
15 changes: 15 additions & 0 deletions test/unit/__snapshots__/identifiers.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -427,3 +427,18 @@ function ____exports.__main(self)
end
return ____exports"
`;

exports[`unicode static initialization block (#1645) 1`] = `
"local ____lualib = require("lualib_bundle")
local __TS__Class = ____lualib.__TS__Class
local ____exports = {}
____exports.default = __TS__Class()
local _____81EA_5B9A_4E49_5F02_80FD = ____exports.default
_____81EA_5B9A_4E49_5F02_80FD.name = "自定义异能"
function _____81EA_5B9A_4E49_5F02_80FD.prototype.____constructor(self)
end;
(function(self)
local a = 1
end)(_____81EA_5B9A_4E49_5F02_80FD)
return ____exports"
`;
11 changes: 11 additions & 0 deletions test/unit/identifiers.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,17 @@ test("unicode export default class", () => {
.expectToEqual({ result: "你好" });
});

// https://github.com/TypeScriptToLua/TypeScriptToLua/issues/1645
test("unicode static initialization block (#1645)", () => {
util.testModule`
export default class 自定义异能 {
static {
let a = 1;
}
}
`.expectLuaToMatchSnapshot();
});

describe("lua keyword as identifier doesn't interfere with lua's value", () => {
test("variable (nil)", () => {
util.testFunction`
Expand Down
Loading
X Tutup