Skip to content

TypeScript 5 Decorator does not work in TSTL 1.15.1 #1446

@zensoo

Description

@zensoo

Decorator implementation was changed in TypeScript 5 and as of TSTL 1.15.1 this change is not reflected.
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#decorators

Between these examples, only the implementation of the "OnEvent" decorator was changed.

Legacy Decorator, which works in TS5 but won't compile without 'experimentalDecorators' enabled:
https://typescripttolua.github.io/play#code/KYOwrgtgBA8gTgE2HAogN1AFygbwFBRQDCcwAhpsAlALxQBEA9osgHQDGpFV9ANHgF88eTAE8ADsCjosAZ1qwWqDCEwBuYewA2ZWfJmqAysjQBLdlPyFxcU2m5RZmCuajAVmWQC4oAWTLiADwGnrxQAGJgIOyYpowgANoAugB8CiDAAO5+AQAUAJQaBI7OsexQWqZOoLnuWD4hsmEAFmQgCFrIPpHRsfH5PmiMptRWhFDs8U5Qre2dcPJ0mM1VrHWqsqwA5sCYtR75UAD8R1DJGuMzbR3Im+Jgss25szdwhcKXy6vrnqyyu-ssC1rvNZO9CEJik4XOVgBBTHsfg0PE0oAgKGQfG1RAMoEMRrhioRJiBpi9QQovpsfpsdoiDsdTuciVc5rdWAAzZgoMjsJ7PEHIQ40NLk5C5dHOfLgqBCSEk6YwEAhBSA1TIuS43y7ZqMBAAEWAkzgFGYtDSY1ImDAcBAUA5URicTtuWccDpYRsjEkcDEAGlgKIwkhZJxTOJMMxDmNCCFjHAzBZWJVqiA1Zhg8BQ7YI8xWPYtGApLoIo6+iAZQINFXNDo9IokHASORKAgVWMFZg4GAYsxcvcAEaVcogMgQYA+Jy2EBbT1gIeuGzmCdQcAQAdC3By2u6eTwRvN7gIAAyVUoGTghMIAAElSFcvvkCFWIfW-limLH02uK378xGz4X6vlQIS4viowskuqi5AABgkQE-lQp6psgSRQAAJDg-5sKO44CFAAC0GGYdhcCsEuFgCDBlaCMIcYmMuazwnsX7PsBCBhBk2QIS2IEeLk9CGGUADWfBQAAjAADNKGj0QmjFwgiD5KGxiEcauWQNsg7H3vQABCPbCbsYkAEwAKwyXgQA

TypeScript 4.9.5 working example:
https://www.typescriptlang.org/play?ts=4.9.5#code/KYOwrgtgBA8gTgE2HAogN1AFygbwLABQUUAwnMAIabAJQC8UARAPaLIB0AxuVTYwDSEAvoUKYAngAdgUdFgDO9WG1QYQmANyiCnADYV5iueoDKyNAEtOM-ESiS4FtLyjzMVK1GBrM8gFxQALIUkgA8xr78UABiYCCcmBbMIADaALoAfEogwADuQSEAFACUWgSExG4enFC6Fm6ghd5YARHyUQAWFCAIusgBsfGJycUBaMwWtLbExJzJblBdPX1wigyYHfXszery7ADmwJhNPsVQAPznUOllM4vdvch7kmDyHYVLj3Cl2ncbWztfOx5EcTlhOg8VvIfnYROU7FVEjVgBALMdAa0fO0oAgqBQAt1xKMoONJrgKjM5iAFp8oUp-ntAXtDujThcrjcKcRaU92AAzVgoCicd4fSHIM50LI8uCFXHuYow4hwuGEKkLGAgCJKMHqTEKYmBI4dZgIAAiwDmcCorHoWWmUHImDAcBAUD5cQSSTdhXccBZUQczGkcAkAGlgOIokh5NwLJJMKwzg7iBEzHBLNZ2HUGiBdZho8BY44E6x2M5dGAZAYYp7hiAlVAhGVm9o9AZFPAkHAyJRqAhtQ71Zg4GAEqxCi8AEZ1GogCgQYABNyOED7QNgGeeBxWJdQcAQKcS3Aqtv6QzKbu93gIAAy9WoOTg5LsAAFNRFCl3kBF2Nf+8UFI8t+PY8P2n6sN2AQgf+NARMSpJTFyUDqswfTZsw+yFAABikMFgTQ965sgaRQAAJDgkEcPOi5CFAAC05EUVRcDsDu1hCNhjanvCabmLu2yoscIG-rBCBRDk+T4X2cE+IUjAmEiADWAhQAAjAADIqZR8RmAkomiX4qKJBHifueSXsgYmfowABCY5KUcqkAEwAKzaYQQA

