public static Dictionary <string, RuntimeValue> ExtractVariables(string script, IOperationExecutionContext context) { var vars = ExtractVariablesInternal(script); var results = new Dictionary <string, RuntimeValue>(StringComparer.OrdinalIgnoreCase); foreach (var var in vars) { if (RuntimeVariableName.IsLegalVariableName(var)) { var varName = new RuntimeVariableName(var, RuntimeValueType.Scalar); var varValue = context.TryGetVariableValue(varName) ?? TryGetFunctionValue(varName, context); if (varValue.HasValue) { results[var] = varValue.Value; } } } return(results); }