blob: d06b289797dd9b04b8cd3946d2bc2937ad6c38ae [file] [log] [blame]
// Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.utils.codeinspector;
import com.android.tools.r8.errors.Unreachable;
import com.android.tools.r8.graph.DexAnnotation;
import com.android.tools.r8.graph.DexAnnotationSet;
import com.android.tools.r8.graph.DexEncodedAnnotation;
import com.android.tools.r8.utils.ListUtils;
import java.util.List;
public class FoundAnnotationSubject extends AnnotationSubject {
private final DexAnnotation annotation;
FoundAnnotationSubject(DexAnnotation annotation) {
this.annotation = annotation;
}
public static List<AnnotationSubject> listFromDex(DexAnnotationSet annotations) {
return ListUtils.map(annotations.annotations, FoundAnnotationSubject::new);
}
@Override
public boolean isPresent() {
return true;
}
@Override
public boolean isRenamed() {
return false;
}
@Override
public boolean isSynthetic() {
throw new Unreachable("Cannot determine if an annotation is synthetic");
}
@Override
public DexEncodedAnnotation getAnnotation() {
return annotation.annotation;
}
}