diff --git a/src/compiler.ts b/src/compiler.ts index 1ad3cfef..94110669 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -5410,11 +5410,27 @@ export class Compiler extends DiagnosticEmitter { (parent).type, "this" ); + let parentBase = (parent).base; + if (parentBase) { + flow.addScopedLocalAlias( + getGetLocalIndex(thisArg), + parentBase.type, + "super" + ); + } } else { let thisLocal = flow.addScopedLocal((parent).type, "this", false); body.push( module.createSetLocal(thisLocal.index, thisArg) ); + let parentBase = (parent).base; + if (parentBase) { + flow.addScopedLocalAlias( + thisLocal.index, + parentBase.type, + "super" + ); + } } } var parameterTypes = signature.parameterTypes;