String superName, String[] interfaces){
addSignatureClass(signature);
- if(getEnvironment().getWellknownClassManager().isWellKnownClass(superName)){
- add(superName);
- }
+ addUCElement(superName);
for(String i: interfaces){
- if(getEnvironment().getWellknownClassManager().isWellKnownClass(i)){
- add(i);
- }
+ addUCElement(i);
}
}
String signature, String[] exceptions){
if(exceptions != null){
for(String exception: exceptions){
- if(getEnvironment().getWellknownClassManager().isWellKnownClass(exception)){
- add(exception);
- }
+ addUCElement(exception);
}
}
addMethodDescriptor(desc);
public void visitTypeInsn(int opcode, String desc){
Type type = Type.getType("L" + desc + ";");
if(checkType(type)){
- add(desc);
+ addUCElement(desc);
}
super.visitTypeInsn(opcode, desc);
}
public void visitTryCatchBlock(Label start, Label end, Label handle, String desc){
Type type = Type.getType("L" + desc + ";");
if(checkType(type)){
- add(getType(type));
+ addUCElement(getType(type));
}
super.visitTryCatchBlock(start, end, handle, desc);
}
public void visitMultiANewArrayInsn(String desc, int dims){
Type type = Type.getType(desc);
if(checkType(type)){
- add(getType(type));
+ addUCElement(getType(type));
}
super.visitMultiANewArrayInsn(desc, dims);
}
public void visitLocalVariable(String name, String desc, String signature,
Label start, Label end, int index){
if(checkType(Type.getType(desc))){
- add(desc);
+ addUCElement(desc);
}
addSignatureClass(signature);
@Override
public void visitFieldInsn(int opcode, String owner, String name, String desc){
- if(getEnvironment().getWellknownClassManager().isWellKnownClass(owner)){
- add(owner);
- }
+ addUCElement(owner);
addDescriptor(desc);
super.visitFieldInsn(opcode, owner, name, desc);
}
@Override
public void visitMethodInsn(int opcode, String owner, String name, String desc){
String className = normalize(owner);
- if(getEnvironment().getWellknownClassManager().isWellKnownClass(className)){
- add(className);
- }
+ addUCElement(className);
addMethodDescriptor(desc);
super.visitMethodInsn(opcode, owner, name, desc);
}
SignatureWriter writer = new SignatureWriter(){
@Override
public void visitClassType(String classType){
- if(getEnvironment().getWellknownClassManager().isWellKnownClass(classType)){
- add(classType);
- }
+ addUCElement(classType);
}
};
in.accept(writer);
Type returnType = Type.getReturnType(desc);
Type[] args = Type.getArgumentTypes(desc);
if(checkType(returnType)){
- add(getType(returnType));
+ addUCElement(getType(returnType));
}
for(Type arg: args){
if(checkType(arg)){
- add(getType(arg));
+ addUCElement(getType(arg));
}
}
}
private void addDescriptor(String desc){
Type type = Type.getType(desc);
if(checkType(type)){
- add(desc);
+ addUCElement(desc);
}
}
return name;
}
- private void add(String name){
- addElement(new BirthmarkElement(normalize(name)));
+ private void addUCElement(String name){
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(name)){
+ addElement(new BirthmarkElement(normalize(name)));
+ }
}
}