@Override public String getName() { return method.getName(); }
@Override public boolean hasImplementation() { return null != method.getImplementation(); }
@Override public String getName() { return field.getName(); }
/** * @param smaliPath Path to Smali file or folder */ public ClassManager build(String smaliPath) throws IOException { return build(smaliPath, new DexBuilder(Opcodes.getDefault())); }
public VirtualType getVirtualType(String typeSignature) { TypeReference typeReference = getFrameworkDexBuilder().internTypeReference(typeSignature); return getVirtualType(typeReference); }
private Reference convertReference(@Nonnull Reference reference) { if (reference != null && this.dexBuilder != null) { return this.dexBuilder.internReference(reference); } else { return reference; } }
@Nullable @Override public String getSuperclass() { return superclass==null?null:superclass.getType(); } @Nullable @Override public String getSourceFile() { return sourceFile==null?null:sourceFile.getString(); }
@Override public final int getParameterSize() { int parameterSize = method.getParameters().size(); if (!isStatic()) { parameterSize += 1; } return parameterSize; }
@Nullable @Override public String getSourceFile() { return sourceFile==null?null:sourceFile.getString(); } @Nonnull @Override public BuilderAnnotationSet getAnnotations() { return annotations; }
private void visitEnclosingMethod(BuilderEncodedValues.BuilderMethodEncodedValue value, ClassWriter classWriter) { BuilderMethodReference methodRef = value.getValue(); String owner = stripName(methodRef.getDefiningClass()); String name = methodRef.getName(); String descriptor = ReferenceUtil.getMethodDescriptor(methodRef).split("->")[1]; String desc = descriptor.substring(descriptor.indexOf('(')); classWriter.visitOuterClass(owner, name, desc); }
public boolean isStatic() { return Modifier.isStatic(field.getAccessFlags()); }
@Override public boolean isFinal() { return Modifier.isFinal(method.getAccessFlags()); }
@Override public final String getReturnType() { return method.getReturnType(); }
public String getType() { return field.getType(); }
/** * @param smaliPath Path to Smali file or folder */ public ClassManager build(File smaliPath, int outputAPILevel) throws IOException { return build(smaliPath, new DexBuilder(Opcodes.forApi(outputAPILevel))); }
@Override public MutableMethodImplementation getImplementation() { return (MutableMethodImplementation) getMethodDefinition().getImplementation(); }
@Nonnull @Override public String getType() { return type.getType(); } @Override public int getAccessFlags() { return accessFlags; }
@Override public boolean isStatic() { return Modifier.isStatic(method.getAccessFlags()); }
public static DexBuilder getDexBuilder() { return new DexBuilder(Opcodes.forApi(SmaliParser.DEFAULT_API_LEVEL)); }