public static CreateLibraryFunction ( string functionName, IExpression argument ) : IExpression | ||
functionName | string | |
argument | IExpression | |
Результат | IExpression |
public static IExpression CreateLibraryFunction(string functionName, IExpression argument)
{
Func<IExpression, IExpression> functionCreator;
if (_libraryFunctions.TryGetValue(functionName.ToUpper(), out functionCreator))
{
return functionCreator(argument);
}
throw new InvalidOperationException("Unexpected library function encountered: " + functionName);
}
}
private IExpression VisitLibraryFunction(VBAConditionalCompilationParser.CcExpressionContext context) { var intrinsicFunction = context.intrinsicFunction(); var functionName = ParserRuleContextHelper.GetText(intrinsicFunction.intrinsicFunctionName(), _stream); var argument = Visit(intrinsicFunction.ccExpression()); return(VBALibrary.CreateLibraryFunction(functionName, argument)); }