public void PushVariable(Variable variable) { if (!this.variableStacks.ContainsKey(variable.Name)) this.variableStacks[variable.Name] = new Stack<Variable>(); this.variableStacks[variable.Name].Push(variable); }
private static void ProcessVariableAccordingMode(Variable curVariable, ExpressionAnalizationMode mode) { if (mode.HasFlag(ExpressionAnalizationMode.IsUsedForComputingMode)) curVariable.SetUsedForComputing(); if (mode.HasFlag(ExpressionAnalizationMode.IsContolMode)) curVariable.SetUsedAsControl(); }
private static ExpressionAnalizationMode GetModeAccordingVariable(Variable variable) { ExpressionAnalizationMode mode = new ExpressionAnalizationMode(); if (variable.IsCurrentlyUsedAsControl) mode |= ExpressionAnalizationMode.IsContolMode; if (variable.IsUsedForComputing) mode |= ExpressionAnalizationMode.IsUsedForComputingMode; return mode; }