public void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { if (FlowMode != null && (FlowMode.Value == Compiler.FlowMode.IN || FlowMode.Value == Compiler.FlowMode.INOUT)) { usedIdents.AddStoIdent(Ident, true); //In params are initialized } }
public void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { string tmp = usedIdents.CurrentNamespace; usedIdents.CurrentNamespace = null; usedIdents.AddStoIdent(Ident, false); //TODO: init! usedIdents.CurrentNamespace = tmp; }
public override void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { bool tmp = usedIdents.AllowInit; usedIdents.AllowInit = false; Condition.GetUsedIdents(usedIdents); Commands.ForEach(cmd => cmd.GetUsedIdents(usedIdents)); usedIdents.AllowInit = tmp; }
public override void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { if (IsFuncCall) { usedIdents.AddProcFuncIdent(Ident); } else { usedIdents.AddStoIdent(Ident, IsInit); } }
public override void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { Condition.GetUsedIdents(usedIdents); //Fork usedIdents var usedIdentsFork = usedIdents.ForkForIf(); //Give the branches its own UsedIdents instance TrueCommands.ForEach(cmd => cmd.GetUsedIdents(usedIdents)); FalseCommands.ForEach(cmd => cmd.GetUsedIdents(usedIdentsFork)); //Merge the branches again usedIdents.MergeForIf(usedIdentsFork); }
public void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { usedIdents.CurrentNamespace = null; Params.ForEach(param => param.GetUsedIdents(usedIdents)); Commands.ForEach(cmd => cmd.GetUsedIdents(usedIdents)); Declarations.ForEach(decl => { if (decl is ASTProcFuncDecl) { usedIdents.CurrentNamespace = ((ASTProcFuncDecl)decl).Ident; } decl.GetUsedIdents(usedIdents); usedIdents.CurrentNamespace = null; }); }
public abstract void GetUsedIdents(ScopeChecker.UsedIdents usedIdents);
public void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { }
public override void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { Expr.GetUsedIdents(usedIdents); }
public override void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { Params.ForEach(param => param.GetUsedIdents(usedIdents)); OptGlobImps.ForEach(global => global.GetUsedIdents(usedIdents)); Commands.ForEach(cmd => cmd.GetUsedIdents(usedIdents)); }
public override void GetUsedIdents(ScopeChecker.UsedIdents usedIdents) { ExprList.ForEach(cmd => cmd.GetUsedIdents(usedIdents)); usedIdents.AddProcFuncIdent(Ident); }