1065 */ |
1065 */ |
1066 public boolean isSignaturePolymorphic(MethodSymbol msym) { |
1066 public boolean isSignaturePolymorphic(MethodSymbol msym) { |
1067 List<Type> argtypes = msym.type.getParameterTypes(); |
1067 List<Type> argtypes = msym.type.getParameterTypes(); |
1068 return (msym.flags_field & NATIVE) != 0 && |
1068 return (msym.flags_field & NATIVE) != 0 && |
1069 msym.owner == syms.methodHandleType.tsym && |
1069 msym.owner == syms.methodHandleType.tsym && |
1070 argtypes.tail.tail == null && |
1070 argtypes.length() == 1 && |
1071 argtypes.head.hasTag(TypeTag.ARRAY) && |
1071 argtypes.head.hasTag(TypeTag.ARRAY) && |
1072 msym.type.getReturnType().tsym == syms.objectType.tsym && |
1072 msym.type.getReturnType().tsym == syms.objectType.tsym && |
1073 ((ArrayType)argtypes.head).elemtype.tsym == syms.objectType.tsym; |
1073 ((ArrayType)argtypes.head).elemtype.tsym == syms.objectType.tsym; |
1074 } |
1074 } |
1075 |
1075 |