// Resolve for AutoResolve.Default templates. // These only have access to the {sys} builtin variable and don't get access to trigger binding data. internal static BindingDataResolver GetBuiltinTemplateResolver(string originalValue, INameResolver nameResolver, Validator validator) { string resolvedValue = nameResolver.ResolveWholeString(originalValue); var template = BindingTemplate.FromString(resolvedValue); if (!template.HasParameters) { // No { } tokens, bind eagerly up front. validator(originalValue); } SystemBindingData.ValidateStaticContract(template); // For static default contracts, we only have access to the built in binding data. return((newAttr, bindingData) => { var newValue = template.Bind(SystemBindingData.GetSystemBindingData(bindingData)); validator(newValue); return newValue; }); }