public static void acceptMethod(SmaliParser.SMethodContext ctx, String className, DexClassVisitor dexClassVisitor) {
Method method;
Token methodObj = ctx.methodObj;
if (methodObj.getType() == SmaliLexer.METHOD_FULL) {
method = Utils.parseMethodAndUnescape(methodObj.getText());
} else {
method = Utils.parseMethodAndUnescape(className, methodObj.getText());
}
int access = collectAccess(ctx.sAccList());
boolean isStatic = 0 != (access & DexConstants.ACC_STATIC);
DexMethodVisitor dexMethodVisitor = dexClassVisitor.visitMethod(access, method);
if (dexMethodVisitor != null) {
acceptAnnotations(ctx.sAnnotation(), dexMethodVisitor);
int ins = Utils.methodIns(method, isStatic);
int totalRegisters = findTotalRegisters(ctx, ins);
if (totalRegisters < 0) {
totalRegisters = ins;
}
M m = new M(method, totalRegisters, ins, isStatic);
acceptParameter(ctx.sParameter(), m, dexMethodVisitor);
acceptCode(ctx, m, dexMethodVisitor);
dexMethodVisitor.visitEnd();
}
}