summaryrefslogtreecommitdiffstats
path: root/jack/src/com/android/jack/ir/ast/JVariable.java
diff options
context:
space:
mode:
Diffstat (limited to 'jack/src/com/android/jack/ir/ast/JVariable.java')
-rw-r--r--jack/src/com/android/jack/ir/ast/JVariable.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/jack/src/com/android/jack/ir/ast/JVariable.java b/jack/src/com/android/jack/ir/ast/JVariable.java
index 06228b36..a6b6e2d0 100644
--- a/jack/src/com/android/jack/ir/ast/JVariable.java
+++ b/jack/src/com/android/jack/ir/ast/JVariable.java
@@ -16,11 +16,14 @@
package com.android.jack.ir.ast;
+import com.android.jack.Jack;
import com.android.jack.ir.StringInterner;
import com.android.jack.ir.ast.JPrimitiveType.JPrimitiveTypeEnum;
import com.android.jack.ir.sourceinfo.SourceInfo;
+import com.android.jack.util.AnnotationUtils;
import com.android.sched.item.Description;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -38,7 +41,8 @@ public abstract class JVariable extends JNode implements HasName, CanBeSetFinal,
private String name;
@Nonnull
private final JType type;
- protected final AnnotationSet annotations = new AnnotationSet();
+ @Nonnull
+ protected final List<JAnnotation> annotations = new ArrayList<JAnnotation>();
protected int modifier;
@@ -98,31 +102,33 @@ public abstract class JVariable extends JNode implements HasName, CanBeSetFinal,
@Override
public void addAnnotation(@Nonnull JAnnotation annotation) {
- annotations.addAnnotation(annotation);
+ annotations.add(annotation);
}
@Override
@Nonnull
public List<JAnnotation> getAnnotations(@Nonnull JAnnotationType annotationType) {
- return annotations.getAnnotation(annotationType);
+ return Jack.getUnmodifiableCollections().getUnmodifiableList(
+ AnnotationUtils.getAnnotation(annotations, annotationType));
}
@Override
@Nonnull
public Collection<JAnnotation> getAnnotations() {
- return annotations.getAnnotations();
+ return Jack.getUnmodifiableCollections().getUnmodifiableCollection(annotations);
}
@Override
@Nonnull
public Collection<JAnnotationType> getAnnotationTypes() {
- return annotations.getAnnotationTypes();
+ return Jack.getUnmodifiableCollections().getUnmodifiableCollection(
+ AnnotationUtils.getAnnotationTypes(annotations));
}
@Override
protected void transform(@Nonnull JNode existingNode, @CheckForNull JNode newNode,
@Nonnull Transformation transformation) throws UnsupportedOperationException {
- if (!annotations.transform(existingNode, newNode, transformation)) {
+ if (!transform(annotations, existingNode, (JAnnotation) newNode, transformation)) {
super.transform(existingNode, newNode, transformation);
}
}