diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java index b2192e47..c7299628 100644 --- a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java +++ b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java | |||
| @@ -39,15 +39,17 @@ public class TranslationMethodVisitor extends MethodVisitor { | |||
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | @Override | 41 | @Override |
| 42 | public void visitAttribute(Attribute attr) { | 42 | public AnnotationVisitor visitAnnotation(String desc, boolean visible) { |
| 43 | // TODO: Implement | 43 | TypeDescriptor typeDesc = translator.getTranslatedTypeDesc(new TypeDescriptor(desc)); |
| 44 | super.visitAttribute(attr); | 44 | AnnotationVisitor av = super.visitAnnotation(typeDesc.toString(), visible); |
| 45 | return new TranslationAnnotationVisitor(translator, typeDesc.getTypeEntry(), api, av); | ||
| 45 | } | 46 | } |
| 46 | 47 | ||
| 47 | @Override | 48 | @Override |
| 48 | public AnnotationVisitor visitAnnotation(String desc, boolean visible) { | 49 | public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) { |
| 49 | // TODO: Implement | 50 | TypeDescriptor typeDesc = translator.getTranslatedTypeDesc(new TypeDescriptor(desc)); |
| 50 | return super.visitAnnotation(desc, visible); | 51 | AnnotationVisitor av = super.visitAnnotation(typeDesc.toString(), visible); |
| 52 | return new TranslationAnnotationVisitor(translator, typeDesc.getTypeEntry(), api, av); | ||
| 51 | } | 53 | } |
| 52 | 54 | ||
| 53 | @Override | 55 | @Override |
| @@ -69,7 +71,7 @@ public class TranslationMethodVisitor extends MethodVisitor { | |||
| 69 | // List types would require this whole block again, so just go with aListx | 71 | // List types would require this whole block again, so just go with aListx |
| 70 | nameBuilder.append(nameIndex); | 72 | nameBuilder.append(nameIndex); |
| 71 | } else if (argDesc.isType()) { | 73 | } else if (argDesc.isType()) { |
| 72 | String typeName = argDesc.getOwnerEntry().getSimpleName().replace("$", ""); | 74 | String typeName = argDesc.getTypeEntry().getSimpleName().replace("$", ""); |
| 73 | typeName = typeName.substring(0, 1).toUpperCase(Locale.ROOT) + typeName.substring(1); | 75 | typeName = typeName.substring(0, 1).toUpperCase(Locale.ROOT) + typeName.substring(1); |
| 74 | nameBuilder.append(typeName); | 76 | nameBuilder.append(typeName); |
| 75 | } | 77 | } |