Take return type from "after" field.

This commit is contained in:
Uwe Schindler 2016-05-13 23:17:22 +02:00
parent 1b10a14e8d
commit 1a76329d89
3 changed files with 3 additions and 3 deletions

View File

@ -60,7 +60,7 @@ final class LDefArray extends ALink {
@Override
void load(final CompilerSettings settings, final Definition definition, final GeneratorAdapter adapter) {
final String desc = Type.getMethodDescriptor(definition.defType.type, definition.defType.type, index.actual.type);
final String desc = Type.getMethodDescriptor(after.type, definition.defType.type, index.actual.type);
adapter.visitInvokeDynamicInsn(
"arrayLoad", desc, DEF_BOOTSTRAP_HANDLE, new Object[] { DefBootstrap.ARRAY_LOAD });
}

View File

@ -82,7 +82,7 @@ final class LDefCall extends ALink {
signature.append(')');
// return value
signature.append(definition.defType.type.getDescriptor());
signature.append(after.type.getDescriptor());
adapter.visitInvokeDynamicInsn(name, signature.toString(), DEF_BOOTSTRAP_HANDLE, new Object[] { DefBootstrap.METHOD_CALL });
}

View File

@ -56,7 +56,7 @@ final class LDefField extends ALink {
@Override
void load(final CompilerSettings settings, final Definition definition, final GeneratorAdapter adapter) {
final String desc = Type.getMethodDescriptor(definition.defType.type, definition.defType.type);
final String desc = Type.getMethodDescriptor(after.type, definition.defType.type);
adapter.visitInvokeDynamicInsn(value, desc, DEF_BOOTSTRAP_HANDLE, new Object[] { DefBootstrap.LOAD });
}