diff options
Diffstat (limited to 'org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/FieldLocator.java')
-rw-r--r-- | org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/FieldLocator.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/FieldLocator.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/FieldLocator.java index 32338cd107..5ef2789129 100644 --- a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/FieldLocator.java +++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/FieldLocator.java @@ -332,6 +332,12 @@ public int resolveLevel(ASTNode possiblelMatchingNode) { @Override public int resolveLevel(Binding binding) { if (binding == null) return INACCURATE_MATCH; + if( binding instanceof LocalVariableBinding) { + // for matching the component in constructor of a record + if ( ((LocalVariableBinding)binding).declaringScope.referenceContext() instanceof CompactConstructorDeclaration) { + return matchLocal((LocalVariableBinding) binding, true); + } + } if (!(binding instanceof FieldBinding)) return IMPOSSIBLE_MATCH; return matchField((FieldBinding) binding, true); |