internal override AST PartiallyEvaluate(){
if (!this.isOK){
this.context.HandleError(JSError.NotOKToCallSuper);
return this;
}
for (int i = 0, n = this.arguments.count; i < n; i++){
this.arguments[i] = this.arguments[i].PartiallyEvaluate();
this.arguments[i].CheckIfOKToUseInSuperConstructorCall();
}
ScriptObject scope = Globals.ScopeStack.Peek();
if (!(scope is FunctionScope)){
this.context.HandleError(JSError.NotOKToCallSuper);
return this;
}
if (!((FunctionScope)scope).owner.isConstructor)
this.context.HandleError(JSError.NotOKToCallSuper);
((FunctionScope)scope).owner.superConstructorCall = this;
return this;
}