Не удается разрешить символы @ReadOnly и @Mutable в компиляции Kotlin 1.1.0
При компиляции с Kotlin 1.1.0 я получил ошибки "Не удается разрешить символ ReadOnly" и "Не удается разрешить изменяемый символ". Разве @ReadOnly и @Mutable недоступны в Kotlin 1.1.0? Ниже приведен пример кода.
SampleList.java Kotlin 1.0.7
import org.jetbrains.annotations.Mutable;
import org.jetbrains.annotations.ReadOnly;
import java.util.ArrayList;
import java.util.List;
public class SampleList {
@ReadOnly // Can resolve symbol 'ReadOnly'
public static List<Integer> getReadOnlyList() {
return new ArrayList<>();
}
@Mutable // Can resolve symbol 'Mutable'
public static List<Integer> getMutableList() {
return new ArrayList<>();
}
}
SampleList.java Kotlin 1.1.0
import org.jetbrains.annotations.Mutable;
import org.jetbrains.annotations.ReadOnly;
import java.util.ArrayList;
import java.util.List;
public class SampleList {
@ReadOnly // Cannot resolve symbol 'ReadOnly'
public static List<Integer> getReadOnlyList() {
return new ArrayList<>();
}
@Mutable // Cannot resolve symbol 'Mutable'
public static List<Integer> getMutableList() {
return new ArrayList<>();
}
}
Заранее спасибо.
1 ответ
Решение
Мне жаль. Добавление kotlin-компилятора включено @Mutable и @ReadOnly. Настройки build.gradle следующие.
// build.gradle
dependencies {
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-compiler:$kotlin_version" // Added
...
}