diff options
author | Manoj Palat | 2020-05-05 12:56:50 +0000 |
---|---|---|
committer | Manoj Palat | 2020-05-05 12:56:50 +0000 |
commit | f3da8e568a49f24deb97b9ffca636152eaad1255 (patch) | |
tree | d97b6182d25478e759592d8ca793626b55891a20 /org.eclipse.jdt.compiler.apt/src | |
parent | 18c2e0b07c1a4401acd684bdf060611d46df69b9 (diff) | |
download | eclipse.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.java | 18 |
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) { |