@@ -32,7 +32,7 @@ class ScipVisitor extends GeneralizingAstVisitor {
3232 _projectRoot,
3333 pubspec,
3434 ) {
35- final fileSymbol = _symbolGenerator.fileSymbolFor (_relativePath);
35+ final fileSymbol = _symbolGenerator.fileSymbolForPath (_relativePath);
3636 occurrences.add (Occurrence (
3737 symbol: fileSymbol,
3838 range: [0 , 0 , 0 ],
@@ -60,6 +60,8 @@ class ScipVisitor extends GeneralizingAstVisitor {
6060 _visitNormalFormalParameter (node);
6161 } else if (node is SimpleIdentifier ) {
6262 _visitSimpleIdentifier (node);
63+ } else if (node is Directive ) {
64+ _visitDirective (node);
6365 }
6466
6567 super .visitNode (node);
@@ -107,6 +109,39 @@ class ScipVisitor extends GeneralizingAstVisitor {
107109 }
108110 }
109111
112+ void _visitDirective (Directive node) {
113+ final element = node.element;
114+
115+ StringLiteral uriLiteral;
116+ if (node is UriBasedDirective ) {
117+ uriLiteral = node.uri;
118+ } else if (node is PartOfDirective && node.uri != null ) {
119+ uriLiteral = node.uri! ;
120+ } else {
121+ return ;
122+ }
123+
124+ // uri is a non-relative, package (or dart sdk) uri:
125+ // Eg: `package:<name>/<path>.dart`, `dart:<name>`
126+
127+ // Uri uri;
128+ // if (element is LibraryImportElement) {
129+ // uri = (element.uri as DirectiveUriWithSource).source.uri;
130+ // } else if (element is LibraryExportElement) {
131+ // uri = (element.uri as DirectiveUriWithSource).source.uri;
132+ // } else if (element is PartElement) {
133+ // uri = (element.uri as DirectiveUriWithSource).source.uri;
134+ // } else if (node is PartOfDirective && element is LibraryElement) {
135+ // uri = element.source.uri;
136+ // } else {
137+ // return;
138+ // }
139+
140+ _symbolGenerator.symbolFor (element! );
141+
142+ // _symbolGenerator.fileSymbolForUri(uri);
143+ }
144+
110145 /// Registers the provided [element] as a reference to an existing definition
111146 ///
112147 /// [node] refers to the ast node where the reference exists, [element]
0 commit comments