Use new annotations in mutability tests instead of old ones
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test;
|
||||
|
||||
import org.jetbrains.annotations.*;
|
||||
import kotlin.annotations.jvm.*;
|
||||
|
||||
public interface LoadIterable<T> {
|
||||
public @Mutable Iterable<T> getIterable();
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package test
|
||||
|
||||
public interface LoadIterable</*0*/ T : kotlin.Any!> {
|
||||
@org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T!>!
|
||||
@org.jetbrains.annotations.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T!>!
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.Mutable p0: kotlin.collections.MutableIterable<T!>!): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @org.jetbrains.annotations.ReadOnly p0: kotlin.collections.Iterable<T!>!): kotlin.Unit
|
||||
@kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T!>!
|
||||
@kotlin.annotations.jvm.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T!>!
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.Mutable p0: kotlin.collections.MutableIterable<T!>!): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly p0: kotlin.collections.Iterable<T!>!): kotlin.Unit
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test;
|
||||
|
||||
import org.jetbrains.annotations.*;
|
||||
import kotlin.annotations.jvm.*;
|
||||
|
||||
public interface LoadIterableWithConflict<T> {
|
||||
public @ReadOnly @Mutable Iterable<T> getIterable();
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package test
|
||||
|
||||
public interface LoadIterableWithConflict</*0*/ T : kotlin.Any!> {
|
||||
@org.jetbrains.annotations.ReadOnly @org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.(Mutable)Iterable<T!>!
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.ReadOnly @org.jetbrains.annotations.Mutable p0: kotlin.collections.(Mutable)Iterable<T!>!): kotlin.Unit
|
||||
@kotlin.annotations.jvm.ReadOnly @kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.(Mutable)Iterable<T!>!
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly @kotlin.annotations.jvm.Mutable p0: kotlin.collections.(Mutable)Iterable<T!>!): kotlin.Unit
|
||||
}
|
||||
|
||||
+3
-1
@@ -1,6 +1,8 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test;
|
||||
|
||||
import org.jetbrains.annotations.*;
|
||||
import kotlin.annotations.jvm.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public interface LoadIterableWithNullability<T> {
|
||||
public @NotNull @Mutable Iterable<T> getIterable();
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package test
|
||||
|
||||
public interface LoadIterableWithNullability</*0*/ T : kotlin.Any!> {
|
||||
@org.jetbrains.annotations.NotNull @org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T!>
|
||||
@org.jetbrains.annotations.NotNull @org.jetbrains.annotations.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T!>
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.Mutable @org.jetbrains.annotations.NotNull p0: kotlin.collections.MutableIterable<T!>): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @org.jetbrains.annotations.ReadOnly @org.jetbrains.annotations.NotNull p0: kotlin.collections.Iterable<T!>): kotlin.Unit
|
||||
@org.jetbrains.annotations.NotNull @kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T!>
|
||||
@org.jetbrains.annotations.NotNull @kotlin.annotations.jvm.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T!>
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.Mutable @org.jetbrains.annotations.NotNull p0: kotlin.collections.MutableIterable<T!>): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly @org.jetbrains.annotations.NotNull p0: kotlin.collections.Iterable<T!>): kotlin.Unit
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test;
|
||||
|
||||
import org.jetbrains.annotations.*;
|
||||
import kotlin.annotations.jvm.*;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public interface LoadIterableWithPropagation {
|
||||
|
||||
+4
-4
@@ -3,10 +3,10 @@ package test
|
||||
public interface LoadIterableWithPropagation {
|
||||
|
||||
public interface LoadIterable</*0*/ T : kotlin.Any!> {
|
||||
@org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T!>!
|
||||
@org.jetbrains.annotations.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T!>!
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.Mutable p0: kotlin.collections.MutableIterable<T!>!): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @org.jetbrains.annotations.ReadOnly p0: kotlin.collections.Iterable<T!>!): kotlin.Unit
|
||||
@kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T!>!
|
||||
@kotlin.annotations.jvm.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T!>!
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.Mutable p0: kotlin.collections.MutableIterable<T!>!): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly p0: kotlin.collections.Iterable<T!>!): kotlin.Unit
|
||||
}
|
||||
|
||||
public open class LoadIterableImpl</*0*/ T : kotlin.Any!> : test.LoadIterableWithPropagation.LoadIterable<T!> {
|
||||
|
||||
+3
-1
@@ -1,6 +1,8 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test;
|
||||
|
||||
import org.jetbrains.annotations.*;
|
||||
import kotlin.annotations.jvm.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
||||
+1
-1
@@ -2,5 +2,5 @@ package test
|
||||
|
||||
public interface ReadOnlyExtendsWildcard {
|
||||
public abstract fun bar(): kotlin.Unit
|
||||
public abstract fun foo(/*0*/ @org.jetbrains.annotations.ReadOnly p0: kotlin.collections.List<kotlin.CharSequence!>!, /*1*/ @org.jetbrains.annotations.NotNull p1: kotlin.Comparable<kotlin.String!>): kotlin.Unit
|
||||
public abstract fun foo(/*0*/ @kotlin.annotations.jvm.ReadOnly p0: kotlin.collections.List<kotlin.CharSequence!>!, /*1*/ @org.jetbrains.annotations.NotNull p1: kotlin.Comparable<kotlin.String!>): kotlin.Unit
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test
|
||||
|
||||
import org.jetbrains.annotations.*
|
||||
import kotlin.annotations.jvm.*
|
||||
|
||||
public interface LoadIterable<T> {
|
||||
@Mutable
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package test
|
||||
|
||||
public interface LoadIterable</*0*/ T> {
|
||||
@org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>?
|
||||
@org.jetbrains.annotations.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T>?
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.Mutable p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @org.jetbrains.annotations.ReadOnly p0: kotlin.collections.Iterable<T>?): kotlin.Unit
|
||||
@kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>?
|
||||
@kotlin.annotations.jvm.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T>?
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.Mutable p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly p0: kotlin.collections.Iterable<T>?): kotlin.Unit
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test
|
||||
|
||||
import org.jetbrains.annotations.*
|
||||
import kotlin.annotations.jvm.*
|
||||
|
||||
public interface LoadIterableWithConflict<T> {
|
||||
@ReadOnly @Mutable
|
||||
|
||||
Vendored
+2
-2
@@ -1,6 +1,6 @@
|
||||
package test
|
||||
|
||||
public interface LoadIterableWithConflict</*0*/ T> {
|
||||
@org.jetbrains.annotations.ReadOnly @org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>?
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.ReadOnly @org.jetbrains.annotations.Mutable p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
|
||||
@kotlin.annotations.jvm.ReadOnly @kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>?
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly @kotlin.annotations.jvm.Mutable p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
|
||||
}
|
||||
|
||||
Vendored
+2
-1
@@ -1,6 +1,7 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test
|
||||
|
||||
import org.jetbrains.annotations.*
|
||||
import kotlin.annotations.jvm.*
|
||||
|
||||
public interface LoadIterableWithNullability<T> {
|
||||
@Mutable
|
||||
|
||||
Vendored
+4
-4
@@ -1,8 +1,8 @@
|
||||
package test
|
||||
|
||||
public interface LoadIterableWithNullability</*0*/ T> {
|
||||
@org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>
|
||||
@org.jetbrains.annotations.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T>
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.Mutable p0: kotlin.collections.MutableIterable<T>): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @org.jetbrains.annotations.ReadOnly p0: kotlin.collections.Iterable<T>): kotlin.Unit
|
||||
@kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>
|
||||
@kotlin.annotations.jvm.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T>
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.Mutable p0: kotlin.collections.MutableIterable<T>): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly p0: kotlin.collections.Iterable<T>): kotlin.Unit
|
||||
}
|
||||
|
||||
Vendored
+2
-1
@@ -1,7 +1,8 @@
|
||||
// JVM_ANNOTATIONS
|
||||
package test
|
||||
|
||||
import java.util.ArrayList
|
||||
import org.jetbrains.annotations.*
|
||||
import kotlin.annotations.jvm.*
|
||||
|
||||
public interface LoadIterableWithPropagation {
|
||||
public interface LoadIterable<T> {
|
||||
|
||||
Vendored
+4
-4
@@ -3,10 +3,10 @@ package test
|
||||
public interface LoadIterableWithPropagation {
|
||||
|
||||
public interface LoadIterable</*0*/ T> {
|
||||
@org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>?
|
||||
@org.jetbrains.annotations.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T>?
|
||||
public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.Mutable p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @org.jetbrains.annotations.ReadOnly p0: kotlin.collections.Iterable<T>?): kotlin.Unit
|
||||
@kotlin.annotations.jvm.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>?
|
||||
@kotlin.annotations.jvm.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T>?
|
||||
public abstract fun setIterable(/*0*/ @kotlin.annotations.jvm.Mutable p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
|
||||
public abstract fun setReadOnlyIterable(/*0*/ @kotlin.annotations.jvm.ReadOnly p0: kotlin.collections.Iterable<T>?): kotlin.Unit
|
||||
}
|
||||
|
||||
public open class LoadIterableImpl</*0*/ T> : test.LoadIterableWithPropagation.LoadIterable<T> {
|
||||
|
||||
+13
-3
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM;
|
||||
import org.jetbrains.kotlin.cli.jvm.config.JvmContentRootsKt;
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
|
||||
import org.jetbrains.kotlin.config.*;
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
||||
@@ -118,7 +119,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
||||
if (useTypeTableInSerializer) {
|
||||
configuration.put(JVMConfigurationKeys.USE_TYPE_TABLE, true);
|
||||
}
|
||||
updateConfigurationWithLanguageVersionDirective(ktFile, configuration);
|
||||
updateConfigurationWithDirectives(ktFile, configuration);
|
||||
|
||||
KotlinCoreEnvironment environment =
|
||||
KotlinCoreEnvironment.createForTests(getTestRootDisposable(), configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
||||
@@ -145,8 +146,9 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
||||
compareDescriptors(packageFromSource, packageFromBinary, comparatorConfiguration, txtFile);
|
||||
}
|
||||
|
||||
private static void updateConfigurationWithLanguageVersionDirective(File file, CompilerConfiguration configuration) throws IOException {
|
||||
String version = InTextDirectivesUtils.findStringWithPrefixes(FileUtil.loadFile(file, true), "// LANGUAGE_VERSION:");
|
||||
private static void updateConfigurationWithDirectives(File file, CompilerConfiguration configuration) throws IOException {
|
||||
String content = FileUtil.loadFile(file, true);
|
||||
String version = InTextDirectivesUtils.findStringWithPrefixes(content, "// LANGUAGE_VERSION:");
|
||||
if (version != null) {
|
||||
LanguageVersion explicitVersion = LanguageVersion.fromVersionString(version);
|
||||
CommonConfigurationKeysKt.setLanguageVersionSettings(
|
||||
@@ -154,6 +156,14 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
||||
new LanguageVersionSettingsImpl(explicitVersion, ApiVersion.createByLanguageVersion(explicitVersion))
|
||||
);
|
||||
}
|
||||
|
||||
if (InTextDirectivesUtils.isDirectiveDefined(content, "ANDROID_ANNOTATIONS")) {
|
||||
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.androidAnnotationsForTests());
|
||||
}
|
||||
|
||||
if (InTextDirectivesUtils.isDirectiveDefined(content, "JVM_ANNOTATIONS")) {
|
||||
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.jvmAnnotationsForTests());
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean useFastClassFilesReading() {
|
||||
|
||||
@@ -87,7 +87,9 @@ public class LoadDescriptorUtil {
|
||||
@Nullable LanguageVersionSettings explicitLanguageVersionSettings
|
||||
) {
|
||||
List<File> javaBinaryRoots = new ArrayList<>();
|
||||
// TODO: use the same additional binary roots as those were used for compilation
|
||||
javaBinaryRoots.add(KotlinTestUtils.getAnnotationsJar());
|
||||
javaBinaryRoots.add(ForTestCompileRuntime.jvmAnnotationsForTests());
|
||||
|
||||
List<File> javaSourceRoots = new ArrayList<>();
|
||||
javaSourceRoots.add(new File("compiler/testData/loadJava/include"));
|
||||
@@ -127,6 +129,10 @@ public class LoadDescriptorUtil {
|
||||
if (InTextDirectivesUtils.isDirectiveDefined(content, "ANDROID_ANNOTATIONS")) {
|
||||
classpath.add(ForTestCompileRuntime.androidAnnotationsForTests());
|
||||
}
|
||||
|
||||
if (InTextDirectivesUtils.isDirectiveDefined(content, "JVM_ANNOTATIONS")) {
|
||||
classpath.add(ForTestCompileRuntime.jvmAnnotationsForTests());
|
||||
}
|
||||
}
|
||||
|
||||
KotlinTestUtils.compileJavaFiles(javaFiles, Arrays.asList(
|
||||
|
||||
Reference in New Issue
Block a user