Item invoke() { MethodType mtype = (MethodType) member.erasure(types); int argsize = Code.width(mtype.argtypes); int rescode = Code.typecode(mtype.restype); int sdiff = Code.width(rescode) - argsize; code.emitInvokestatic(pool.put(member), mtype); return stackItem[rescode]; }
MemberItem(Symbol member, boolean nonvirtual) { super(Code.typecode(member.erasure(types))); this.member = member; this.nonvirtual = nonvirtual; }
StaticItem(Symbol member) { super(Code.typecode(member.erasure(types))); this.member = member; }