protected virtual IASTWalker CreateASTWalker(CSharpSyntaxNode node, SemanticModel semanticModel) { var walker = ProgramASTWalker.Create(node, null, semanticModel); walker.Logger = this.Logger; return(walker); }
private void Initialize() { // Getting the AST node this.tree = ASTExtractor.Extract(this.source); // Loading the semantic model CSharpCompilation compilation = null; if (this.assemblyPath != null) { compilation = this.GetCompilation(this.assemblyPath, this.tree); } IASTTransformer transformer = new ScriptNamespaceBasedASTTransformer(); if (compilation != null) { transformer.Transform(ref this.tree, ref compilation); this.semanticModel = SemanticUtils.RetrieveSemanticModel(compilation, this.tree); } else { transformer.Transform(ref this.tree); } // Creating the walker // If no semantic model was loaded, null will just be passed var node = this.tree.GetRoot(); this.walker = ProgramDefinitionASTWalker.Create(node, null, this.semanticModel); // Translating this.output = this.walker.Walk().Translate(); this.initialized = true; }
public static MockedProgramASTWalker Create(CSharpSyntaxNode node) { return(new MockedProgramASTWalker(ProgramASTWalker.Create(node))); }
protected MockedProgramASTWalker(ProgramASTWalker original) : base(original) { // Reassigning since base class operated on it this.program = MockedProgramTranslationUnit.Create(this.program); }
protected MockedProgramASTWalker(ProgramASTWalker original) : base(original) { // Reassigning since base class operated on it this.program = MockedProgramTranslationUnit.Create(this.program); }