internal void ResolveVariableOrigins(ParserContext parser) { VariableScope varScope = VariableScope.NewEmptyScope(this.CompilationScope.IsStaticallyTyped); this.ArgLocalIds = new VariableId[this.ArgNames.Length]; for (int i = 0; i < this.ArgNames.Length; ++i) { this.ArgLocalIds[i] = varScope.RegisterVariable(this.ArgTypes[i], this.ArgNames[i].Value); } foreach (Executable ex in this.Code) { ex.ResolveVariableOrigins(parser, varScope, VariableIdAllocPhase.REGISTER_AND_ALLOC); } Lambda.DoVarScopeIdAllocationForLambdaContainer(parser, varScope, this); varScope.FinalizeScopeIds(); this.LocalScopeSize = varScope.Size; this.Locals = varScope.GetAllLocals().ToArray(); }