rewrite this in shadowed functions inside native derived class constructors - fixes #1340
This commit is contained in:
@@ -37,6 +37,22 @@ var collectPropertyReferencesVisitor = {
|
||||
}
|
||||
};
|
||||
|
||||
var constructorVisitor = traverse.explode({
|
||||
ThisExpression: {
|
||||
enter(node, parent, scope, ref) {
|
||||
return ref;
|
||||
}
|
||||
},
|
||||
|
||||
Function: {
|
||||
enter(node) {
|
||||
if (!node.shadow) {
|
||||
this.skip();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var verifyConstructorVisitor = traverse.explode({
|
||||
MethodDefinition: {
|
||||
enter() {
|
||||
@@ -581,6 +597,10 @@ class ClassTransformer {
|
||||
fnPath.scope.rename(this.classRef.name);
|
||||
}
|
||||
|
||||
if (this.isNativeSuper) {
|
||||
fnPath.traverse(constructorVisitor, this.nativeSuperRef);
|
||||
}
|
||||
|
||||
var construct = this.constructor;
|
||||
var fn = method.value;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user