From 74cd343bd36165a0083fe90102bb3da238f538fb Mon Sep 17 00:00:00 2001 From: akarnokd Date: Mon, 13 Jan 2020 12:56:58 +0100 Subject: [PATCH] 3.x: enable javac parameter saving in class files --- build.gradle | 4 +++ .../ParameterNamesInClassesTest.java | 32 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/test/java/io/reactivex/rxjava3/validators/ParameterNamesInClassesTest.java diff --git a/build.gradle b/build.gradle index 056b784b68..2730a5a3c9 100644 --- a/build.gradle +++ b/build.gradle @@ -87,6 +87,10 @@ dependencies { testImplementation "com.google.guava:guava:$guavaVersion" } +tasks.withType(JavaCompile) { + options.compilerArgs << "-parameters"; +} + javadoc { failOnError = false exclude "**/internal/**" diff --git a/src/test/java/io/reactivex/rxjava3/validators/ParameterNamesInClassesTest.java b/src/test/java/io/reactivex/rxjava3/validators/ParameterNamesInClassesTest.java new file mode 100644 index 0000000000..11e376a653 --- /dev/null +++ b/src/test/java/io/reactivex/rxjava3/validators/ParameterNamesInClassesTest.java @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2016-present, RxJava Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See + * the License for the specific language governing permissions and limitations under the License. + */ + +package io.reactivex.rxjava3.validators; + +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +public class ParameterNamesInClassesTest { + void method(int paramName) { + // deliberately empty + } + + @Test + public void javacParametersEnabled() throws Exception { + assertEquals("Please enable saving parameter names via the -parameters javac argument", + "paramName", + getClass() + .getDeclaredMethod("method", Integer.TYPE) + .getParameters()[0].getName()); + } +}