Well, I seem to be talking to myself here, but here's my fix in case anyone else runs into this problem in the future. It's still a hack, but it compiles a lot better than 1500 inner classes.
I updated the DeobfuscatorBuilder.java in requestfactory-apt-2.4.0.jar with the following changes below (in red):
...
class DeobfuscatorBuilder extends ScannerBase<Void> {
private TypeElement requestFactoryElement;
private final StringBuilder sb = new StringBuilder();
private static Integer index = 0;
...
OperationKey key =
new OperationKey(requestContextBinaryName, methodName, clientMethodDescriptor);
println("private void genMethod_"+index+"(){withOperation(new OperationKey(\"%s\"),", key.get());
println(" new OperationData.Builder()");
println(" .withClientMethodDescriptor(\"%s\")", clientMethodDescriptor);
println(" .withDomainMethodDescriptor(\"%s\")", domainMethodDescriptor);
println(" .withMethodName(\"%s\")", methodName);
println(" .withRequestContext(\"%s\")", requestContextBinaryName);
println(" .build());}");
index++;
return super.visitExecutable(x, state);
}
...
println("// Automatically Generated -- DO NOT EDIT");
println("// %s", state.elements.getBinaryName(x));
println("package %s;", packageName);
println("import %s;", Arrays.class.getCanonicalName());
println("import %s;", OperationData.class.getCanonicalName());
println("import %s;", OperationKey.class.getCanonicalName());
println("public final class %s extends %s {", simpleName, Deobfuscator.Builder.class
.getCanonicalName());
scanAllInheritedMethods(x, state);
println("{");
for (int i = 0; i < index; i++)
{
println("genMethod_"+i+"();");
}
index = 0;
writeTypeAndTokenMap(state);
println("}}");
...