//private List<SymbolDefField> nestedSymbolInfos; public override Exp Analy( ) { CreateContext(); AnalyFields(); BodyExp.SetContext(NestedExpContext); BodyExp.SetIsNested(true); if (FnRetType == ZTypeManager.ZBOOL) { retSymbol = new SymbolLocalVar("$RetResult", FnRetType); } return(this); }
private void CreateContext() { NestedClassContext = new ContextClass(this.ExpContext.FileContext); NestedClassContext.ClassName = this.ExpContext.ProcContext.CreateNestedClassName(); NestedProcContext = new ContextProc(NestedClassContext); NestedProcContext.ProcName = NestedClassContext.ClassName + "$CALL"; NestedProcContext.ProcManagerContext = NestedClassContext.ProcManagerContext; NestedProcContext.ProcManagerContext.Add(NestedProcContext); NestedStmt = new StmtCall(); NestedStmt.ProcContext = NestedProcContext; NestedExpContext = new ContextExp(NestedProcContext, NestedStmt); BodyExp.SetContext(NestedExpContext); CreateEmitContext(); }