Finish off old deprecated function/extension function classes

This reverts commit d14e5b8a72.
This commit is contained in:
Alexander Udalov
2015-06-09 21:38:19 +03:00
parent 5394abc83e
commit 64b60718e3
64 changed files with 5 additions and 1582 deletions
+1 -14
View File
@@ -670,17 +670,6 @@
</new-kotlinc>
</target>
<target name="functions-migration">
<new-kotlinc output="${output}/classes/functions-migration">
<src>
<include name="core/functions.migration/src"/>
</src>
<class-path>
<pathelement path="${output}/classes/builtins"/>
</class-path>
</new-kotlinc>
</target>
<target name="stdlib">
<new-kotlinc output="${output}/classes/stdlib">
<src>
@@ -751,7 +740,6 @@
<pack-runtime-jar jar-name="kotlin-runtime.jar" implementation-title="${manifest.impl.title.kotlin.jvm.runtime}">
<jar-content>
<fileset dir="${output}/classes/builtins"/>
<fileset dir="${output}/classes/functions-migration"/>
<fileset dir="${output}/classes/stdlib"/>
<zipfileset dir="${output}/builtins">
<include name="kotlin/**"/>
@@ -820,7 +808,6 @@
<jar-content>
<fileset dir="${basedir}/core/builtins/native" includes="**/*"/>
<fileset dir="${basedir}/core/builtins/src" includes="**/*"/>
<fileset dir="${basedir}/core/functions.migration/src" includes="**/*"/>
<fileset dir="${basedir}/core/reflection.jvm/src" includes="**/*"/>
<fileset dir="${basedir}/core/runtime.jvm/src" includes="**/*"/>
<fileset dir="${basedir}/libraries/stdlib/src" includes="**/*"/>
@@ -838,7 +825,7 @@
</target>
<target name="runtime"
depends="builtins,functions-migration,stdlib,core,reflection,pack-runtime,pack-runtime-sources"/>
depends="builtins,stdlib,core,reflection,pack-runtime,pack-runtime-sources"/>
<target name="dist"
depends="clean,init,prepare-dist,preloader,serialize-builtins,compiler,compiler-sources,ant-tools,jdk-annotations,android-sdk-annotations,runtime,kotlin-js-stdlib,android-compiler-plugin"
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.load.java.structure.impl
import com.intellij.psi.PsiPackage
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.load.java.lazy.DeprecatedFunctionClassFqNameParser
import org.jetbrains.kotlin.load.java.structure.JavaClass
import org.jetbrains.kotlin.load.java.structure.JavaPackage
import org.jetbrains.kotlin.load.java.structure.impl.JavaElementCollectionFromPsiArrayUtil.classes
@@ -31,10 +30,7 @@ public class JavaPackageImpl(psiPackage: PsiPackage, private val scope: GlobalSe
override fun getClasses(nameFilter: (Name) -> Boolean): Collection<JavaClass> {
val psiClasses = getPsi().getClasses(scope).filter {
val name = it.getName()
name != null && nameFilter(Name.identifier(name)) && it.getQualifiedName()?.let {
// TODO: drop after M12
!DeprecatedFunctionClassFqNameParser.isDeprecatedFunctionClassFqName(it)
} ?: true
name != null && nameFilter(Name.identifier(name))
}
return classes(psiClasses)
}
@@ -21,14 +21,8 @@ import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.diagnostics.DiagnosticSink
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.lexer.JetTokens
import org.jetbrains.kotlin.load.java.lazy.DeprecatedFunctionClassFqNameParser
import org.jetbrains.kotlin.load.java.lazy.types.isMarkedNotNull
import org.jetbrains.kotlin.load.java.lazy.types.isMarkedNullable
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
import org.jetbrains.kotlin.load.java.structure.JavaClass
import org.jetbrains.kotlin.load.java.structure.JavaClassifierType
import org.jetbrains.kotlin.load.java.structure.JavaMethod
import org.jetbrains.kotlin.load.java.structure.JavaType
import org.jetbrains.kotlin.load.kotlin.nativeDeclarations.NativeFunChecker
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.*
@@ -40,11 +34,8 @@ import org.jetbrains.kotlin.resolve.annotations.hasInlineAnnotation
import org.jetbrains.kotlin.resolve.annotations.hasIntrinsicAnnotation
import org.jetbrains.kotlin.resolve.annotations.hasPlatformStaticAnnotation
import org.jetbrains.kotlin.resolve.calls.checkers.AdditionalTypeChecker
import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker
import org.jetbrains.kotlin.resolve.calls.context.BasicCallResolutionContext
import org.jetbrains.kotlin.resolve.calls.context.CallResolutionContext
import org.jetbrains.kotlin.resolve.calls.context.ResolutionContext
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValue
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValueFactory
@@ -60,7 +51,6 @@ import org.jetbrains.kotlin.types.TypeUtils
import org.jetbrains.kotlin.types.expressions.SenselessComparisonChecker
import org.jetbrains.kotlin.types.flexibility
import org.jetbrains.kotlin.types.isFlexible
import java.util.ArrayList
public object KotlinJvmCheckerProvider : AdditionalCheckerProvider(
additionalDeclarationCheckers = listOf(PlatformStaticAnnotationChecker(),
@@ -70,8 +60,7 @@ public object KotlinJvmCheckerProvider : AdditionalCheckerProvider(
OverloadsAnnotationChecker()),
additionalCallCheckers = listOf(NeedSyntheticChecker(), JavaAnnotationCallChecker(),
JavaAnnotationMethodCallChecker(), TraitDefaultMethodCallChecker(),
DeprecatedFunctionClassChecker()),
JavaAnnotationMethodCallChecker(), TraitDefaultMethodCallChecker()),
additionalTypeCheckers = listOf(JavaNullabilityWarningsChecker()),
additionalSymbolUsageValidators = listOf()
@@ -333,24 +322,3 @@ public class JavaNullabilityWarningsChecker : AdditionalTypeChecker {
}
}
}
public class DeprecatedFunctionClassChecker : CallChecker {
override fun <F : CallableDescriptor> check(resolvedCall: ResolvedCall<F>, c: BasicCallResolutionContext) {
val javaMethod = (resolvedCall.getResultingDescriptor().getSource() as? JavaSourceElement)?.javaElement as? JavaMethod ?: return
val fqNames = ArrayList<Pair<String, String>>(0)
fun processType(type: JavaType) {
val javaClass = (type as? JavaClassifierType)?.getClassifier() as? JavaClass ?: return
val fqName = javaClass.getFqName()?.asString() ?: return
fqNames.add(DeprecatedFunctionClassFqNameParser.extractOldAndNewFqName(fqName) ?: return)
}
javaMethod.getValueParameters().forEach { processType(it.getType()) }
javaMethod.getReturnType()?.let { processType(it) }
for ((oldFqName, newFqName) in fqNames) {
c.trace.report(ErrorsJvm.JAVA_METHOD_USES_DEPRECATED_FUNCTION_CLASS.on(c.call.getCallElement(), oldFqName, newFqName))
}
}
}
@@ -69,10 +69,6 @@ public class DefaultErrorMessagesJvm implements DefaultErrorMessages.Extension {
MAP.put(ErrorsJvm.TRAIT_CANT_CALL_DEFAULT_METHOD_VIA_SUPER, "Interfaces can't call Java default methods via super");
MAP.put(ErrorsJvm.WHEN_ENUM_CAN_BE_NULL_IN_JAVA, "Enum argument ''{0}'' can be null in Java, but exhaustive when contains no null branch");
MAP.put(ErrorsJvm.JAVA_METHOD_USES_DEPRECATED_FUNCTION_CLASS,
"This Java method uses the deprecated {0} class, which will be removed soon. " +
"Please change the signature to use the new {1} class instead", Renderers.TO_STRING, Renderers.TO_STRING);
}
@NotNull
@@ -57,8 +57,6 @@ public interface ErrorsJvm {
DiagnosticFactory0<JetElement> TRAIT_CANT_CALL_DEFAULT_METHOD_VIA_SUPER = DiagnosticFactory0.create(ERROR);
DiagnosticFactory2<JetElement, String, String> JAVA_METHOD_USES_DEPRECATED_FUNCTION_CLASS = DiagnosticFactory2.create(ERROR);
// TODO: make this a warning
DiagnosticFactory1<JetExpression, JetExpression> NO_REFLECTION_IN_CLASS_PATH = DiagnosticFactory1.create(ERROR);
@@ -1,35 +0,0 @@
// FILE: J.java
import kotlin.ExtensionFunction0;
import kotlin.ExtensionFunction1;
import kotlin.Function0;
import kotlin.Function1;
import kotlin.Unit;
public class J {
public static void f1(Function0<Unit> f) {
f.invoke();
}
public static void f2(Function1<String, String> f) {
f.invoke("");
}
public static void ef1(ExtensionFunction1<Integer, Integer, Integer> ef) {
ef.invoke(42, -42);
}
public static ExtensionFunction0<String, Unit> ef2() {
return null;
}
}
// FILE: K.kt
fun foo() = J.<!JAVA_METHOD_USES_DEPRECATED_FUNCTION_CLASS!>f1 { }<!>
fun bar() = J.<!JAVA_METHOD_USES_DEPRECATED_FUNCTION_CLASS!>f2 { it }<!>
fun baz() = J.<!JAVA_METHOD_USES_DEPRECATED_FUNCTION_CLASS!>ef1 <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>{<!> <!NO_THIS!>this<!> }<!>
fun quux() = J.<!JAVA_METHOD_USES_DEPRECATED_FUNCTION_CLASS!>ef2()<!>
@@ -1,19 +0,0 @@
package
internal fun bar(): kotlin.Unit
internal fun baz(): kotlin.Unit
internal fun foo(): kotlin.Unit
internal fun quux(): kotlin.ExtensionFunction0<kotlin.String!, kotlin.Unit!>!
public open class J {
public constructor J()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun ef1(/*0*/ ef: kotlin.ExtensionFunction1<kotlin.Int!, kotlin.Int!, kotlin.Int!>!): kotlin.Unit
public open fun ef2(): kotlin.ExtensionFunction0<kotlin.String!, kotlin.Unit!>!
public open fun f1(/*0*/ f: (() -> kotlin.Unit!)!): kotlin.Unit
public open fun f2(/*0*/ f: ((kotlin.String!) -> kotlin.String!)!): kotlin.Unit
}
@@ -35,12 +35,6 @@ public class JetDiagnosticsTestWithStdLibGenerated extends AbstractJetDiagnostic
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/testsWithStdLib"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("DeprecatedFunctionClasses.kt")
public void testDeprecatedFunctionClasses() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/DeprecatedFunctionClasses.kt");
doTest(fileName);
}
@TestMetadata("instar.kt")
public void testInstar() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/instar.kt");
@@ -1,53 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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 org.jetbrains.kotlin.load.java.lazy
public object DeprecatedFunctionClassFqNameParser {
/**
* Checks that the given FQ name denotes some deprecated function class and returns the old and the new FQ name of the class
* in case it does, or null otherwise, e.g.:
* "kotlin.Function1" -> ("kotlin.Function1", "kotlin.jvm.functions.Function1")
* "kotlin.ExtensionFunction1" -> ("kotlin.ExtensionFunction1", "kotlin.jvm.functions.Function2")
* "kotlin.jvm.functions.Function1" -> null
*/
public fun extractOldAndNewFqName(fqName: String): Pair<String, String>? {
val arity = fqName.removePrefix("kotlin.Function")
if (arity != fqName && arity.isInt()) {
return Pair(fqName, "kotlin.jvm.functions.Function$arity")
}
val extensionArity = fqName.removePrefix("kotlin.ExtensionFunction")
if (extensionArity != fqName && extensionArity.isInt()) {
return Pair(fqName, "kotlin.jvm.functions.Function${extensionArity.toInt() + 1}")
}
return null
}
public fun isDeprecatedFunctionClassFqName(fqName: String): Boolean {
return extractOldAndNewFqName(fqName) != null
}
private fun String.isInt() =
try {
toInt()
true
}
catch (e: NumberFormatException) {
false
}
}
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.load.java.lazy
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
@@ -77,13 +76,6 @@ fun LazyJavaResolverContext.findClassInJava(classId: ClassId): JavaClassLookupRe
val binaryClassResult = resolveBinaryClass(kotlinClass)
if (binaryClassResult != null) return binaryClassResult
if (!classId.isLocal() && !classId.isNestedClass() &&
DeprecatedFunctionClassFqNameParser.isDeprecatedFunctionClassFqName(classId.asSingleFqName().asString())) {
// Ignore deprecated kotlin.Function{n} / kotlin.ExtensionFunction{n} Java classes
// TODO: drop after M12
return JavaClassLookupResult.EMPTY
}
val javaClass = finder.findClass(classId)
if (javaClass != null) return JavaClassLookupResult(javaClass)
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction0<E, R> extends kotlin.jvm.functions.Function1<E, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction1<E, P1, R> extends kotlin.jvm.functions.Function2<E, P1, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction10<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R> extends kotlin.jvm.functions.Function11<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction11<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R> extends kotlin.jvm.functions.Function12<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction12<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R> extends kotlin.jvm.functions.Function13<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction13<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R> extends kotlin.jvm.functions.Function14<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction14<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R> extends kotlin.jvm.functions.Function15<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction15<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R> extends kotlin.jvm.functions.Function16<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction16<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R> extends kotlin.jvm.functions.Function17<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction17<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R> extends kotlin.jvm.functions.Function18<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction18<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R> extends kotlin.jvm.functions.Function19<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction19<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R> extends kotlin.jvm.functions.Function20<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction2<E, P1, P2, R> extends kotlin.jvm.functions.Function3<E, P1, P2, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction20<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R> extends kotlin.jvm.functions.Function21<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction21<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R> extends kotlin.jvm.functions.Function22<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction3<E, P1, P2, P3, R> extends kotlin.jvm.functions.Function4<E, P1, P2, P3, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction4<E, P1, P2, P3, P4, R> extends kotlin.jvm.functions.Function5<E, P1, P2, P3, P4, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction5<E, P1, P2, P3, P4, P5, R> extends kotlin.jvm.functions.Function6<E, P1, P2, P3, P4, P5, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction6<E, P1, P2, P3, P4, P5, P6, R> extends kotlin.jvm.functions.Function7<E, P1, P2, P3, P4, P5, P6, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction7<E, P1, P2, P3, P4, P5, P6, P7, R> extends kotlin.jvm.functions.Function8<E, P1, P2, P3, P4, P5, P6, P7, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction8<E, P1, P2, P3, P4, P5, P6, P7, P8, R> extends kotlin.jvm.functions.Function9<E, P1, P2, P3, P4, P5, P6, P7, P8, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface ExtensionFunction9<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, R> extends kotlin.jvm.functions.Function10<E, P1, P2, P3, P4, P5, P6, P7, P8, P9, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function0<R> extends kotlin.jvm.functions.Function0<R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function1<P1, R> extends kotlin.jvm.functions.Function1<P1, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R> extends kotlin.jvm.functions.Function10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function11<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R> extends kotlin.jvm.functions.Function11<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function12<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R> extends kotlin.jvm.functions.Function12<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function13<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R> extends kotlin.jvm.functions.Function13<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function14<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R> extends kotlin.jvm.functions.Function14<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function15<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R> extends kotlin.jvm.functions.Function15<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function16<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R> extends kotlin.jvm.functions.Function16<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function17<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R> extends kotlin.jvm.functions.Function17<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function18<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R> extends kotlin.jvm.functions.Function18<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function19<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R> extends kotlin.jvm.functions.Function19<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function2<P1, P2, R> extends kotlin.jvm.functions.Function2<P1, P2, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function20<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R> extends kotlin.jvm.functions.Function20<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function21<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R> extends kotlin.jvm.functions.Function21<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function22<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, R> extends kotlin.jvm.functions.Function22<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function3<P1, P2, P3, R> extends kotlin.jvm.functions.Function3<P1, P2, P3, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function4<P1, P2, P3, P4, R> extends kotlin.jvm.functions.Function4<P1, P2, P3, P4, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function5<P1, P2, P3, P4, P5, R> extends kotlin.jvm.functions.Function5<P1, P2, P3, P4, P5, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function6<P1, P2, P3, P4, P5, P6, R> extends kotlin.jvm.functions.Function6<P1, P2, P3, P4, P5, P6, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function7<P1, P2, P3, P4, P5, P6, P7, R> extends kotlin.jvm.functions.Function7<P1, P2, P3, P4, P5, P6, P7, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function8<P1, P2, P3, P4, P5, P6, P7, P8, R> extends kotlin.jvm.functions.Function8<P1, P2, P3, P4, P5, P6, P7, P8, R> {
}
@@ -1,26 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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.
*/
// Auto-generated file. DO NOT EDIT!
package kotlin;
/**
* @deprecated Use the new function classes from the package kotlin.jvm.functions.
*/
@Deprecated
public interface Function9<P1, P2, P3, P4, P5, P6, P7, P8, P9, R> extends kotlin.jvm.functions.Function9<P1, P2, P3, P4, P5, P6, P7, P8, P9, R> {
}
@@ -1,43 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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 org.jetbrains.kotlin.generators.builtins
import org.jetbrains.kotlin.generators.builtins.generateBuiltIns.BuiltInsSourceGenerator
import java.io.PrintWriter
class GenerateDeprecatedJavaFunction(
out: PrintWriter,
private val arity: Int,
private val extension: Boolean
) : BuiltInsSourceGenerator(out) {
override val language = BuiltInsSourceGenerator.Language.JAVA
override fun generateBody() {
val params = (1..arity).map { "P$it" }
val generics = "<" + ((if (extension) listOf("E") else listOf()) + params + listOf("R")).join() + ">"
val name = if (extension) "ExtensionFunction" else "Function"
val superArity = if (extension) arity + 1 else arity
out.println("/**")
out.println(" * @deprecated Use the new function classes from the package kotlin.jvm.functions.")
out.println(" */")
out.println("@Deprecated")
out.println("public interface $name$arity$generics extends kotlin.jvm.functions.Function$superArity$generics {")
out.println("}")
}
}
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.generators.builtins.generateBuiltIns
import org.jetbrains.kotlin.generators.builtins.GenerateDeprecatedJavaFunction
import org.jetbrains.kotlin.generators.builtins.arrayIterators.GenerateArrayIterators
import org.jetbrains.kotlin.generators.builtins.arrays.GenerateArrays
import org.jetbrains.kotlin.generators.builtins.functionImpl.GenerateFunctionImpl
@@ -35,7 +34,6 @@ fun assertExists(file: File): Unit =
val BUILT_INS_NATIVE_DIR = File("core/builtins/native/")
val BUILT_INS_SRC_DIR = File("core/builtins/src/")
val RUNTIME_JVM_DIR = File("core/runtime.jvm/src/")
val FUNCTIONS_MIGRATION_DIR = File("core/functions.migration/src/")
abstract class BuiltInsSourceGenerator(val out: PrintWriter) {
protected abstract fun generateBody(): Unit
@@ -45,7 +43,7 @@ abstract class BuiltInsSourceGenerator(val out: PrintWriter) {
protected open val language: Language = Language.KOTLIN
enum class Language {
KOTLIN,
KOTLIN
JAVA
}
@@ -77,13 +75,6 @@ fun generateBuiltIns(generate: (File, (PrintWriter) -> BuiltInsSourceGenerator)
generate(File(BUILT_INS_SRC_DIR, "kotlin/ProgressionIterators.kt")) { GenerateProgressionIterators(it) }
generate(File(BUILT_INS_SRC_DIR, "kotlin/Progressions.kt")) { GenerateProgressions(it) }
generate(File(BUILT_INS_SRC_DIR, "kotlin/Ranges.kt")) { GenerateRanges(it) }
for (i in 0..22) {
generate(File(FUNCTIONS_MIGRATION_DIR, "kotlin/Function$i.java")) { GenerateDeprecatedJavaFunction(it, i, false) }
}
for (i in 0..21) {
generate(File(FUNCTIONS_MIGRATION_DIR, "kotlin/ExtensionFunction$i.java")) { GenerateDeprecatedJavaFunction(it, i, true) }
}
}
fun main(args: Array<String>) {
-6
View File
@@ -1046,12 +1046,6 @@
cleanupTool="true"
level="WARNING"/>
<localInspection implementationClass="org.jetbrains.kotlin.idea.inspections.ReplaceDeprecatedFunctionClassUsages"
displayName="Usage of deprecated function classes in Java"
groupName="Kotlin"
enabledByDefault="true"
level="WARNING"/>
<project.converterProvider implementation="org.jetbrains.kotlin.idea.converters.JetRunConfigurationSettingsFormatConverterProvider"/>
<fileType.fileViewProviderFactory filetype="KJSM" implementationClass="com.intellij.psi.ClassFileViewProviderFactory"/>
@@ -23,7 +23,6 @@ import com.intellij.openapi.progress.ProcessCanceledException
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile
import com.intellij.psi.PsiJavaFile
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
@@ -46,17 +45,10 @@ public class KotlinCleanupInspection(): LocalInspectionTool(), CleanupLocalInspe
override fun getDisplayName(): String = "Usage of redundant or deprecated syntax or deprecated symbols"
override fun checkFile(file: PsiFile, manager: InspectionManager, isOnTheFly: Boolean): Array<out ProblemDescriptor>? {
if (isOnTheFly || !ProjectRootsUtil.isInProjectSource(file)) {
if (isOnTheFly || file !is JetFile || !ProjectRootsUtil.isInProjectSource(file)) {
return null
}
return when (file) {
is JetFile -> checkKotlinFile(file, manager)
is PsiJavaFile -> checkJavaFile(file, manager)
else -> null
}
}
private fun checkKotlinFile(file: JetFile, manager: InspectionManager): Array<out ProblemDescriptor>? {
val analysisResult = file.analyzeFullyAndGetResult()
if (analysisResult.isError()) {
throw ProcessCanceledException(analysisResult.error)
@@ -86,10 +78,6 @@ public class KotlinCleanupInspection(): LocalInspectionTool(), CleanupLocalInspe
return problems.sortBy { it.depth }.map { it.problemDescriptor }.toTypedArray()
}
private fun checkJavaFile(file: PsiJavaFile, manager: InspectionManager): Array<out ProblemDescriptor>? {
return ReplaceDeprecatedFunctionClassUsages().checkFile(file, manager)?.let { arrayOf(it) }
}
private fun Diagnostic.isCleanup() = getFactory() in cleanupDiagnosticsFactories || isObsoleteLabel()
private val cleanupDiagnosticsFactories = setOf(
@@ -1,91 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* 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 org.jetbrains.kotlin.idea.inspections
import com.intellij.codeInspection.*
import com.intellij.openapi.project.Project
import com.intellij.psi.*
import com.intellij.psi.codeStyle.JavaCodeStyleManager
import com.intellij.psi.impl.compiled.ClsClassImpl
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
import org.jetbrains.kotlin.load.java.lazy.DeprecatedFunctionClassFqNameParser
import java.util.ArrayList
public class ReplaceDeprecatedFunctionClassUsages : LocalInspectionTool() {
override fun checkFile(file: PsiFile, manager: InspectionManager, isOnTheFly: Boolean): Array<ProblemDescriptor>? {
if (isOnTheFly || !ProjectRootsUtil.isInProjectSource(file) || file !is PsiJavaFile) {
return null
}
return checkFile(file, manager)?.let { arrayOf(it) }
}
public fun checkFile(file: PsiJavaFile, manager: InspectionManager): ProblemDescriptor? {
val references = ArrayList<PsiJavaCodeReferenceElement>(0)
file.acceptChildren(object : JavaRecursiveElementVisitor() {
override fun visitReferenceElement(reference: PsiJavaCodeReferenceElement) {
if ("Function" in reference.getText() && extractFunctionClassFqName(reference) != null) {
references.add(reference)
}
super.visitElement(reference)
}
override fun visitImportList(list: PsiImportList?) {
// Skip import list for simplicity, update all other references instead and invoke "Optimize Imports"
}
})
return if (references.isEmpty()) null else manager.createProblemDescriptor(
file, MESSAGE, false, arrayOf(Fix(references)), ProblemHighlightType.GENERIC_ERROR_OR_WARNING
)
}
private class Fix(val references: List<PsiJavaCodeReferenceElement>) : LocalQuickFix {
override fun getName() = MESSAGE
override fun getFamilyName() = MESSAGE
override fun applyFix(project: Project, problem: ProblemDescriptor) {
val psiFacade = JavaPsiFacade.getInstance(project)
val codeStyleManager = JavaCodeStyleManager.getInstance(project)
val newReferences = ArrayList<PsiElement>(references.size())
for (reference in references) {
val newFqName = extractFunctionClassFqName(reference) ?: continue
val newClass = psiFacade.findClass(newFqName, reference.getResolveScope())
if (newClass != null) {
newReferences.add(reference.bindToElement(newClass))
}
}
codeStyleManager.optimizeImports(problem.getPsiElement().getContainingFile())
for (reference in newReferences) {
codeStyleManager.shortenClassReferences(reference)
}
}
}
companion object {
val MESSAGE = "Replace usages of deprecated Kotlin function classes in Java sources"
fun extractFunctionClassFqName(reference: PsiReference): String? {
val fqName = (reference.resolve() as? ClsClassImpl)?.getQualifiedName() ?: return null
return DeprecatedFunctionClassFqNameParser.extractOldAndNewFqName(fqName)?.second
}
}
}
@@ -1,33 +0,0 @@
import kotlin.Function0;
import kotlin.Function1;
import kotlin.KotlinPackage;
import kotlin.ExtensionFunction0;
import kotlin.Unit;
import kotlin.jvm.functions.Function2;
public class DeprecatedFunctionClasses {
void f1(Function0 f) {
f.invoke();
}
void f2() {
KotlinPackage.map(new int[]{}, new Function1<Integer, Object>() {
@Override
public Object invoke(Integer integer) {
return null;
}
});
}
void f3(Function2<String, String, String> f) {
}
void f4(kotlin.Function0<Unit> g) {
}
void f5(kotlin.jvm.functions.Function1 f) {
}
void f6(ExtensionFunction0<String, Integer> e) {
}
}
@@ -1,32 +0,0 @@
import kotlin.KotlinPackage;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2;
public class DeprecatedFunctionClasses {
void f1(Function0 f) {
f.invoke();
}
void f2() {
KotlinPackage.map(new int[]{}, new Function1<Integer, Object>() {
@Override
public Object invoke(Integer integer) {
return null;
}
});
}
void f3(Function2<String, String, String> f) {
}
void f4(Function0<Unit> g) {
}
void f5(kotlin.jvm.functions.Function1 f) {
}
void f6(Function1<String, Integer> e) {
}
}
@@ -48,8 +48,4 @@ class KotlinCleanupInspectionTest(): JetLightCodeInsightFixtureTestCase() {
public fun testCleanup() {
doTest("cleanup.kt.after", "cleanup.kt", "JavaAnn.java", "deprecatedSymbols.kt")
}
public fun testDeprecatedFunctionClasses() {
doTest("DeprecatedFunctionClasses.java.after", "DeprecatedFunctionClasses.java")
}
}
-1
View File
@@ -46,7 +46,6 @@
<copy todir="${basedir}/target/copied-sources">
<fileset dir="${basedir}/../../../core/builtins/src"/>
<fileset dir="${basedir}/../../../core/runtime.jvm/src"/>
<fileset dir="${basedir}/../../../core/functions.migration/src"/>
</copy>
</target>
</configuration>