protected sunLoop PushLoop(sunContext context, sunLoopFlags flags) { var name = context.PopNameLabel(); if (name == null) { return(context.Loops.Push(flags)); } return(context.Loops.Push(name.Label.Value, flags)); }
sunExpressionFlags sunTerm.GetExpressionFlags(sunContext context) { var symbol = context.MustResolveCallable(this); var flags = sunExpressionFlags.Calls; if ((symbol.Modifiers & sunSymbolModifiers.Constant) == 0) { flags |= sunExpressionFlags.Dynamic; } return(flags); }
static sunExpressionFlags AnalyzeExpression(sunContext context, sunExpression expression) { var flags = sunExpressionFlags.None; foreach (var operand in expression.OfType <sunOperand>()) { var term = operand.Term as sunTerm; if (term != null) { flags |= term.GetExpressionFlags(context); } } return(flags); }
sunExpressionFlags sunTerm.GetExpressionFlags(sunContext context) { return(AnalyzeExpression(context, this)); }
sunExpressionFlags sunTerm.GetExpressionFlags(sunContext context) { return(sunExpressionFlags.Augments); }
public sunExpressionFlags Analyze(sunContext context) { return(AnalyzeExpression(context, this)); }
sunExpressionFlags sunTerm.GetExpressionFlags(sunContext context) { return(Condition.Analyze(context) | TrueBody.Analyze(context) | FalseBody.Analyze(context)); }
public sunCompiler() { mContext = new sunContext(); mParser = new sunParser(); }
sunExpressionFlags sunTerm.GetExpressionFlags(sunContext context) { return(sunExpressionFlags.Literals); }