提交 ae71af5e 编写于 作者: M mcimadamore

8168774: Polymorhic signature method check crashes javac

Summary: Check for polysig method assumes arity is greater than zero
Reviewed-by: vromero
上级 ae1f2412
......@@ -1004,7 +1004,7 @@ public class Types {
List<Type> argtypes = msym.type.getParameterTypes();
return (msym.flags_field & NATIVE) != 0 &&
(msym.owner == syms.methodHandleType.tsym || msym.owner == syms.varHandleType.tsym) &&
argtypes.tail.tail == null &&
argtypes.length() == 1 &&
argtypes.head.hasTag(TypeTag.ARRAY) &&
((ArrayType)argtypes.head).elemtype.tsym == syms.objectType.tsym;
}
......
/*
* @test
* @bug 8168774
* @summary Polymorhic signature method check crashes javac
* @compile -Xmodule:java.base BadPolySig.java
*/
package java.lang.invoke;
class MethodHandle {
native Object m();
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册