This is an automated email from the ASF dual-hosted git repository. chesnay pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push: new 7333ca8c970 [hotfix] Use getParameterCount rather than getParameterTypes().length 7333ca8c970 is described below commit 7333ca8c9700ddd24dc3f63e3f7396fbea68288f Author: Sergey Nuyanzin <snuyan...@gmail.com> AuthorDate: Mon Oct 17 16:44:46 2022 +0200 [hotfix] Use getParameterCount rather than getParameterTypes().length --- .../streaming/connectors/kinesis/FlinkKinesisConsumerTest.java | 8 ++------ .../java/org/apache/flink/api/java/typeutils/TypeExtractor.java | 8 ++++---- .../src/main/java/org/apache/flink/util/InstantiationUtil.java | 2 +- .../org/apache/flink/table/types/extraction/ExtractionUtils.java | 2 +- .../org/apache/flink/table/planner/expressions/TreeNode.scala | 6 +++--- .../flink/table/planner/functions/utils/ScalarSqlFunction.scala | 2 +- .../flink/table/planner/functions/utils/TableSqlFunction.scala | 2 +- 7 files changed, 13 insertions(+), 17 deletions(-) diff --git a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java index 51367a6a110..7e12c535642 100644 --- a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java +++ b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java @@ -819,13 +819,9 @@ public class FlinkKinesisConsumerTest extends TestLogger { java.lang.reflect.Constructor<KinesisDataFetcher> ctor = (java.lang.reflect.Constructor<KinesisDataFetcher>) KinesisDataFetcher.class.getConstructors()[0]; - Class<?>[] otherParamTypes = new Class<?>[ctor.getParameterTypes().length - 1]; + Class<?>[] otherParamTypes = new Class<?>[ctor.getParameterCount() - 1]; System.arraycopy( - ctor.getParameterTypes(), - 1, - otherParamTypes, - 0, - ctor.getParameterTypes().length - 1); + ctor.getParameterTypes(), 1, otherParamTypes, 0, ctor.getParameterCount() - 1); Supplier<Object[]> argumentSupplier = () -> { diff --git a/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java b/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java index 470e232a0c7..939c988df62 100644 --- a/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java @@ -552,7 +552,7 @@ public class TypeExtractor { // number of parameters the SAM of implemented interface has; the parameter indexing // applies to this range - final int baseParametersLen = sam.getParameterTypes().length; + final int baseParametersLen = sam.getParameterCount(); final Type output; if (lambdaOutputTypeArgumentIndices.length > 0) { @@ -687,7 +687,7 @@ public class TypeExtractor { if (exec != null) { final Method sam = TypeExtractionUtils.getSingleAbstractMethod(baseClass); - final int baseParametersLen = sam.getParameterTypes().length; + final int baseParametersLen = sam.getParameterCount(); // parameters must be accessed from behind, since JVM can add additional parameters // e.g. when using local variables inside lambda function @@ -2004,7 +2004,7 @@ public class TypeExtractor { || methodNameLow.equals(fieldNameLow)) && // no arguments for the getter - m.getParameterTypes().length == 0 + m.getParameterCount() == 0 && // return type is same as field type (or the generic variant of it) (m.getGenericReturnType().equals(fieldType) @@ -2015,7 +2015,7 @@ public class TypeExtractor { // check for setters (<FieldName>_$eq for scala) if ((methodNameLow.equals("set" + fieldNameLow) || methodNameLow.equals(fieldNameLow + "_$eq")) - && m.getParameterTypes().length == 1 + && m.getParameterCount() == 1 && // one parameter of the field's type (m.getGenericParameterTypes()[0].equals(fieldType) || (m.getParameterTypes()[0].equals(fieldTypeWrapper)) diff --git a/flink-core/src/main/java/org/apache/flink/util/InstantiationUtil.java b/flink-core/src/main/java/org/apache/flink/util/InstantiationUtil.java index c36306070b4..2e8a10f3c6e 100644 --- a/flink-core/src/main/java/org/apache/flink/util/InstantiationUtil.java +++ b/flink-core/src/main/java/org/apache/flink/util/InstantiationUtil.java @@ -456,7 +456,7 @@ public final class InstantiationUtil { public static boolean hasPublicNullaryConstructor(Class<?> clazz) { Constructor<?>[] constructors = clazz.getConstructors(); for (Constructor<?> constructor : constructors) { - if (constructor.getParameterTypes().length == 0 + if (constructor.getParameterCount() == 0 && Modifier.isPublic(constructor.getModifiers())) { return true; } diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/extraction/ExtractionUtils.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/extraction/ExtractionUtils.java index 7890c0e8c28..b648882fd4e 100644 --- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/extraction/ExtractionUtils.java +++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/extraction/ExtractionUtils.java @@ -633,7 +633,7 @@ public final class ExtractionUtils { for (Constructor<?> constructor : clazz.getDeclaredConstructors()) { final boolean qualifyingConstructor = Modifier.isPublic(constructor.getModifiers()) - && constructor.getParameterTypes().length == fields.size(); + && constructor.getParameterCount() == fields.size(); if (!qualifyingConstructor) { continue; } diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/expressions/TreeNode.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/expressions/TreeNode.scala index c3b9dbc9f9b..182198a45e0 100644 --- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/expressions/TreeNode.scala +++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/expressions/TreeNode.scala @@ -81,7 +81,7 @@ abstract class TreeNode[A <: TreeNode[A]] extends Product { self: A => * children change. */ private[flink] def makeCopy(newArgs: Array[AnyRef]): A = { - val ctors = getClass.getConstructors.filter(_.getParameterTypes.length > 0) + val ctors = getClass.getConstructors.filter(_.getParameterCount > 0) if (ctors.isEmpty) { throw new RuntimeException(s"No valid constructor for ${getClass.getSimpleName}") } @@ -89,7 +89,7 @@ abstract class TreeNode[A <: TreeNode[A]] extends Product { self: A => val defaultCtor = ctors .find { ctor => - if (ctor.getParameterTypes.length != newArgs.length) { + if (ctor.getParameterCount != newArgs.length) { false } else if (newArgs.contains(null)) { false @@ -98,7 +98,7 @@ abstract class TreeNode[A <: TreeNode[A]] extends Product { self: A => TypeInfoCheckUtils.isAssignable(argsClasses, ctor.getParameterTypes) } } - .getOrElse(ctors.maxBy(_.getParameterTypes.length)) + .getOrElse(ctors.maxBy(_.getParameterCount)) try { defaultCtor.newInstance(newArgs: _*).asInstanceOf[A] diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/ScalarSqlFunction.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/ScalarSqlFunction.scala index 01e9f8c8275..5f3935fd10c 100644 --- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/ScalarSqlFunction.scala +++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/ScalarSqlFunction.scala @@ -151,7 +151,7 @@ object ScalarSqlFunction { var isVarargs = false methods.foreach( m => { - var len = m.getParameterTypes.length + var len = m.getParameterCount if (len > 0 && m.isVarArgs && m.getParameterTypes()(len - 1).isArray) { isVarargs = true len = len - 1 diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/TableSqlFunction.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/TableSqlFunction.scala index 10518c0b8b0..23a2a1087f3 100644 --- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/TableSqlFunction.scala +++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/functions/utils/TableSqlFunction.scala @@ -192,7 +192,7 @@ class OperandMetadata(name: String, udtf: TableFunction[_], methods: Array[Metho var isVarargs = false methods.foreach( m => { - var len = m.getParameterTypes.length + var len = m.getParameterCount if (len > 0 && m.isVarArgs && m.getParameterTypes()(len - 1).isArray) { isVarargs = true len = len - 1