Skip to content

Commit

Permalink
Issue #34: Move up Set of suppressing annotations
Browse files Browse the repository at this point in the history
  • Loading branch information
uschindler committed Mar 28, 2015
1 parent afce079 commit 9461a5e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
6 changes: 4 additions & 2 deletions src/main/java/de/thetaphi/forbiddenapis/Checker.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ public abstract class Checker implements RelatedClassLookup {
final Map<String,String> forbiddenMethods = new HashMap<String,String>();
// key is the internal name (slashed):
final Map<String,String> forbiddenClasses = new HashMap<String,String>();

// descriptors (not internal names) of all annotations that suppress:
final Set<String> suppressAnnotations = Collections.singleton(Type.getDescriptor(SuppressForbidden.class));;

protected abstract void logError(String msg);
protected abstract void logWarn(String msg);
protected abstract void logInfo(String msg);
Expand Down Expand Up @@ -380,7 +382,7 @@ public final boolean hasNoSignatures() {
/** Parses a class and checks for valid method invocations */
private int checkClass(final ClassReader reader) {
final String className = Type.getObjectType(reader.getClassName()).getClassName();
final ClassScanner scanner = new ClassScanner(this, forbiddenClasses, forbiddenMethods, forbiddenFields, internalRuntimeForbidden);
final ClassScanner scanner = new ClassScanner(this, forbiddenClasses, forbiddenMethods, forbiddenFields, suppressAnnotations, internalRuntimeForbidden);
reader.accept(scanner, ClassReader.SKIP_FRAMES);
final List<ForbiddenViolation> violations = scanner.getSortedViolations();
final Pattern splitter = Pattern.compile(Pattern.quote("\n"));
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/de/thetaphi/forbiddenapis/ClassScanner.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ final class ClassScanner extends ClassVisitor {
final Map<String,String> forbiddenMethods;
// key is the internal name (slashed):
final Map<String,String> forbiddenClasses;
// descriptors (not internal names) of all annotation that suppress:
// descriptors (not internal names) of all annotations that suppress:
final Set<String> suppressAnnotations;

private String source = null;
Expand All @@ -74,13 +74,14 @@ final class ClassScanner extends ClassVisitor {

public ClassScanner(RelatedClassLookup lookup,
final Map<String,String> forbiddenClasses, Map<String,String> forbiddenMethods, Map<String,String> forbiddenFields,
final Set<String> suppressAnnotations,
boolean internalRuntimeForbidden) {
super(Opcodes.ASM5);
this.lookup = lookup;
this.forbiddenClasses = forbiddenClasses;
this.forbiddenMethods = forbiddenMethods;
this.forbiddenFields = forbiddenFields;
this.suppressAnnotations = Collections.singleton(Type.getDescriptor(SuppressForbidden.class));
this.suppressAnnotations = suppressAnnotations;
this.internalRuntimeForbidden = internalRuntimeForbidden;
}

Expand Down

0 comments on commit 9461a5e

Please sign in to comment.