Tests, messages and infra for deprecated symbol reporting
This commit is contained in:
@@ -217,6 +217,9 @@ public interface Errors {
|
|||||||
|
|
||||||
DiagnosticFactory0<JetObjectDeclaration> DEPRECATED_CLASS_OBJECT_SYNTAX = DiagnosticFactory0.create(WARNING);
|
DiagnosticFactory0<JetObjectDeclaration> DEPRECATED_CLASS_OBJECT_SYNTAX = DiagnosticFactory0.create(WARNING);
|
||||||
|
|
||||||
|
DiagnosticFactory1<PsiElement, DeclarationDescriptor> DEPRECATED_SYMBOL = DiagnosticFactory1.create(WARNING);
|
||||||
|
DiagnosticFactory2<PsiElement, DeclarationDescriptor, String> DEPRECATED_SYMBOL_WITH_MESSAGE = DiagnosticFactory2.create(WARNING);
|
||||||
|
|
||||||
// Objects
|
// Objects
|
||||||
|
|
||||||
DiagnosticFactory1<JetObjectDeclaration, ClassDescriptor> LOCAL_OBJECT_NOT_ALLOWED = DiagnosticFactory1.create(ERROR, DECLARATION_NAME);
|
DiagnosticFactory1<JetObjectDeclaration, ClassDescriptor> LOCAL_OBJECT_NOT_ALLOWED = DiagnosticFactory1.create(ERROR, DECLARATION_NAME);
|
||||||
|
|||||||
+2
@@ -252,6 +252,8 @@ public class DefaultErrorMessages {
|
|||||||
MAP.put(COMPANION_OBJECT_NOT_ALLOWED, "A companion object is not allowed here");
|
MAP.put(COMPANION_OBJECT_NOT_ALLOWED, "A companion object is not allowed here");
|
||||||
|
|
||||||
MAP.put(DEPRECATED_CLASS_OBJECT_SYNTAX, "'class object' syntax for companion objects was deprecated. Use 'companion' modifier instead");
|
MAP.put(DEPRECATED_CLASS_OBJECT_SYNTAX, "'class object' syntax for companion objects was deprecated. Use 'companion' modifier instead");
|
||||||
|
MAP.put(DEPRECATED_SYMBOL, "''{0}'' is deprecated.", DEPRECATION);
|
||||||
|
MAP.put(DEPRECATED_SYMBOL_WITH_MESSAGE, "''{0}'' is deprecated. {1}", DEPRECATION, STRING);
|
||||||
|
|
||||||
MAP.put(LOCAL_OBJECT_NOT_ALLOWED, "Named object ''{0}'' is a singleton and cannot be local. Try to use anonymous object instead", NAME);
|
MAP.put(LOCAL_OBJECT_NOT_ALLOWED, "Named object ''{0}'' is a singleton and cannot be local. Try to use anonymous object instead", NAME);
|
||||||
MAP.put(LOCAL_ENUM_NOT_ALLOWED, "Enum class ''{0}'' cannot be local", NAME);
|
MAP.put(LOCAL_ENUM_NOT_ALLOWED, "Enum class ''{0}'' cannot be local", NAME);
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
deprecated("text")
|
||||||
|
annotation class obsolete()
|
||||||
|
|
||||||
|
deprecated("text")
|
||||||
|
annotation class obsoleteWithParam(val text: String)
|
||||||
|
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>obsolete<!> class Obsolete
|
||||||
|
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>obsoleteWithParam<!>("text") class Obsolete2
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
obsolete() internal final class Obsolete {
|
||||||
|
public constructor Obsolete()
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
obsoleteWithParam(text = "text": kotlin.String) internal final class Obsolete2 {
|
||||||
|
public constructor Obsolete2()
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final annotation class obsolete : kotlin.Annotation {
|
||||||
|
public constructor obsolete()
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final annotation class obsoleteWithParam : kotlin.Annotation {
|
||||||
|
public constructor obsoleteWithParam(/*0*/ text: kotlin.String)
|
||||||
|
internal final val text: kotlin.String
|
||||||
|
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
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
deprecated("text")
|
||||||
|
fun component1(): String = throw Exception()
|
||||||
|
fun component2(): String = throw Exception()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun use() {
|
||||||
|
val (<!DEPRECATED_SYMBOL_WITH_MESSAGE!>x<!>, y) = Data()
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal fun use(): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class Data {
|
||||||
|
public constructor Data()
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final fun component1(): kotlin.String
|
||||||
|
internal final fun component2(): kotlin.String
|
||||||
|
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
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// !DIAGNOSTICS: -UNUSED_EXPRESSION, -REFLECTION_TYPES_NOT_LOADED
|
||||||
|
|
||||||
|
class UsefulClass(val param: Int = 2) {
|
||||||
|
fun get(instance: Any, property: PropertyMetadata) : Int = 1
|
||||||
|
fun set(instance: Any, property: PropertyMetadata, value: Int) {}
|
||||||
|
|
||||||
|
deprecated("message")
|
||||||
|
fun member() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
deprecated("message")
|
||||||
|
fun Obsolete(param: Int = 1): UsefulClass = UsefulClass(param)
|
||||||
|
|
||||||
|
class Invocable {
|
||||||
|
deprecated("message")
|
||||||
|
fun invoke() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
object InvocableHolder {
|
||||||
|
val invocable = Invocable()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun invoker() {
|
||||||
|
val invocable = Invocable()
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>invocable<!>()
|
||||||
|
InvocableHolder.<!DEPRECATED_SYMBOL_WITH_MESSAGE!>invocable<!>()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun block() {
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun expression() = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
|
||||||
|
fun reflection() = ::<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>
|
||||||
|
fun reflection2() = UsefulClass::<!DEPRECATED_SYMBOL_WITH_MESSAGE!>member<!>
|
||||||
|
|
||||||
|
class Initializer {
|
||||||
|
val x = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
}
|
||||||
|
|
||||||
|
deprecated("does nothing good")
|
||||||
|
fun Any.doNothing() = this.toString() // "this" should not be marked as deprecated despite it referes to deprecated function
|
||||||
|
|
||||||
|
class Delegation {
|
||||||
|
val x by <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
var y by <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "message": kotlin.String) internal fun Obsolete(/*0*/ param: kotlin.Int = ...): UsefulClass
|
||||||
|
internal fun block(): kotlin.Unit
|
||||||
|
internal fun expression(): UsefulClass
|
||||||
|
internal fun invoker(): kotlin.Unit
|
||||||
|
internal fun reflection(): [ERROR : Error function type]
|
||||||
|
internal fun reflection2(): [ERROR : Error function type]
|
||||||
|
kotlin.deprecated(value = "does nothing good": kotlin.String) internal fun kotlin.Any.doNothing(): kotlin.String
|
||||||
|
|
||||||
|
internal final class Delegation {
|
||||||
|
public constructor Delegation()
|
||||||
|
internal final val x: kotlin.Int
|
||||||
|
internal final var y: kotlin.Int
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class Initializer {
|
||||||
|
public constructor Initializer()
|
||||||
|
internal final val x: UsefulClass
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class Invocable {
|
||||||
|
public constructor Invocable()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
kotlin.deprecated(value = "message": kotlin.String) internal final fun invoke(): kotlin.Unit
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
internal object InvocableHolder {
|
||||||
|
private constructor InvocableHolder()
|
||||||
|
internal final val invocable: Invocable
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class UsefulClass {
|
||||||
|
public constructor UsefulClass(/*0*/ param: kotlin.Int = ...)
|
||||||
|
internal final val param: kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
internal final fun get(/*0*/ instance: kotlin.Any, /*1*/ property: kotlin.PropertyMetadata): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
kotlin.deprecated(value = "message": kotlin.String) internal final fun member(): kotlin.Unit
|
||||||
|
internal final fun set(/*0*/ instance: kotlin.Any, /*1*/ property: kotlin.PropertyMetadata, /*2*/ value: kotlin.Int): kotlin.Unit
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import <!DEPRECATED_SYMBOL_WITH_MESSAGE!>C<!> as C2
|
||||||
|
|
||||||
|
deprecated("obsolete")
|
||||||
|
class C {
|
||||||
|
fun use() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun useAlias(c : <!DEPRECATED_SYMBOL_WITH_MESSAGE!>C2<!>) { c.use() }
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal fun useAlias(/*0*/ c: C): kotlin.Unit
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "obsolete": kotlin.String) internal final class C {
|
||||||
|
public constructor C()
|
||||||
|
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
|
||||||
|
internal final fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
class Iter {
|
||||||
|
deprecated("text")
|
||||||
|
fun iterator() : IterIterator = throw Exception()
|
||||||
|
|
||||||
|
class IterIterator {
|
||||||
|
fun hasNext(): Boolean = throw UnsupportedOperationException()
|
||||||
|
fun next(): String = throw UnsupportedOperationException()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Iter2 {
|
||||||
|
fun iterator() : Iter2Iterator = throw Exception()
|
||||||
|
class Iter2Iterator {
|
||||||
|
deprecated("text")
|
||||||
|
fun hasNext(): Boolean = throw UnsupportedOperationException()
|
||||||
|
deprecated("text")
|
||||||
|
fun next(): String = throw UnsupportedOperationException()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun use() {
|
||||||
|
for (x in <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Iter()<!>) {}
|
||||||
|
for (x in <!DEPRECATED_SYMBOL_WITH_MESSAGE, DEPRECATED_SYMBOL_WITH_MESSAGE!>Iter2()<!>) {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal fun use(): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class Iter {
|
||||||
|
public constructor Iter()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final fun iterator(): Iter.IterIterator
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|
||||||
|
internal final class IterIterator {
|
||||||
|
public constructor IterIterator()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
internal final fun hasNext(): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
internal final fun next(): kotlin.String
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class Iter2 {
|
||||||
|
public constructor Iter2()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
internal final fun iterator(): Iter2.Iter2Iterator
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|
||||||
|
internal final class Iter2Iterator {
|
||||||
|
public constructor Iter2Iterator()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final fun hasNext(): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final fun next(): kotlin.String
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// !DIAGNOSTICS: -NO_VALUE_FOR_PARAMETER
|
||||||
|
// FILE: A.java
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
public class A {
|
||||||
|
@Deprecated
|
||||||
|
public String getFoo(String text) {
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: B.kt
|
||||||
|
|
||||||
|
class B(private [deprecated] val foo: String) : <!DEPRECATED_SYMBOL_WITH_MESSAGE!>A<!>() {
|
||||||
|
override fun getFoo(text: String): String = super.<!DEPRECATED_SYMBOL_WITH_MESSAGE!>getFoo<!>(text + <!DEPRECATED_SYMBOL!>foo<!>)
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open class A {
|
||||||
|
public constructor A()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open fun getFoo(/*0*/ text: kotlin.String!): kotlin.String!
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class B : A {
|
||||||
|
public constructor B(/*0*/ kotlin.deprecated() foo: kotlin.String)
|
||||||
|
kotlin.deprecated() private final val foo: kotlin.String
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ fun getFoo(/*0*/ text: kotlin.String): kotlin.String
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
class TopLevel {
|
||||||
|
deprecated("Nested")
|
||||||
|
class Nested {
|
||||||
|
companion object {
|
||||||
|
fun use() {}
|
||||||
|
|
||||||
|
class CompanionNested2
|
||||||
|
}
|
||||||
|
|
||||||
|
class Nested2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun useNested() {
|
||||||
|
val <!UNUSED_VARIABLE!>d<!> = TopLevel.<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Nested<!>.use()
|
||||||
|
TopLevel.<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Nested<!>.Nested2()
|
||||||
|
TopLevel.<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Nested<!>.<!UNRESOLVED_REFERENCE!>CompanionNested2<!>()
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal fun useNested(): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class TopLevel {
|
||||||
|
public constructor TopLevel()
|
||||||
|
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
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "Nested": kotlin.String) internal final class Nested {
|
||||||
|
public constructor Nested()
|
||||||
|
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
|
||||||
|
|
||||||
|
internal companion object Companion {
|
||||||
|
private constructor Companion()
|
||||||
|
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
|
||||||
|
internal final fun use(): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class CompanionNested2 {
|
||||||
|
public constructor CompanionNested2()
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class Nested2 {
|
||||||
|
public constructor Nested2()
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
deprecated("Object")
|
||||||
|
object Obsolete {
|
||||||
|
fun use() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Another {
|
||||||
|
deprecated("Object")
|
||||||
|
companion object {
|
||||||
|
fun use() {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun first() {
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Another<!>.use()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun useObject() {
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>.use()
|
||||||
|
val <!UNUSED_VARIABLE!>x<!> = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
fun useCompanion() {
|
||||||
|
val <!UNUSED_VARIABLE!>d<!> = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Another<!>
|
||||||
|
val <!UNUSED_VARIABLE!>x<!> = Another.<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Companion<!>
|
||||||
|
Another.<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Companion<!>.use()
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Another<!>.use()
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal fun first(): kotlin.Unit
|
||||||
|
internal fun useCompanion(): kotlin.Unit
|
||||||
|
internal fun useObject(): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class Another {
|
||||||
|
public constructor Another()
|
||||||
|
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
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "Object": kotlin.String) internal companion object Companion {
|
||||||
|
private constructor Companion()
|
||||||
|
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
|
||||||
|
internal final fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "Object": kotlin.String) internal object Obsolete {
|
||||||
|
private constructor Obsolete()
|
||||||
|
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
|
||||||
|
internal final fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
// !DIAGNOSTICS: -UNUSED_EXPRESSION, -REFLECTION_TYPES_NOT_LOADED
|
||||||
|
|
||||||
|
class Delegate() {
|
||||||
|
deprecated("text")
|
||||||
|
fun get(instance: Any, property: PropertyMetadata) : Int = 1
|
||||||
|
|
||||||
|
deprecated("text")
|
||||||
|
fun set(instance: Any, property: PropertyMetadata, value: Int) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
class PropertyHolder {
|
||||||
|
deprecated("text")
|
||||||
|
val x = 1
|
||||||
|
|
||||||
|
deprecated("text")
|
||||||
|
var name = "String"
|
||||||
|
|
||||||
|
val valDelegate <!DEPRECATED_SYMBOL_WITH_MESSAGE!>by<!> Delegate()
|
||||||
|
var varDelegate <!DEPRECATED_SYMBOL_WITH_MESSAGE, DEPRECATED_SYMBOL_WITH_MESSAGE!>by<!> Delegate()
|
||||||
|
|
||||||
|
public val test1: String = ""
|
||||||
|
[deprecated("val-getter")] get
|
||||||
|
|
||||||
|
public var test2: String = ""
|
||||||
|
[deprecated("var-getter")] get
|
||||||
|
[deprecated("var-setter")] set
|
||||||
|
|
||||||
|
public var test3: String = ""
|
||||||
|
[deprecated("var-getter")] get
|
||||||
|
set
|
||||||
|
|
||||||
|
public var test4: String = ""
|
||||||
|
get
|
||||||
|
[deprecated("var-setter")] set
|
||||||
|
}
|
||||||
|
|
||||||
|
fun PropertyHolder.extFunction() {
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>test2<!> = "ext"
|
||||||
|
<!DEPRECATED_SYMBOL_WITH_MESSAGE!>test1<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
fun fn() {
|
||||||
|
PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>test1<!>
|
||||||
|
PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>test2<!>
|
||||||
|
PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>test2<!> = ""
|
||||||
|
|
||||||
|
PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>test3<!>
|
||||||
|
PropertyHolder().test3 = ""
|
||||||
|
|
||||||
|
PropertyHolder().test4
|
||||||
|
PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>test4<!> = ""
|
||||||
|
|
||||||
|
val <!UNUSED_VARIABLE!>a<!> = PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>x<!>
|
||||||
|
val <!UNUSED_VARIABLE!>b<!> = PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>name<!>
|
||||||
|
PropertyHolder().<!DEPRECATED_SYMBOL_WITH_MESSAGE!>name<!> = "value"
|
||||||
|
|
||||||
|
val <!UNUSED_VARIABLE!>d<!> = PropertyHolder().valDelegate
|
||||||
|
PropertyHolder().varDelegate = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
fun literals() {
|
||||||
|
PropertyHolder::test1
|
||||||
|
PropertyHolder::<!DEPRECATED_SYMBOL_WITH_MESSAGE!>name<!>
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal fun fn(): kotlin.Unit
|
||||||
|
internal fun literals(): kotlin.Unit
|
||||||
|
internal fun PropertyHolder.extFunction(): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class Delegate {
|
||||||
|
public constructor Delegate()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final fun get(/*0*/ instance: kotlin.Any, /*1*/ property: kotlin.PropertyMetadata): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final fun set(/*0*/ instance: kotlin.Any, /*1*/ property: kotlin.PropertyMetadata, /*2*/ value: kotlin.Int): kotlin.Unit
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class PropertyHolder {
|
||||||
|
public constructor PropertyHolder()
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final var name: kotlin.String
|
||||||
|
public final val test1: kotlin.String = ""
|
||||||
|
public final var test2: kotlin.String
|
||||||
|
public final var test3: kotlin.String
|
||||||
|
public final var test4: kotlin.String
|
||||||
|
internal final val valDelegate: kotlin.Int
|
||||||
|
internal final var varDelegate: kotlin.Int
|
||||||
|
kotlin.deprecated(value = "text": kotlin.String) internal final val x: kotlin.Int = 1
|
||||||
|
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
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
deprecated("Class")
|
||||||
|
open class Obsolete {
|
||||||
|
fun use() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
deprecated("Class")
|
||||||
|
open class Obsolete2 [deprecated("Constructor")]() {
|
||||||
|
fun use() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
trait Generic<T>
|
||||||
|
|
||||||
|
open class Derived() : <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
|
||||||
|
class Derived2() : Derived()
|
||||||
|
|
||||||
|
class TypeParam : Generic<<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>>
|
||||||
|
|
||||||
|
object Object : <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
|
||||||
|
class Properties {
|
||||||
|
val x : <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!> = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
var y : <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!> = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
|
||||||
|
var n : <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>
|
||||||
|
get() = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
set(value) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun param(param: <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>) { param.use() }
|
||||||
|
|
||||||
|
fun funcParamReceiver(param: <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>.()->Unit) { <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>().param() }
|
||||||
|
fun funcParamParam(param: (<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>)->Unit) { param(<!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()) }
|
||||||
|
fun funcParamRetVal(param: ()-><!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>) { param() }
|
||||||
|
|
||||||
|
fun constraint<T: <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>>() {}
|
||||||
|
|
||||||
|
fun <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>.receiver() {}
|
||||||
|
|
||||||
|
fun retVal(): <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!> = <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>()
|
||||||
|
|
||||||
|
fun nullableRetVal(): <!DEPRECATED_SYMBOL_WITH_MESSAGE!>Obsolete<!>? = null
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal fun </*0*/ T : Obsolete> constraint(): kotlin.Unit
|
||||||
|
internal fun funcParamParam(/*0*/ param: (Obsolete) -> kotlin.Unit): kotlin.Unit
|
||||||
|
internal fun funcParamReceiver(/*0*/ param: Obsolete.() -> kotlin.Unit): kotlin.Unit
|
||||||
|
internal fun funcParamRetVal(/*0*/ param: () -> Obsolete): kotlin.Unit
|
||||||
|
internal fun nullableRetVal(): Obsolete?
|
||||||
|
internal fun param(/*0*/ param: Obsolete): kotlin.Unit
|
||||||
|
internal fun retVal(): Obsolete
|
||||||
|
internal fun Obsolete.receiver(): kotlin.Unit
|
||||||
|
|
||||||
|
internal open class Derived : Obsolete {
|
||||||
|
public constructor Derived()
|
||||||
|
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
|
||||||
|
internal final override /*1*/ /*fake_override*/ fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class Derived2 : Derived {
|
||||||
|
public constructor Derived2()
|
||||||
|
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
|
||||||
|
internal final override /*1*/ /*fake_override*/ fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
|
|
||||||
|
internal trait Generic</*0*/ T> {
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
internal object Object : Obsolete {
|
||||||
|
private constructor Object()
|
||||||
|
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
|
||||||
|
internal final override /*1*/ /*fake_override*/ fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "Class": kotlin.String) internal open class Obsolete {
|
||||||
|
public constructor Obsolete()
|
||||||
|
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
|
||||||
|
internal final fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin.deprecated(value = "Class": kotlin.String) internal open class Obsolete2 {
|
||||||
|
kotlin.deprecated(value = "Constructor": kotlin.String) public constructor Obsolete2()
|
||||||
|
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
|
||||||
|
internal final fun use(): kotlin.Unit
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class Properties {
|
||||||
|
public constructor Properties()
|
||||||
|
internal final var n: Obsolete
|
||||||
|
internal final val x: Obsolete
|
||||||
|
internal final var y: Obsolete
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
internal final class TypeParam : Generic<Obsolete> {
|
||||||
|
public constructor TypeParam()
|
||||||
|
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
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fun test(d: dynamic) {
|
fun test(d: dynamic) {
|
||||||
val a = array(1, 2, 3)
|
val a = arrayOf(1, 2, 3)
|
||||||
|
|
||||||
d.foo(*d)
|
d.foo(*d)
|
||||||
d.foo(*a)
|
d.foo(*a)
|
||||||
|
|||||||
+10
-10
@@ -1,10 +1,10 @@
|
|||||||
annotation class Ann(val i: IntArray)
|
annotation class Ann(val i: IntArray)
|
||||||
|
|
||||||
Ann(intArray(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>))
|
Ann(intArrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>))
|
||||||
Ann(intArray(i2))
|
Ann(intArrayOf(i2))
|
||||||
Ann(intArray(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
Ann(intArrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
||||||
Ann(intArray(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
Ann(intArrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
||||||
Ann(intArray(<!TYPE_MISMATCH!>intArray(i, i2, i3)<!>))
|
Ann(intArrayOf(<!TYPE_MISMATCH!>intArrayOf(i, i2, i3)<!>))
|
||||||
class Test
|
class Test
|
||||||
|
|
||||||
var i = 1
|
var i = 1
|
||||||
@@ -14,13 +14,13 @@ val i3 = foo()
|
|||||||
fun foo(): Int = 1
|
fun foo(): Int = 1
|
||||||
|
|
||||||
annotation class AnnJC(val i: Array<Class<*>>)
|
annotation class AnnJC(val i: Array<Class<*>>)
|
||||||
AnnJC(array(javaClass<Test>()))
|
AnnJC(arrayOf(javaClass<Test>()))
|
||||||
AnnJC(array(<!ANNOTATION_PARAMETER_MUST_BE_CLASS_LITERAL!>iJC<!>))
|
AnnJC(arrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CLASS_LITERAL!>iJC<!>))
|
||||||
class TestJC
|
class TestJC
|
||||||
val iJC = javaClass<Test>()
|
val iJC = javaClass<Test>()
|
||||||
|
|
||||||
annotation class AnnAnn(val i: Array<Ann>)
|
annotation class AnnAnn(val i: Array<Ann>)
|
||||||
AnnAnn(array(Ann(intArray(1))))
|
AnnAnn(arrayOf(Ann(intArrayOf(1))))
|
||||||
AnnAnn(array(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>iAnn<!>))
|
AnnAnn(arrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>iAnn<!>))
|
||||||
class TestAnn
|
class TestAnn
|
||||||
val iAnn = <!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann(intArray(1))<!>
|
val iAnn = <!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann(intArrayOf(1))<!>
|
||||||
+2
-2
@@ -21,7 +21,7 @@ class MyClass {
|
|||||||
val i = 1
|
val i = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
val ia: IntArray = intArray(1, 2)
|
val ia: IntArray = intArrayOf(1, 2)
|
||||||
val sa: Array<String> = array("a", "b")
|
val sa: Array<String> = arrayOf("a", "b")
|
||||||
|
|
||||||
annotation class Ann2
|
annotation class Ann2
|
||||||
|
|||||||
+8
-8
@@ -4,10 +4,10 @@ Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>)
|
|||||||
Ann(i2)
|
Ann(i2)
|
||||||
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>)
|
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>)
|
||||||
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>)
|
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>)
|
||||||
Ann(*intArray(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>))
|
Ann(*intArrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>))
|
||||||
Ann(*intArray(i2))
|
Ann(*intArrayOf(i2))
|
||||||
Ann(*intArray(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
Ann(*intArrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
||||||
Ann(*intArray(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
Ann(*intArrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_PARAMETER_MUST_BE_CONST!>i3<!>))
|
||||||
class Test
|
class Test
|
||||||
|
|
||||||
var i = 1
|
var i = 1
|
||||||
@@ -17,13 +17,13 @@ val i3 = foo()
|
|||||||
fun foo(): Int = 1
|
fun foo(): Int = 1
|
||||||
|
|
||||||
annotation class AnnJC(vararg val i: Class<*>)
|
annotation class AnnJC(vararg val i: Class<*>)
|
||||||
AnnJC(*array(javaClass<Test>()))
|
AnnJC(*arrayOf(javaClass<Test>()))
|
||||||
AnnJC(*array(<!ANNOTATION_PARAMETER_MUST_BE_CLASS_LITERAL!>iJC<!>))
|
AnnJC(*arrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CLASS_LITERAL!>iJC<!>))
|
||||||
class TestJC
|
class TestJC
|
||||||
val iJC = javaClass<Test>()
|
val iJC = javaClass<Test>()
|
||||||
|
|
||||||
annotation class AnnAnn(vararg val i: Ann)
|
annotation class AnnAnn(vararg val i: Ann)
|
||||||
AnnAnn(*array(Ann(1)))
|
AnnAnn(*arrayOf(Ann(1)))
|
||||||
AnnAnn(*array(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>iAnn<!>))
|
AnnAnn(*arrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>iAnn<!>))
|
||||||
class TestAnn
|
class TestAnn
|
||||||
val iAnn = <!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann(1)<!>
|
val iAnn = <!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann(1)<!>
|
||||||
+5
-5
@@ -7,20 +7,20 @@ public @interface A {
|
|||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
A(<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Int>()<!>,
|
A(<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Int>()<!>,
|
||||||
<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Any>()<!>,
|
<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Any>()<!>,
|
||||||
arg = <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>array(javaClass<String>(), javaClass<Double>())<!>)
|
arg = <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>arrayOf(javaClass<String>(), javaClass<Double>())<!>)
|
||||||
class MyClass1
|
class MyClass1
|
||||||
|
|
||||||
A(<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Int>()<!>, <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Any>()<!>)
|
A(<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Int>()<!>, <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>javaClass<Any>()<!>)
|
||||||
class MyClass2
|
class MyClass2
|
||||||
|
|
||||||
A(arg = <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>array(javaClass<String>(), javaClass<Double>())<!>)
|
A(arg = <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>arrayOf(javaClass<String>(), javaClass<Double>())<!>)
|
||||||
class MyClass3
|
class MyClass3
|
||||||
|
|
||||||
A class MyClass4
|
A class MyClass4
|
||||||
|
|
||||||
A(value = *<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>array(javaClass<Int>(), javaClass<Any>())<!>,
|
A(value = *<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>arrayOf(javaClass<Int>(), javaClass<Any>())<!>,
|
||||||
arg = <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>array(javaClass<String>(), javaClass<Double>())<!>)
|
arg = <!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>arrayOf(javaClass<String>(), javaClass<Double>())<!>)
|
||||||
class MyClass5
|
class MyClass5
|
||||||
|
|
||||||
A(value = *<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>array(javaClass<Int>(), javaClass<Any>())<!>)
|
A(value = *<!JAVA_LANG_CLASS_ARGUMENT_IN_ANNOTATION!>arrayOf(javaClass<Int>(), javaClass<Any>())<!>)
|
||||||
class MyClass6
|
class MyClass6
|
||||||
|
|||||||
+2
-2
@@ -10,13 +10,13 @@ public @interface A {
|
|||||||
|
|
||||||
[A("4", y = 2)] fun test2() {}
|
[A("4", y = 2)] fun test2() {}
|
||||||
|
|
||||||
[A(*array("5", "6"), "7", y = 3)] fun test3() {}
|
[A(*arrayOf("5", "6"), "7", y = 3)] fun test3() {}
|
||||||
|
|
||||||
[A("1", "2", "3", x = String::class, y = 4)] fun test4() {}
|
[A("1", "2", "3", x = String::class, y = 4)] fun test4() {}
|
||||||
|
|
||||||
[A("4", y = 5)] fun test5() {}
|
[A("4", y = 5)] fun test5() {}
|
||||||
|
|
||||||
[A(*array("5", "6"), "7", x = Any::class, y = 6)] fun test6() {}
|
[A(*arrayOf("5", "6"), "7", x = Any::class, y = 6)] fun test6() {}
|
||||||
|
|
||||||
[A(y = 7)] fun test7() {}
|
[A(y = 7)] fun test7() {}
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -10,18 +10,18 @@ public @interface A {
|
|||||||
|
|
||||||
[A("4")] fun test2() {}
|
[A("4")] fun test2() {}
|
||||||
|
|
||||||
[A(*array("5", "6"), "7")] fun test3() {}
|
[A(*arrayOf("5", "6"), "7")] fun test3() {}
|
||||||
|
|
||||||
[A("1", "2", "3", x = String::class)] fun test4() {}
|
[A("1", "2", "3", x = String::class)] fun test4() {}
|
||||||
|
|
||||||
[A("4", y = 2)] fun test5() {}
|
[A("4", y = 2)] fun test5() {}
|
||||||
|
|
||||||
[A(*array("5", "6"), "7", x = Any::class, y = 3)] fun test6() {}
|
[A(*arrayOf("5", "6"), "7", x = Any::class, y = 3)] fun test6() {}
|
||||||
|
|
||||||
[A()] fun test7() {}
|
[A()] fun test7() {}
|
||||||
|
|
||||||
[A] fun test8() {}
|
[A] fun test8() {}
|
||||||
|
|
||||||
[A(x = Any::class, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>*array("5", "6")<!>, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"7"<!>, y = 3)] fun test9() {}
|
[A(x = Any::class, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>*arrayOf("5", "6")<!>, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"7"<!>, y = 3)] fun test9() {}
|
||||||
[A(x = Any::class, value = *array("5", "6"), <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"7"<!>, y = 3)] fun test10() {}
|
[A(x = Any::class, value = *arrayOf("5", "6"), <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"7"<!>, y = 3)] fun test10() {}
|
||||||
[A(x = Any::class, value = *array("5", "6", "7"), y = 3)] fun test11() {}
|
[A(x = Any::class, value = *arrayOf("5", "6", "7"), y = 3)] fun test11() {}
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ public @interface A {
|
|||||||
|
|
||||||
[A("4")] fun test2() {}
|
[A("4")] fun test2() {}
|
||||||
|
|
||||||
[A(*array("5", "6"), "7")] fun test3() {}
|
[A(*arrayOf("5", "6"), "7")] fun test3() {}
|
||||||
|
|
||||||
[A()] fun test4() {}
|
[A()] fun test4() {}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ public @interface A {
|
|||||||
|
|
||||||
[A("4")] fun test2() {}
|
[A("4")] fun test2() {}
|
||||||
|
|
||||||
[A(*array("5", "6"), "7")] fun test3() {}
|
[A(*arrayOf("5", "6"), "7")] fun test3() {}
|
||||||
|
|
||||||
[A()] fun test4() {}
|
[A()] fun test4() {}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -4,6 +4,6 @@ public @interface A {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
[A(*<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH(kotlin.Array<out kotlin.String>; IGNORE)!>array<!>(1, "b"))]
|
[A(*<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH(kotlin.Array<out kotlin.String>; IGNORE)!>arrayOf<!>(1, "b"))]
|
||||||
fun test() {
|
fun test() {
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
annotation class B(vararg val args: String)
|
annotation class B(vararg val args: String)
|
||||||
|
|
||||||
[B(*<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH(kotlin.Array<out kotlin.String>; IGNORE)!>array<!>(1, "b"))]
|
[B(*<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH(kotlin.Array<out kotlin.String>; IGNORE)!>arrayOf<!>(1, "b"))]
|
||||||
fun test() {
|
fun test() {
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -6,7 +6,7 @@ public @interface A {
|
|||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
|
|
||||||
A(arg = array(javaClass<String>(), javaClass<Int>())) class MyClass1
|
A(arg = arrayOf(javaClass<String>(), javaClass<Int>())) class MyClass1
|
||||||
|
|
||||||
A(arg = <!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>array<!>(javaClass<String>(), Int::class)) class MyClass2
|
A(arg = <!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>arrayOf<!>(javaClass<String>(), Int::class)) class MyClass2
|
||||||
A(arg = <!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>array<!>(String::class, javaClass<Int>())) class MyClass3
|
A(arg = <!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>arrayOf<!>(String::class, javaClass<Int>())) class MyClass3
|
||||||
|
|||||||
+2
-2
@@ -7,9 +7,9 @@ public @interface A {
|
|||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
A(javaClass<String>(), javaClass<Int>()) class MyClass1
|
A(javaClass<String>(), javaClass<Int>()) class MyClass1
|
||||||
|
|
||||||
A(*array(javaClass<String>(), javaClass<Int>())) class MyClass2
|
A(*arrayOf(javaClass<String>(), javaClass<Int>())) class MyClass2
|
||||||
|
|
||||||
A(value = *array(javaClass<String>(), javaClass<Int>())) class MyClass3
|
A(value = *arrayOf(javaClass<String>(), javaClass<Int>())) class MyClass3
|
||||||
|
|
||||||
A(<!TYPE_MISMATCH!>javaClass<String>()<!>, Int::class) class MyClass4
|
A(<!TYPE_MISMATCH!>javaClass<String>()<!>, Int::class) class MyClass4
|
||||||
A(String::class, <!TYPE_MISMATCH!>javaClass<Int>()<!>) class MyClass5
|
A(String::class, <!TYPE_MISMATCH!>javaClass<Int>()<!>) class MyClass5
|
||||||
|
|||||||
+1
-1
@@ -4,4 +4,4 @@ public @interface A {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
A(arg = array(String::class, Int::class)) class MyClass
|
A(arg = arrayOf(String::class, Int::class)) class MyClass
|
||||||
|
|||||||
+2
-2
@@ -5,5 +5,5 @@ public @interface A {
|
|||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
A(String::class, Int::class) class MyClass1
|
A(String::class, Int::class) class MyClass1
|
||||||
A(*array(String::class, Int::class)) class MyClass2
|
A(*arrayOf(String::class, Int::class)) class MyClass2
|
||||||
A(value = *array(String::class, Int::class)) class MyClass3
|
A(value = *arrayOf(String::class, Int::class)) class MyClass3
|
||||||
|
|||||||
+6
-6
@@ -6,22 +6,22 @@ class B2 : A()
|
|||||||
|
|
||||||
annotation class Ann1(val arg: Array<KClass<in A>>)
|
annotation class Ann1(val arg: Array<KClass<in A>>)
|
||||||
|
|
||||||
Ann1(array(A::class))
|
Ann1(arrayOf(A::class))
|
||||||
class MyClass1
|
class MyClass1
|
||||||
|
|
||||||
Ann1(array(Any::class))
|
Ann1(arrayOf(Any::class))
|
||||||
class MyClass1a
|
class MyClass1a
|
||||||
|
|
||||||
Ann1(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>array<!>(B1::class))
|
Ann1(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>arrayOf<!>(B1::class))
|
||||||
class MyClass2
|
class MyClass2
|
||||||
|
|
||||||
annotation class Ann2(val arg: Array<KClass<in B1>>)
|
annotation class Ann2(val arg: Array<KClass<in B1>>)
|
||||||
|
|
||||||
Ann2(array(A::class))
|
Ann2(arrayOf(A::class))
|
||||||
class MyClass3
|
class MyClass3
|
||||||
|
|
||||||
Ann2(array(B1::class))
|
Ann2(arrayOf(B1::class))
|
||||||
class MyClass4
|
class MyClass4
|
||||||
|
|
||||||
Ann2(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>array<!>(B2::class))
|
Ann2(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>arrayOf<!>(B2::class))
|
||||||
class MyClass5
|
class MyClass5
|
||||||
|
|||||||
+6
-6
@@ -6,22 +6,22 @@ class B2 : A()
|
|||||||
|
|
||||||
annotation class Ann1(val arg: Array<KClass<out A>>)
|
annotation class Ann1(val arg: Array<KClass<out A>>)
|
||||||
|
|
||||||
Ann1(array(A::class))
|
Ann1(arrayOf(A::class))
|
||||||
class MyClass1
|
class MyClass1
|
||||||
|
|
||||||
Ann1(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>array<!>(Any::class))
|
Ann1(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>arrayOf<!>(Any::class))
|
||||||
class MyClass1a
|
class MyClass1a
|
||||||
|
|
||||||
Ann1(array(B1::class))
|
Ann1(arrayOf(B1::class))
|
||||||
class MyClass2
|
class MyClass2
|
||||||
|
|
||||||
annotation class Ann2(val arg: Array<KClass<out B1>>)
|
annotation class Ann2(val arg: Array<KClass<out B1>>)
|
||||||
|
|
||||||
Ann2(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>array<!>(A::class))
|
Ann2(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>arrayOf<!>(A::class))
|
||||||
class MyClass3
|
class MyClass3
|
||||||
|
|
||||||
Ann2(array(B1::class))
|
Ann2(arrayOf(B1::class))
|
||||||
class MyClass4
|
class MyClass4
|
||||||
|
|
||||||
Ann2(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>array<!>(B2::class))
|
Ann2(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>arrayOf<!>(B2::class))
|
||||||
class MyClass5
|
class MyClass5
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ class A2
|
|||||||
|
|
||||||
Ann1(A1::class)
|
Ann1(A1::class)
|
||||||
Ann2(A1::class, A2::class)
|
Ann2(A1::class, A2::class)
|
||||||
Ann3(array(A1::class, A2::class))
|
Ann3(arrayOf(A1::class, A2::class))
|
||||||
class MyClass1
|
class MyClass1
|
||||||
|
|
||||||
Ann1(<!ANNOTATION_PARAMETER_MUST_BE_CONST!><!UNRESOLVED_REFERENCE!>A3<!>::class<!>)
|
Ann1(<!ANNOTATION_PARAMETER_MUST_BE_CONST!><!UNRESOLVED_REFERENCE!>A3<!>::class<!>)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ ann3(a.b.c.A.IAnn())
|
|||||||
|
|
||||||
annJavaClass(kotlin.javaClass<A>())
|
annJavaClass(kotlin.javaClass<A>())
|
||||||
|
|
||||||
annArray(kotlin.array("a"))
|
annArray(kotlin.arrayOf("a"))
|
||||||
fun test() = 1
|
fun test() = 1
|
||||||
|
|
||||||
annotation class ann1(val p: deprecated = kotlin.deprecated("aaa"))
|
annotation class ann1(val p: deprecated = kotlin.deprecated("aaa"))
|
||||||
@@ -23,7 +23,7 @@ annotation class ann3(val p: A.IAnn = A.IAnn(), val p2: A.IAnn = a.b.c.A.IAnn())
|
|||||||
|
|
||||||
annotation class annJavaClass(val p: Class<*> = kotlin.javaClass<A>())
|
annotation class annJavaClass(val p: Class<*> = kotlin.javaClass<A>())
|
||||||
|
|
||||||
annotation class annArray(val p: Array<String> = kotlin.array("a"))
|
annotation class annArray(val p: Array<String> = kotlin.arrayOf("a"))
|
||||||
|
|
||||||
class A {
|
class A {
|
||||||
annotation class IAnn
|
annotation class IAnn
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
import kotlin.reflect.*
|
import kotlin.reflect.*
|
||||||
|
|
||||||
val String.countCharacters: Int
|
val String.countCharacters: Int
|
||||||
get() = length
|
get() = length()
|
||||||
|
|
||||||
var Int.meaning: Long
|
var Int.meaning: Long
|
||||||
get() = 42L
|
get() = 42L
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ fun <T> fail2(): Array<T> = ok1 { <!TYPE_PARAMETER_AS_REIFIED!>Array<!><T>(1) {
|
|||||||
fun <T> ok3(block: () -> Array<T>): Array<T> = ok1 { block() }
|
fun <T> ok3(block: () -> Array<T>): Array<T> = ok1 { block() }
|
||||||
inline fun <reified T> ok4(): Array<T> = ok1 { Array<T>(1) { null!! } }
|
inline fun <reified T> ok4(): Array<T> = ok1 { Array<T>(1) { null!! } }
|
||||||
|
|
||||||
fun <T> fail3(block: () -> T): Pair<Array<T>, Array<T>> = Pair(<!TYPE_PARAMETER_AS_REIFIED!>array<!>(
|
fun <T> fail3(block: () -> T): Pair<Array<T>, Array<T>> = Pair(<!TYPE_PARAMETER_AS_REIFIED!>arrayOf<!>(
|
||||||
block()), <!TYPE_PARAMETER_AS_REIFIED!>array<!>()
|
block()), <!TYPE_PARAMETER_AS_REIFIED!>arrayOf<!>()
|
||||||
)
|
)
|
||||||
inline fun <reified T> ok5(block: () -> T): Pair<Array<T>, Array<T>> = Pair(
|
inline fun <reified T> ok5(block: () -> T): Pair<Array<T>, Array<T>> = Pair(
|
||||||
array(block()), array()
|
arrayOf(block()), arrayOf()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
class A<T>(val x: Array<T>) {
|
class A<T>(val x: Array<T>) {
|
||||||
val y: Int = x[0].toString().length
|
val y: Int = x[0].toString().length()
|
||||||
|
|
||||||
fun foo(a: T) {
|
fun foo(a: T) {
|
||||||
x[0] = a
|
x[0] = a
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <R> bar(a: Array<R>): Int = a[0].toString().length
|
fun <R> bar(a: Array<R>): Int = a[0].toString().length()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> baz(a: Array<T>): String = a[0].toString()
|
fun <T> baz(a: Array<T>): String = a[0].toString()
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
inline fun<reified T> foo(block: () -> T): String = block().toString()
|
inline fun<reified T> foo(block: () -> T): String = block().toString()
|
||||||
|
|
||||||
fun box() {
|
fun box() {
|
||||||
val a = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>array<!>(null!!)
|
val a = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>arrayOf<!>(null!!)
|
||||||
val b = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>Array<!><Nothing?>(5) { null!! }
|
val b = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>Array<!><Nothing?>(5) { null!! }
|
||||||
val c = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>foo<!>() { null!! }
|
val c = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>foo<!>() { null!! }
|
||||||
val d = foo<Any> { null!! }
|
val d = foo<Any> { null!! }
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ public class A {
|
|||||||
|
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
A.main(array())
|
A.main(arrayOf())
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fun test() {
|
fun test() {
|
||||||
val p: Array<String> = array("a")
|
val p: Array<String> = arrayOf("a")
|
||||||
foo(*p)
|
foo(*p)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package hello
|
package hello
|
||||||
|
|
||||||
fun main(args : Array<String>) {
|
fun main(args : Array<String>) {
|
||||||
for (s in arrayList("a"))
|
for (s in arrayListOf("a"))
|
||||||
println("Hello, $s!")
|
println("Hello, $s!")
|
||||||
val java: String = j.Java().f()
|
val java: String = j.Java().f()
|
||||||
val hello: String = j.Java().f2()
|
val hello: String = j.Java().f2()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package hello
|
package hello
|
||||||
|
|
||||||
fun main(args : Array<String>) {
|
fun main(args : Array<String>) {
|
||||||
for (s in arrayList("a"))
|
for (s in arrayListOf("a"))
|
||||||
println("Hello, $s!")
|
println("Hello, $s!")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package hello
|
package hello
|
||||||
|
|
||||||
fun main(args : Array<String>) {
|
fun main(args : Array<String>) {
|
||||||
for (s in arrayList("a"))
|
for (s in arrayListOf("a"))
|
||||||
println("Hello, $s!")
|
println("Hello, $s!")
|
||||||
j.Java().f();
|
j.Java().f();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package hello
|
package hello
|
||||||
|
|
||||||
fun main(args : Array<String>) {
|
fun main(args : Array<String>) {
|
||||||
for (s in arrayList("a"))
|
for (s in arrayListOf("a"))
|
||||||
println("Hello, $s!")
|
println("Hello, $s!")
|
||||||
val java: String = j.Java().f()
|
val java: String = j.Java().f()
|
||||||
val hello: String = j.Java().f2()
|
val hello: String = j.Java().f2()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package hello
|
package hello
|
||||||
|
|
||||||
fun main(args : Array<String>) {
|
fun main(args : Array<String>) {
|
||||||
for (s in arrayList("a"))
|
for (s in arrayListOf("a"))
|
||||||
println("Hello, $s!")
|
println("Hello, $s!")
|
||||||
foo()
|
foo()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3490,6 +3490,75 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/diagnostics/tests/deprecated")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Deprecated extends AbstractJetDiagnosticsTest {
|
||||||
|
public void testAllFilesPresentInDeprecated() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/deprecated"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("annotationUsage.kt")
|
||||||
|
public void testAnnotationUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/annotationUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("componentUsage.kt")
|
||||||
|
public void testComponentUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/componentUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("functionUsage.kt")
|
||||||
|
public void testFunctionUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/functionUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("imports.kt")
|
||||||
|
public void testImports() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/imports.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("iteratorUsage.kt")
|
||||||
|
public void testIteratorUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/iteratorUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("javaDeprecated.kt")
|
||||||
|
public void testJavaDeprecated() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/javaDeprecated.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("nestedTypesUsage.kt")
|
||||||
|
public void testNestedTypesUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/nestedTypesUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("objectUsage.kt")
|
||||||
|
public void testObjectUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/objectUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("propertyUsage.kt")
|
||||||
|
public void testPropertyUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/propertyUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("typeUsage.kt")
|
||||||
|
public void testTypeUsage() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/deprecated/typeUsage.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/diagnostics/tests/duplicateJvmSignature")
|
@TestMetadata("compiler/testData/diagnostics/tests/duplicateJvmSignature")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
@@ -91,6 +91,19 @@ public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
|||||||
.setNameShortness(NameShortness.SHORT)
|
.setNameShortness(NameShortness.SHORT)
|
||||||
.setTextFormat(TextFormat.HTML).build();
|
.setTextFormat(TextFormat.HTML).build();
|
||||||
|
|
||||||
|
DescriptorRenderer DEPRECATION = new DescriptorRendererBuilder()
|
||||||
|
.setWithDefinedIn(false)
|
||||||
|
.setModifiers()
|
||||||
|
.setNameShortness(NameShortness.SHORT)
|
||||||
|
.setWithoutTypeParameters(false)
|
||||||
|
.setParameterNameRenderingPolicy(ParameterNameRenderingPolicy.NONE)
|
||||||
|
.setReceiverAfterName(false)
|
||||||
|
.setRenderCompanionObjectName(true)
|
||||||
|
.setRenderAccessors(true)
|
||||||
|
.setWithoutSuperTypes(true)
|
||||||
|
.setRenderDefaultValues(false)
|
||||||
|
.setStartFromName(true).build();
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
String renderType(@NotNull JetType type);
|
String renderType(@NotNull JetType type);
|
||||||
|
|
||||||
|
|||||||
@@ -35,18 +35,18 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic
|
|||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.diagnostics.Severity
|
import org.jetbrains.kotlin.diagnostics.Severity
|
||||||
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
|
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
|
||||||
|
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
||||||
|
import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult
|
||||||
|
import org.jetbrains.kotlin.idea.kdoc.KDocHighlightingVisitor
|
||||||
|
import org.jetbrains.kotlin.idea.quickfix.QuickFixes
|
||||||
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.psi.JetCodeFragment
|
import org.jetbrains.kotlin.psi.JetCodeFragment
|
||||||
import org.jetbrains.kotlin.psi.JetFile
|
import org.jetbrains.kotlin.psi.JetFile
|
||||||
|
import org.jetbrains.kotlin.psi.JetParameter
|
||||||
import org.jetbrains.kotlin.psi.JetReferenceExpression
|
import org.jetbrains.kotlin.psi.JetReferenceExpression
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics
|
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
|
||||||
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
|
||||||
import org.jetbrains.kotlin.idea.quickfix.QuickFixes
|
|
||||||
import kotlin.platform.platformStatic
|
import kotlin.platform.platformStatic
|
||||||
import org.jetbrains.kotlin.idea.kdoc.KDocHighlightingVisitor
|
|
||||||
import org.jetbrains.kotlin.psi.JetParameter
|
|
||||||
|
|
||||||
public open class JetPsiChecker : Annotator, HighlightRangeExtension {
|
public open class JetPsiChecker : Annotator, HighlightRangeExtension {
|
||||||
|
|
||||||
@@ -149,7 +149,12 @@ public open class JetPsiChecker : Annotator, HighlightRangeExtension {
|
|||||||
for (textRange in textRanges) {
|
for (textRange in textRanges) {
|
||||||
val annotation = holder.createWarningAnnotation(textRange, getDefaultMessage(diagnostic))
|
val annotation = holder.createWarningAnnotation(textRange, getDefaultMessage(diagnostic))
|
||||||
|
|
||||||
if (factory == Errors.DEPRECATED_CLASS_OBJECT_SYNTAX) annotation.setTextAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES)
|
when (factory) {
|
||||||
|
Errors.DEPRECATED_CLASS_OBJECT_SYNTAX,
|
||||||
|
Errors.DEPRECATED_SYMBOL,
|
||||||
|
Errors.DEPRECATED_SYMBOL_WITH_MESSAGE
|
||||||
|
-> annotation.setTextAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES)
|
||||||
|
}
|
||||||
|
|
||||||
setUpAnnotation(diagnostic, annotation, if (factory in Errors.UNUSED_ELEMENT_DIAGNOSTICS)
|
setUpAnnotation(diagnostic, annotation, if (factory in Errors.UNUSED_ELEMENT_DIAGNOSTICS)
|
||||||
ProblemHighlightType.LIKE_UNUSED_SYMBOL
|
ProblemHighlightType.LIKE_UNUSED_SYMBOL
|
||||||
@@ -242,8 +247,8 @@ public open class JetPsiChecker : Annotator, HighlightRangeExtension {
|
|||||||
PropertiesHighlightingVisitor(holder, bindingContext),
|
PropertiesHighlightingVisitor(holder, bindingContext),
|
||||||
FunctionsHighlightingVisitor(holder, bindingContext),
|
FunctionsHighlightingVisitor(holder, bindingContext),
|
||||||
VariablesHighlightingVisitor(holder, bindingContext),
|
VariablesHighlightingVisitor(holder, bindingContext),
|
||||||
TypeKindHighlightingVisitor(holder, bindingContext),
|
TypeKindHighlightingVisitor(holder, bindingContext)//,
|
||||||
DeprecatedAnnotationVisitor(holder, bindingContext)
|
//DeprecatedAnnotationVisitor(holder, bindingContext)
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user