public virtual void DefineArgumentDefaultValueTemplates(TemplateGroup group)
{
if (FormalArguments == null)
{
return;
}
foreach (FormalArgument fa in FormalArguments)
{
if (fa.DefaultValueToken != null)
{
if (fa.DefaultValueToken.Type == GroupParser.ANONYMOUS_TEMPLATE)
{
string argSTname = fa.Name + "_default_value";
TemplateCompiler c2 = new TemplateCompiler(group);
string defArgTemplate = Utility.Strip(fa.DefaultValueToken.Text, 1);
fa.CompiledDefaultValue = c2.Compile(group.FileName, argSTname, null, defArgTemplate, fa.DefaultValueToken);
fa.CompiledDefaultValue.name = argSTname;
fa.CompiledDefaultValue.DefineImplicitlyDefinedTemplates(group);
}
else if (fa.DefaultValueToken.Type == GroupParser.STRING)
{
fa.DefaultValue = Utility.Strip(fa.DefaultValueToken.Text, 1);
}
else
{
// true or false
fa.DefaultValue = fa.DefaultValueToken.Type == GroupParser.TRUE;
}
}
}
}