Fixes to enable SQL parser - it depends on CheckResult. (#334)

This commit is contained in:
Mike Stall 2022-04-20 17:46:13 -07:00 коммит произвёл GitHub
Родитель 85fbcf4bf9
Коммит 4af647f3e3
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 11 добавлений и 5 удалений

Просмотреть файл

@ -19,12 +19,13 @@ namespace Microsoft.PowerFx.Core.Public
/// </summary>
public bool AllowsSideEffects { get; set; }
internal ILanguageSettings LanguageSettings { get; set; }
internal ParseResult Parse(string script)
{
var flags = AllowsSideEffects ? TexlParser.Flags.EnableExpressionChaining : TexlParser.Flags.None;
ILanguageSettings loc = null;
return TexlParser.ParseScript(script, loc, flags);
return TexlParser.ParseScript(script, LanguageSettings, flags);
}
}
}

Просмотреть файл

@ -34,12 +34,15 @@ namespace Microsoft.PowerFx.Core.Public
/// List of errors and warnings. Check <see cref="ExpressionError.IsWarning"/>.
/// Not null, but empty on success.
/// </summary>
public IEnumerable<ExpressionError> Errors => Parse != null ?
Parse.Errors.Concat(BindingErrors) :
BindingErrors;
public IEnumerable<ExpressionError> Errors { get; set; }
private IEnumerable<ExpressionError> BindingErrors => ExpressionError.New(_binding.ErrorContainer.GetErrors());
internal void SetErrors(IEnumerable<IDocumentError> errors)
{
Errors = ExpressionError.New(errors);
}
/// <summary>
/// Parsed expression for evaluation.
/// Null on failure or if there is no evaluation.
@ -70,6 +73,8 @@ namespace Microsoft.PowerFx.Core.Public
Parse = parse ?? throw new ArgumentNullException(nameof(parse));
_binding = binding;
Errors = Parse.Errors.Concat(BindingErrors);
}
public void ThrowOnErrors()