public object EnsureDefaultResolvedVariable(MmlSemanticVariable variable) { object val; if (!Values.TryGetValue (variable, out val)) { variable.DefaultValue.Resolve (this, variable.Type); val = variable.DefaultValue.ResolvedValue; Values [variable] = val; } return val; }
MmlSemanticVariable BuildVariableDeclaration(MmlVariableDefinition src) { var ret = new MmlSemanticVariable (src.Name, src.Type); if (src.DefaultValueTokens.Count == 0) return ret; var stream = new TokenStream (src.DefaultValueTokens, src.Location); ret.DefaultValue = new Parser.MmlParser (stream.Source).ParseExpression (); return ret; }