Skip to content

Commit

Permalink
Added abstract base for ASM visitor wrapper.
Browse files Browse the repository at this point in the history
  • Loading branch information
Rafael Winterhalter committed Jan 4, 2016
1 parent 8ab8dce commit eb39a84
Showing 1 changed file with 5 additions and 62 deletions.
Expand Up @@ -79,57 +79,20 @@ public String toString() {
} }
} }


class FlagSetting implements AsmVisitorWrapper { abstract class AbstractBase implements AsmVisitorWrapper {

private final int writerFlags;

private final int readerFlags;

public FlagSetting(int writerFlags, int readerFlags) {
this.writerFlags = writerFlags;
this.readerFlags = readerFlags;
}


@Override @Override
public int mergeWriter(int flags) { public int mergeWriter(int flags) {
return flags | writerFlags; return flags;
} }


@Override @Override
public int mergeReader(int flags) { public int mergeReader(int flags) {
return flags | readerFlags; return flags;
}

@Override
public ClassVisitor wrap(TypeDescription instrumentedType, ClassVisitor classVisitor) {
return classVisitor;
}

@Override
public boolean equals(Object other) {
if (this == other) return true;
if (other == null || getClass() != other.getClass()) return false;
FlagSetting that = (FlagSetting) other;
return writerFlags == that.writerFlags && readerFlags == that.readerFlags;
}

@Override
public int hashCode() {
int result = writerFlags;
result = 31 * result + readerFlags;
return result;
}

@Override
public String toString() {
return "ClassVisitorWrapper.FlagSetting{" +
"writerFlags=" + writerFlags +
", readerFlags=" + readerFlags +
'}';
} }
} }


class ForDeclaredField implements AsmVisitorWrapper { class ForDeclaredField extends AbstractBase {


private final List<Entry> entries; private final List<Entry> entries;


Expand All @@ -145,16 +108,6 @@ public ForDeclaredField match(ElementMatcher<? super FieldDescription> matcher,
return new ForDeclaredField(CompoundList.of(entries, new Entry(matcher, fieldVisitorWrapper))); return new ForDeclaredField(CompoundList.of(entries, new Entry(matcher, fieldVisitorWrapper)));
} }


@Override
public int mergeWriter(int flags) {
return flags;
}

@Override
public int mergeReader(int flags) {
return flags;
}

@Override @Override
public ClassVisitor wrap(TypeDescription instrumentedType, ClassVisitor classVisitor) { public ClassVisitor wrap(TypeDescription instrumentedType, ClassVisitor classVisitor) {
return new DispatchingVisitor(classVisitor, instrumentedType); return new DispatchingVisitor(classVisitor, instrumentedType);
Expand Down Expand Up @@ -216,7 +169,7 @@ public FieldVisitor visitField(int modifiers, String internalName, String descri
} }
} }


class ForDeclaredMethod implements AsmVisitorWrapper { class ForDeclaredMethod extends AbstractBase {


private final List<Entry> entries; private final List<Entry> entries;


Expand All @@ -232,16 +185,6 @@ public ForDeclaredMethod match(ElementMatcher<? super MethodDescription> matcher
return new ForDeclaredMethod(CompoundList.of(entries, new Entry(matcher, methodVisitorWrapper))); return new ForDeclaredMethod(CompoundList.of(entries, new Entry(matcher, methodVisitorWrapper)));
} }


@Override
public int mergeWriter(int flags) {
return flags;
}

@Override
public int mergeReader(int flags) {
return flags;
}

@Override @Override
public ClassVisitor wrap(TypeDescription instrumentedType, ClassVisitor classVisitor) { public ClassVisitor wrap(TypeDescription instrumentedType, ClassVisitor classVisitor) {
return new DispatchingVisitor(classVisitor, instrumentedType); return new DispatchingVisitor(classVisitor, instrumentedType);
Expand Down

0 comments on commit eb39a84

Please sign in to comment.