private void visitInitStub(ClassDef classDef, MethodVisitor mv) { mv.visitCode(); mv.visitVarInsn(Opcodes.ALOAD, 0); if (classDef.getSuperclass() != null) { String superName = stripName(classDef.getSuperclass()); mv.visitMethodInsn(Opcodes.INVOKESPECIAL, superName, "<init>", "()V", false); } mv.visitInsn(Opcodes.RETURN); mv.visitMaxs(0, 0); mv.visitEnd(); }
@Nullable @Override public String getSuperclass() { return getClassDef().getSuperclass(); }
private void visitClass(ClassDef classDef, ClassWriter classWriter) { int version = Opcodes.V1_8; int access = classDef.getAccessFlags(); String name = stripName(classDef.getType()); // Signature should be type signature for the class, which is uncommon. String signature = buildASMSignature(classDef); String superName = null; if (classDef.getSuperclass() != null) { superName = stripName(classDef.getSuperclass()); } String[] interfaces = buildInterfaces(classDef); classWriter.visit(version, access, name, signature, superName, interfaces); classWriter.visitSource(classDef.getSourceFile(), null); visitClassAnnotations(classDef.getAnnotations(), classWriter); }
classDef.getType(), classDef.getAccessFlags(), classDef.getSuperclass(), classDef.getInterfaces(), classDef.getSourceFile(),
public Dependencies makeSootClass(SootClass sc, ClassDef defItem, DexFile dexFile) { String superClass = defItem.getSuperclass(); Dependencies deps = new Dependencies();
String superclass = fieldClass.getSuperclass(); if (superclass == null) { throw new ExceptionWithContext("Couldn't find accessible class while resolving field %s",
String superclass = methodClass.getSuperclass(); if (superclass == null) { throw new ExceptionWithContext("Couldn't find accessible class while resolving method %s",
@Nullable @Override public String getSuperclass() { return classDef.getSuperclass(); }
@Nullable @Override public String getSuperclass() { return classDef.getSuperclass(); }
@Nullable @Override public String getSuperclass() { return classDef.getSuperclass(); }
@Nullable @Override public String getSuperclass() { return getClassDef().getSuperclass(); }
@Nullable @Override public String getSuperclass() { return getClassDef().getSuperclass(); }
@Override @Nullable public String getSuperclass() { return RewriterUtils.rewriteNullable(rewriters.getTypeRewriter(), classDef.getSuperclass()); }
@Override @Nullable public String getSuperclass() { return RewriterUtils.rewriteNullable(rewriters.getTypeRewriter(), classDef.getSuperclass()); }
@Override @Nullable public String getSuperclass() { return RewriterUtils.rewriteNullable(rewriters.getTypeRewriter(), classDef.getSuperclass()); }
private void writeSuper(IndentingWriter writer) throws IOException { String superClass = classDef.getSuperclass(); if (superClass != null) { writer.write(".super "); writer.write(superClass); writer.write('\n'); } }
private void writeSuper(IndentingWriter writer) throws IOException { String superClass = classDef.getSuperclass(); if (superClass != null) { writer.write(".super "); writer.write(superClass); writer.write('\n'); } }
private void writeSuper(IndentingWriter writer) throws IOException { String superClass = classDef.getSuperclass(); if (superClass != null) { writer.write(".super "); writer.write(superClass); writer.write('\n'); } }
private static ClassDef reDexClass(@Nonnull ClassDef classDef) { return new ImmutableClassDef(classDef.getType(), classDef.getAccessFlags(), classDef.getSuperclass(), classDef.getInterfaces(), classDef.getSourceFile(), classDef.getAnnotations(), classDef.getFields(), reDexMethods(classDef)); }
public static ImmutableClassDef of(ClassDef classDef) { if (classDef instanceof ImmutableClassDef) { return (ImmutableClassDef)classDef; } return new ImmutableClassDef( classDef.getType(), classDef.getAccessFlags(), classDef.getSuperclass(), classDef.getInterfaces(), classDef.getSourceFile(), classDef.getAnnotations(), classDef.getStaticFields(), classDef.getInstanceFields(), classDef.getDirectMethods(), classDef.getVirtualMethods()); }