Skip to content

Error in array destructuring inside AssignmentStatement #451

Description

@ark120202

Case 1:

declare function foo(): [];
[] = foo();

Case 2 (without strictNullChecks):

declare function foo(): [string] | [];
let x: string;
[x] = foo();

Error:

TypescriptToLua/node_modules/typescript/lib/typescript.js:13310
        return node.kind === 169 /* ArrayType */;
                    ^
TypeError: Cannot read property 'kind' of undefined
    at Object.isArrayTypeNode (TypescriptToLua/node_modules/typescript/lib/typescript.js:13310:21)
    at LuaTransformer.validateFunctionAssignment (TypescriptToLua/src/LuaTransformer.ts:4137:20)
    at LuaTransformer.transformAssignmentStatement (TypescriptToLua/src/LuaTransformer.ts:2447:14)
    at LuaTransformer.transformExpressionStatement (TypescriptToLua/src/LuaTransformer.ts:1726:29)
    at LuaTransformer.transformStatement (TypescriptToLua/src/LuaTransformer.ts:167:29)
    at statements.forEach.statement (TypescriptToLua/src/LuaTransformer.ts:205:83)
    at Array.forEach (<anonymous>)
    at LuaTransformer.transformStatements (TypescriptToLua/src/LuaTransformer.ts:204:40)
    at LuaTransformer.transformFunctionBody (TypescriptToLua/src/LuaTransformer.ts:1180:58)
    at LuaTransformer.transformFunctionExpression (TypescriptToLua/src/LuaTransformer.ts:2983:40)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions