this.monitor = monitor;
this.current = current;
this.nature = nature;
this.moduleName = moduleName;
this.document = document;
this.scope = new Scope(this, nature, moduleName);
if (current instanceof SourceModule) {
this.currentLocalScope.getScopeStack().push(((SourceModule) current).getAst());
}
startScope(Scope.SCOPE_TYPE_GLOBAL, null); //initial scope - there is only one 'global'