Signatur der aufgerufenen Methode muss dem definierten Typ und nicht den aufrufenden Typ entsprechen #69

Open
opened 2020-08-07 12:07:30 +00:00 by pl · 0 comments
Owner

import java.lang.Integer;

class semiUnifikation {

<X> X m(X x) {
 	Integer i = m(1);
 	return x;
}

}

// public <X extends java.lang.Object, X$ extends java.lang.Object> X m(X);
FEHLER: X$ extends java.lang.Object ist falsch
// descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
// flags: (0x0001) ACC_PUBLIC
// Code:
// stack=2, locals=3, args_size=2
// 0: aload_0
// 1: iconst_1
// 2: invokestatic #18 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
// 5: invokevirtual #21 // Method m:(Ljava/lang/Integer;)Ljava/lang/Integer;
FEHLER HIER MUESSTE Method m:(Ljava/lang/Object;)Ljava/lang/Object; aufgerufen werden
// 8: astore_2
// 9: aload_1
// 10: areturn
// Signature: #12 // <X:Ljava/lang/Object;X$:Ljava/lang/Object;>(TX;)TX;
// }

import java.lang.Integer; class semiUnifikation { <X> X m(X x) { Integer i = m(1); return x; } } // public <X extends java.lang.Object, X$ extends java.lang.Object> X m(X); FEHLER: X$ extends java.lang.Object ist falsch // descriptor: (Ljava/lang/Object;)Ljava/lang/Object; // flags: (0x0001) ACC_PUBLIC // Code: // stack=2, locals=3, args_size=2 // 0: aload_0 // 1: iconst_1 // 2: invokestatic #18 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; // 5: invokevirtual #21 // Method m:(Ljava/lang/Integer;)Ljava/lang/Integer; FEHLER HIER MUESSTE Method m:(Ljava/lang/Object;)Ljava/lang/Object; aufgerufen werden // 8: astore_2 // 9: aload_1 // 10: areturn // Signature: #12 // <X:Ljava/lang/Object;X$:Ljava/lang/Object;>(TX;)TX; // }
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: JavaTX/JavaCompilerCore#69
No description provided.