New Decorator, which does not work but will compile and will result in a crash:
https://typescripttolua.github.io/play/#code/KYOwrgtgBA8gTgE2HAogN1AFygbwFBRQDCcwAhpsAlALxQBEA9osgHQDGpFV9ANHgF88eTAE8ADsCjosAZ1qwWqDCEwBuYewA2ZWfJmqAysjQBLdlPyFxcU2m5RZmCuajAVmWQC4oAWTLiADwGnrxQAGJgIOyYpowgANoAugB8CiDAAO5+AQAUAJQaBI7OsexQWqZOoLnuWD4hsmEAFmQgCFrIPpHRsfH5PmiMptRWhFDs8U5Qre2dcPJ0mM1VrHWqsqwA5sCYtR75UAD8R1DJGuMzbR3Im+Jgss25szdwhcKXy6vrnqyyu-ssC1rvNZO9CEJik4XOVgBBTHsfg0PE0oAgKGQfG1RAMoEMRrhioRJiBpi9QQovpsfpsdoiDsdTuciVc5rdWAAzZgoMjsJ7PEHIQ40NLk5C5dHOfLgqBCSEk6YwEAhBSA1TIuTCtJjUiYMBwEBQDlRGJxQ25ZxwOndE19EBhEmUAAemB8RB0el8u2ajAQABFgJM4BRmER4s7MIcxoQQsY4GYLKxKtUQGrMGFLXSZQINDnNB75PAkHASORKAgVWMFZg4GAYsxcvcAEaVcogMgQYA+Jy2EBbMLN1tQGzmLtQcAQJtC3By-O6QtKUvcBAAGSqlAycEJhAAAkqQrki8gQqwl+X8sUxUeS1xywfmMWfNez1QQrj8aMWSPVLkAAYJZ9byoNcU2QJIoAAEhwB82HbTsBCgABaSCoJguBWBHCwBF-bNBGEWMTFHNZ4T2a8TxfBAwgybJALLV8PFyehDDKABrPgoAARgABmlDQCPjIi4QRQ8lHIoDKPHLJFGLCiD3oAAhOsWN2diACYAFZeLwIA

TypeScript 5.0.4 working example:
https://www.typescriptlang.org/play?ts=5.0.4#code/KYOwrgtgBA8gTgE2HAogN1AFygbwLABQUUAwnMAIabAJQC8UARAPaLIB0AxuVTYwDSEAvoUKYAngAdgUdFgDO9WG1QYQmANyiCnADYV5iueoDKyNAEtOM-ESiS4FtLyjzMVK1GBrM8gFxQALIUkgA8xr78UABiYCCcmBbMIADaALoAfEogwADuQSEAFACUWgSExG4enFC6Fm6ghd5YARHyUQAWFCAIusgBsfGJycUBaMwWtLbExJzJblBdPX1wigyYHfXszery7ADmwJhNPsVQAPznUOllM4vdvch7kmDyHYVLj3Cl2ncbWztfOx5EcTlhOg8VvIfnYROU7FVEjVgBALMdAa0fO0oAgqBQAt1xKMoONJrgKjM5iAFp8oUp-ntAXtDujThcrjcKcRaU92AAzVgoCicd4fSHIM50LI8uCFXHuYow4hwuGEKkLGAgCJKMHqTEKSVZaZQciYMBwEBQPlxBJJS2FdxwFkDG3DEBRKnUAAemACJH0hkCRw6zAQABFgHM4FRWCRkt7MGdjcQImY4JZrOw6g0QLrMFFHSylVAhGVS9o9AZFPAkHAyJRqAhtcb1Zg4GAEqxCi8AEZ1GogCgQYABNyOED7KK9-v2RzWALgCA9iW4FUVgPVlT13gIAAy9WoOTg5LsAAFNRFCjXkBF2NvG8UKTzr3WeI3L6xawEX-eaBFiaSUxclA6rMH0WbMPshQAAYpD+b40PuObIGkUAACQ4J+HCDsOQhQAAtOhGFYXA7AOFYwBCNBxZrvCqbmBR2yoscL63r+CBRDk+TwQ2f4+IUjAmEiADWAhQAAjAADIqZT0emjEomiV4qGxCEcVAXHKLW7GXowABCHbCUcYkAEwAKwyYQQA

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions