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; }