public MSBuildNavigationResult(MSBuildReferenceKind kind, string name, int offset, int length)
 {
     Kind   = kind;
     Name   = name;
     Offset = offset;
     Length = length;
 }
Example #2
0
 public MSBuildNavigationResult(
     MSBuildReferenceKind kind, string name, int offset, int length,
     string destFile = null, DocumentLocation destLocation = default)
 {
     Kind     = kind;
     Name     = name;
     Offset   = offset;
     Length   = length;
     DestFile = destFile;
 }
        public bool CanNavigate(ITextBuffer buffer, SnapshotPoint point, out MSBuildReferenceKind referenceKind)
        {
            Resolver.GetResolvedReference(buffer, point, out var doc, out var rr);

            if (MSBuildNavigation.CanNavigate(doc, point, rr))
            {
                referenceKind = rr.ReferenceKind;
                return(true);
            }

            referenceKind = MSBuildReferenceKind.None;
            return(false);
        }
Example #4
0
        List <(int Offset, int Length, ReferenceUsage Usage)> FindReferences(string docString, MSBuildReferenceKind kind, object reference)
        {
            var textDoc = new StringTextSource(docString);

            var xmlParser = new XmlTreeParser(new XmlRootState());

            var(xdoc, _) = xmlParser.Parse(new StringReader(docString));

            var doc          = MSBuildTestHelpers.CreateEmptyDocument();
            var parseContext = new MSBuildParserContext(new NullRuntimeInformation(), null, null, null, null, new PropertyValueCollector(false), null, null, default);
            var sb           = new MSBuildSchemaBuilder(true, parseContext, null);

            sb.Run(xdoc, textDoc, doc);

            var functionTypeProvider = new RoslynFunctionTypeProvider(null);

            var results   = new List <(int Offset, int Length, ReferenceUsage Usage)> ();
            var collector = MSBuildReferenceCollector.Create(new MSBuildResolveResult {
                ReferenceKind = kind,
                Reference     = reference,
            }, functionTypeProvider, results.Add);

            collector.Run(xdoc, textDoc, doc);
            return(results);
        }
Example #5
0
        List <(int Offset, int Length, ReferenceUsage Usage)> FindReferences(string docString, MSBuildReferenceKind kind, object reference)
        {
            string filename = "test.csproj";

            var textDoc = TextEditorFactory.CreateNewDocument(new StringTextSource(docString), filename, MSBuildTextEditorExtension.MSBuildMimeType);

            var xmlParser = new XmlParser(new XmlRootState(), true);

            xmlParser.Parse(new StringReader(docString));
            var xdoc = xmlParser.Nodes.GetRoot();


            var doc = MSBuildTestHelpers.CreateEmptyDocument();
            var sb  = new MSBuildSchemaBuilder(true, null, new PropertyValueCollector(false), null, null);

            sb.Run(xdoc, filename, textDoc, doc);

            var collector = MSBuildReferenceCollector.Create(new MSBuildResolveResult {
                ReferenceKind = kind,
                Reference     = reference,
            });

            collector.Run(xdoc, filename, textDoc, doc);
            return(collector.Results);
        }