-
Bug
-
Resolution: Fixed
-
P4
-
None
-
repo-babylon
The invoke operation (instance CoreOps.InvokeOp) models a method invocation expression (where the results of argument list expressions are passed as operands).
At the moment it not does provide sufficient details on the kind of invocation which makes it harder to determine what the corresponding bytecode invocation instruction should be and the referenced constant pool entry (CONSTANT_Methodref_info or CONSTANT_InterfaceMethodref_info). (This is less of an issue when interpreting and invoking using method handles.)
Note that it is currently possible to differentiate between the invocation of instance methods and static methods. For instance methods the number of operands will be 1 + the arity of the method (described by its descriptor).
At the moment it not does provide sufficient details on the kind of invocation which makes it harder to determine what the corresponding bytecode invocation instruction should be and the referenced constant pool entry (CONSTANT_Methodref_info or CONSTANT_InterfaceMethodref_info). (This is less of an issue when interpreting and invoking using method handles.)
Note that it is currently possible to differentiate between the invocation of instance methods and static methods. For instance methods the number of operands will be 1 + the arity of the method (described by its descriptor).