Example #1
0
        void ResolveButtonClick(object sender, EventArgs e)
        {
            IProjectContent project    = new CSharpProjectContent();
            var             parsedFile = compilationUnit.ToTypeSystem();

            project = project.UpdateProjectContent(null, parsedFile);
            project = project.AddAssemblyReferences(builtInLibs.Value);

            ICompilation compilation = project.CreateCompilation();

            StoreInDictionaryNavigator navigator;

            if (csharpTreeView.SelectedNode != null)
            {
                navigator = new StoreInDictionaryNavigator((AstNode)csharpTreeView.SelectedNode.Tag);
            }
            else
            {
                navigator = new StoreInDictionaryNavigator();
            }
            CSharpAstResolver resolver = new CSharpAstResolver(compilation, compilationUnit, parsedFile);

            resolver.ApplyNavigator(navigator);
            csharpTreeView.BeginUpdate();
            ShowResolveResultsInTree(csharpTreeView.Nodes, navigator);
            csharpTreeView.EndUpdate();
        }
Example #2
0
 void ShowResolveResultsInTree(TreeNodeCollection c, StoreInDictionaryNavigator n)
 {
     foreach (TreeNode t in c)
     {
         AstNode node = t.Tag as AstNode;
         if (node != null)
         {
             ResolveResult rr;
             string        text = GetNodeTitle(node);
             if (n.resolveResults.TryGetValue(node, out rr))
             {
                 text += " " + rr.ToString();
             }
             if (n.conversions.ContainsKey(node))
             {
                 text += " [" + n.conversions[node] + " to " + n.conversionTargetTypes[node] + "]";
             }
             t.Text = text;
         }
         ShowResolveResultsInTree(t.Nodes, n);
     }
 }
Example #3
0
		void ShowResolveResultsInTree(TreeNodeCollection c, StoreInDictionaryNavigator n)
		{
			foreach (TreeNode t in c) {
				AstNode node = t.Tag as AstNode;
				if (node != null) {
					ResolveResult rr;
					string text = GetNodeTitle(node);
					if (n.resolveResults.TryGetValue(node, out rr))
						text += " " + rr.ToString();
					if (n.conversions.ContainsKey(node)) {
						text += " [" + n.conversions[node] + " to " + n.conversionTargetTypes[node] + "]";
					}
					t.Text = text;
				}
				ShowResolveResultsInTree(t.Nodes, n);
			}
		}
Example #4
0
		void ResolveButtonClick(object sender, EventArgs e)
		{
			IProjectContent project = new CSharpProjectContent();
			var parsedFile = compilationUnit.ToTypeSystem();
			project = project.UpdateProjectContent(null, parsedFile);
			project = project.AddAssemblyReferences(builtInLibs.Value);
			
			ICompilation compilation = project.CreateCompilation();
			
			StoreInDictionaryNavigator navigator;
			if (csharpTreeView.SelectedNode != null) {
				navigator = new StoreInDictionaryNavigator((AstNode)csharpTreeView.SelectedNode.Tag);
			} else {
				navigator = new StoreInDictionaryNavigator();
			}
			CSharpAstResolver resolver = new CSharpAstResolver(compilation, compilationUnit, parsedFile);
			resolver.ApplyNavigator(navigator);
			csharpTreeView.BeginUpdate();
			ShowResolveResultsInTree(csharpTreeView.Nodes, navigator);
			csharpTreeView.EndUpdate();
		}