Skip to content

Commit 42725ce

Browse files
committed
Bugfix: prevent operator overload metas from showing unresolved symbol
1 parent fb2224d commit 42725ce

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/main/java/com/intellij/plugins/haxe/ide/inspections/HaxeUnresolvedSymbolInspection.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor;
2424
import com.intellij.plugins.haxe.ide.inspections.intentions.HaxeIntroduceFieldIntention;
2525
import com.intellij.plugins.haxe.lang.psi.*;
26+
import com.intellij.plugins.haxe.metadata.psi.HaxeMetadataCompileTimeMeta;
2627
import com.intellij.plugins.haxe.model.HaxeClassModel;
2728
import com.intellij.plugins.haxe.model.type.ResultHolder;
2829
import com.intellij.plugins.haxe.model.type.SpecificFunctionReference;
@@ -120,7 +121,9 @@ protected void handleUnresolvedReference(HaxeReferenceExpression reference) {
120121
));
121122
}
122123
}
123-
124+
if(isInsideMetadataToIgnore(nameIdentifier)) {
125+
return;
126+
}
124127
result.add(manager.createProblemDescriptor(
125128
nameIdentifier,
126129
nameIdentifier,
@@ -134,6 +137,15 @@ protected void handleUnresolvedReference(HaxeReferenceExpression reference) {
134137
return ArrayUtil.toObjectArray(result, ProblemDescriptor.class);
135138
}
136139

140+
private boolean isInsideMetadataToIgnore(PsiElement nameIdentifier) {
141+
HaxeMetadataCompileTimeMeta meta = PsiTreeUtil.getParentOfType(nameIdentifier, HaxeMetadataCompileTimeMeta.class);
142+
if(meta != null) {
143+
// might want to add more meta types here when we see more cases where the parameter list contains unresolvable values.
144+
if(meta.isType(HaxeMetadataCompileTimeMeta.OP)) return true;
145+
}
146+
return false;
147+
}
148+
137149
private LocalQuickFix[] createQuickfixesIfAvailable(HaxeReferenceExpression reference) {
138150
List<LocalQuickFix> list = new ArrayList<>();
139151
boolean isTypeReference = PsiTreeUtil.getParentOfType(reference, HaxeType.class) != null;

0 commit comments

Comments
 (0)