示例#1
0
        internal object?EvaluateDynamic <TScope, TRootScope>(ASTNode astNode, DynamicTransformer <TScope, TRootScope> transformer)
            where TScope : DynamicScope
            where TRootScope : TScope
        {
            var result = astNode.Transform(transformer);

            while (result is IEvaluatable evaluatable)
            {
                result = evaluatable.Transform(transformer);
            }
            return(result);
        }
 public object?Transform <TScope, TRootScope>(DynamicTransformer <TScope, TRootScope> transformer)
     where TScope : DynamicScope
     where TRootScope : TScope
 {
     return(transformer.Transform(this));
 }
 internal DynamicOperatorTransformer(ScopeStack <TScope, TRootScope> scopeStack, ILanguageDefinition languageDefinition, DynamicTransformer <TScope, TRootScope> nodeTransformer)
 {
     LanguageDefinition = languageDefinition;
     NodeTransformer    = nodeTransformer;
     ScopeStack         = scopeStack;
 }