public static RootSingleNamespaceDeclaration ForTree( SyntaxTree syntaxTree, string scriptClassName, bool isSubmission) { var builder = new DeclarationTreeBuilder(syntaxTree, scriptClassName, isSubmission); return((RootSingleNamespaceDeclaration)builder.Visit(syntaxTree.GetRoot())); }
private static void AddSyntaxTreeToDeclarationMapAndTable( SyntaxTree tree, string scriptClassName, bool isSubmission, IDictionary <SyntaxTree, Lazy <RootSingleNamespaceDeclaration> > declMapBuilder, ref DeclarationTable declTable) { var lazyRoot = new Lazy <RootSingleNamespaceDeclaration>(() => DeclarationTreeBuilder.ForTree(tree, scriptClassName, isSubmission)); declMapBuilder.Add(tree, lazyRoot); // Callers are responsible for checking for existing entries. declTable = declTable.AddRootDeclaration(lazyRoot); }