Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManoj Palat2020-05-05 12:56:50 +0000
committerManoj Palat2020-05-05 12:56:50 +0000
commitf3da8e568a49f24deb97b9ffca636152eaad1255 (patch)
treed97b6182d25478e759592d8ca793626b55891a20 /org.eclipse.jdt.compiler.apt/src
parent18c2e0b07c1a4401acd684bdf060611d46df69b9 (diff)
downloadeclipse.jdt.core-f3da8e568a49f24deb97b9ffca636152eaad1255.tar.gz
eclipse.jdt.core-f3da8e568a49f24deb97b9ffca636152eaad1255.tar.xz
eclipse.jdt.core-f3da8e568a49f24deb97b9ffca636152eaad1255.zip
Bug 562439 - [14][compiler][internal] Record components to have separate
compiler.ast.node and bindings - follow up for accessor annot Change-Id: I6abe0fbe76a29fe87ac772fe6ef9ab325be4a1ad
Diffstat (limited to 'org.eclipse.jdt.compiler.apt/src')
-rw-r--r--org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/dispatch/AnnotationDiscoveryVisitor.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/dispatch/AnnotationDiscoveryVisitor.java b/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/dispatch/AnnotationDiscoveryVisitor.java
index 08e41e9faf..dcbd1a799a 100644
--- a/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/dispatch/AnnotationDiscoveryVisitor.java
+++ b/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/dispatch/AnnotationDiscoveryVisitor.java
@@ -27,6 +27,7 @@ import org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration;
import org.eclipse.jdt.internal.compiler.ast.FieldDeclaration;
import org.eclipse.jdt.internal.compiler.ast.MethodDeclaration;
import org.eclipse.jdt.internal.compiler.ast.ModuleDeclaration;
+import org.eclipse.jdt.internal.compiler.ast.RecordComponent;
import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration;
import org.eclipse.jdt.internal.compiler.ast.TypeParameter;
import org.eclipse.jdt.internal.compiler.impl.ReferenceContext;
@@ -40,6 +41,7 @@ import org.eclipse.jdt.internal.compiler.lookup.FieldBinding;
import org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
import org.eclipse.jdt.internal.compiler.lookup.MethodScope;
import org.eclipse.jdt.internal.compiler.lookup.ModuleBinding;
+import org.eclipse.jdt.internal.compiler.lookup.RecordComponentBinding;
import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
import org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding;
import org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding;
@@ -137,6 +139,22 @@ public class AnnotationDiscoveryVisitor extends ASTVisitor {
}
@Override
+ public boolean visit(RecordComponent recordComponent, BlockScope scope) {
+ Annotation[] annotations = recordComponent.annotations;
+ if (annotations != null) {
+ RecordComponentBinding recordComponentBinding = recordComponent.binding;
+ if (recordComponentBinding == null) {
+ return false;
+ }
+ ((SourceTypeBinding) recordComponentBinding.declaringRecord).resolveTypeFor(recordComponentBinding);
+ if (recordComponent.binding == null) {
+ return false;
+ }
+ this.resolveAnnotations(scope, annotations, recordComponentBinding);
+ }
+ return false;
+ }
+ @Override
public boolean visit(TypeParameter typeParameter, ClassScope scope) {
Annotation[] annotations = typeParameter.annotations;
if (annotations != null) {

Back to the top