Example #1
0
 public ScriptEvaluatorLambda(
     string scriptName,
     string[] parameterNames,
     ExprEvaluator[] parameters,
     Coercer coercer,
     ExpressionScriptCompiled compiled) : base(scriptName, parameterNames, parameters, coercer)
 {
     _scriptAction = compiled.ScriptAction;
 }
Example #2
0
 private ExpressionScriptCompiled CompileScript(
     string dialect,
     string scriptName,
     string scriptExpression,
     string[] scriptParameterNames,
     Type[] parameterTypes,
     ExpressionScriptCompiled scriptCompiledBuf,
     ImportServiceCompileTime importService,
     ScriptCompiler scriptingCompiler)
 {
     return new ExpressionScriptCompiledImpl(
         scriptingCompiler.Compile(
             Script.OptionalDialect ?? _defaultDialect,
             Script));
 }
Example #3
0
        private static void ValidateScript(
            ExpressionScriptProvided script,
            string defaultDialect,
            ScriptCompiler scriptCompiler)
        {
            var dialect = script.OptionalDialect ?? defaultDialect;

            if (dialect == null)
            {
                throw new ExprValidationException(
                          "Failed to determine script dialect for script '" +
                          script.Name +
                          "', please configure a default dialect or provide a dialect explicitly");
            }

            scriptCompiler.VerifyScript(dialect, script);

#if false
            ExpressionScriptCompiled compiledBuf = JSR223Helper
                                                   .VerifyCompileScript(script.Name, script.Expression, dialect);

            script.CompiledBuf = compiledBuf;
#endif

            if (script.ParameterNames.Length != 0)
            {
                var parameters = new HashSet <String>();
                foreach (var param in script.ParameterNames)
                {
                    if (parameters.Contains(param))
                    {
                        throw new ExprValidationException(
                                  "Invalid script parameters for script '" + script.Name + "', parameter '" + param + "' is defined more then once");
                    }

                    parameters.Add(param);
                }
            }
        }
Example #4
0
        public static ExpressionScriptCompiled CompileScript(
            string dialect,
            string scriptName,
            string expression,
            string[] parameterNames,
            Type[] evaluationTypes,
            ExpressionScriptCompiled optionalPrecompiled,
            ImportService importService,
            ScriptCompiler scriptingCompiler)
        {
#if NOT_USED
            ExpressionScriptCompiled compiled;
#endif
            if (optionalPrecompiled != null) {
                return optionalPrecompiled;
            }

            dialect ??= DEFAULT_DIALECT;
            return new ExpressionScriptCompiledImpl(
                scriptingCompiler.Compile(
                    dialect ?? DEFAULT_DIALECT,
                    new ExpressionScriptProvided(scriptName, expression, parameterNames, null, false, null, dialect)));
        }
Example #5
0
 public ExpressionScriptProvided WithCompiledBuf(ExpressionScriptCompiled compiledBuf)
 {
     CompiledBuf = compiledBuf;
     return this;
 }