@@ -55,11 +55,12 @@ public boolean sourcesRequired() {
55
55
return false ;
56
56
}
57
57
58
- private static VirtualFile asVirtualFileOrNull (SourceFile sourceFile ) {
58
+ private static VirtualFile asVirtualFile (SourceFile sourceFile , DelegatingReporter reporter ,
59
+ Map <String , VirtualFile > placeholders ) {
59
60
if (sourceFile .file () instanceof AbstractZincFile ) {
60
61
return ((AbstractZincFile ) sourceFile .file ()).underlying ();
61
62
} else {
62
- return null ;
63
+ return fallbackVirtualFile ( reporter , sourceFile , placeholders ) ;
63
64
}
64
65
}
65
66
@@ -78,7 +79,10 @@ private static VirtualFile fallbackVirtualFile(DelegatingReporter reporter,
78
79
Map <String , VirtualFile > placeholders ) {
79
80
return placeholders .computeIfAbsent (sourceFile .path (), path -> {
80
81
reportMissingFile (reporter , sourceFile );
81
- return new PlaceholderVirtualFile (sourceFile );
82
+ if (sourceFile .jfile ().isPresent ())
83
+ return new BasicPathBasedFile (sourceFile );
84
+ else
85
+ return new PlaceholderVirtualFile (sourceFile );
82
86
});
83
87
}
84
88
@@ -97,26 +101,14 @@ synchronized public void run(VirtualFile[] sources, AnalysisCallback callback, L
97
101
sourcesSet .put (abstractFile );
98
102
}
99
103
100
- DelegatingReporter reporter = new DelegatingReporter (delegate , sourceFile -> {
101
- VirtualFile vf = asVirtualFileOrNull (sourceFile );
102
- if (vf != null ) {
103
- return vf .id ();
104
- } else {
105
- return sourceFile .path (); // same as in Zinc for 2.13
106
- }
107
- });
108
-
109
104
HashMap <String , VirtualFile > placeholders = new HashMap <>();
110
105
106
+ DelegatingReporter reporter = new DelegatingReporter (delegate , (self , sourceFile ) ->
107
+ asVirtualFile (sourceFile , self , placeholders ).id ());
108
+
111
109
IncrementalCallback incCallback = new IncrementalCallback (callback , sourceFile -> {
112
110
if (sourceFile instanceof SourceFile ) {
113
- SourceFile sf = (SourceFile ) sourceFile ;
114
- VirtualFile vf = asVirtualFileOrNull (sf );
115
- if (vf != null ) {
116
- return vf ;
117
- } else {
118
- return fallbackVirtualFile (reporter , sourceFile , placeholders );
119
- }
111
+ return asVirtualFile (((SourceFile ) sourceFile ), reporter , placeholders );
120
112
} else {
121
113
return fallbackVirtualFile (reporter , sourceFile , placeholders );
122
114
}
0 commit comments