44import net .minecraftforge .fml .relauncher .FMLLaunchHandler ;
55import org .codehaus .groovy .ast .Parameter ;
66import org .codehaus .groovy .ast .*;
7+ import org .codehaus .groovy .ast .expr .ConstantExpression ;
8+ import org .codehaus .groovy .ast .stmt .ReturnStatement ;
79import org .codehaus .groovy .vmplugin .v8 .Java8 ;
810import org .spongepowered .asm .mixin .Mixin ;
911import org .spongepowered .asm .mixin .Overwrite ;
@@ -28,13 +30,6 @@ public abstract class Java8Mixin {
2830 @ Shadow
2931 protected abstract ClassNode [] makeClassNodes (CompileUnit cu , Type [] types , Class <?>[] cls );
3032
31- @ Shadow
32- private static void setMethodDefaultValue (MethodNode mn , Method m ) {
33- }
34-
35- @ Shadow
36- protected abstract GenericsType [] configureTypeVariable (TypeVariable <?>[] tvs );
37-
3833 @ Shadow
3934 protected abstract Annotation [][] getConstructorParameterAnnotations (Constructor <?> constructor );
4035
@@ -47,6 +42,9 @@ private static void setMethodDefaultValue(MethodNode mn, Method m) {
4742 @ Shadow
4843 protected abstract void makeRecordComponents (CompileUnit cu , ClassNode classNode , Class <?> clazz );
4944
45+ @ Shadow
46+ protected abstract GenericsType [] configureTypeParameters (TypeVariable <?>[] tp );
47+
5048 /**
5149 * @author brachy84
5250 * @reason remapping minecraft fields and methods
@@ -72,10 +70,13 @@ public void configureClassNode(final CompileUnit compileUnit, final ClassNode cl
7270 ClassNode [] exceptions = makeClassNodes (compileUnit , m .getGenericExceptionTypes (), m .getExceptionTypes ());
7371 String name = deobfMethods != null ? deobfMethods .getOrDefault (m .getName (), m .getName ()) : m .getName ();
7472 MethodNode mn = new MethodNode (name , m .getModifiers (), ret , params , exceptions , null );
75- mn .setSynthetic (m .isSynthetic ());
76- setMethodDefaultValue (mn , m );
7773 setAnnotationMetaData (m .getAnnotations (), mn );
78- mn .setGenericsTypes (configureTypeVariable (m .getTypeParameters ()));
74+ if (true ) { // TODO: GROOVY-10862
75+ mn .setAnnotationDefault (true );
76+ mn .setCode (new ReturnStatement (new ConstantExpression (m .getDefaultValue ())));
77+ }
78+ mn .setGenericsTypes (configureTypeParameters (m .getTypeParameters ()));
79+ mn .setSynthetic (m .isSynthetic ());
7980 classNode .addMethod (mn );
8081 }
8182 Constructor <?>[] constructors = clazz .getDeclaredConstructors ();
0 commit comments