Mark deprecated as a warning

#KT-3252 Fixed
This commit is contained in:
Natalia.Ukhorskaya
2013-01-21 16:34:07 +04:00
parent d7c8655966
commit 9422fea0c4
15 changed files with 100 additions and 87 deletions
@@ -206,11 +206,11 @@ public class DeprecatedAnnotationVisitor extends AfterAnalysisHighlightingVisito
AnnotationDescriptor deprecated = getDeprecated(descriptor);
if (deprecated != null) {
if (isWarning) {
holder.createInfoAnnotation(element, composeTooltipString(descriptor, deprecated))
holder.createWarningAnnotation(element, composeTooltipString(descriptor, deprecated))
.setTextAttributes(CodeInsightColors.WARNINGS_ATTRIBUTES);
}
else {
holder.createInfoAnnotation(element, composeTooltipString(descriptor, deprecated))
holder.createWarningAnnotation(element, composeTooltipString(descriptor, deprecated))
.setTextAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES);
}
return true;
@@ -1,15 +1,17 @@
package test
<info>import</info> java.util.ArrayList
import java.util.ArrayList
deprecated("Use A instead") <info>open</info> class MyClass {}
deprecated("Use A instead") open class MyClass {}
fun test() {
val a : <info descr="'test.MyClass' is deprecated. Use A instead">MyClass</info>? = null
val b = <info descr="'test.MyClass' is deprecated. Use A instead">MyClass</info>()
val c = ArrayList<<info descr="'test.MyClass' is deprecated. Use A instead">MyClass</info>>()
val a : <warning descr="'test.MyClass' is deprecated. Use A instead">MyClass</warning>? = null
val b = <warning descr="'test.MyClass' is deprecated. Use A instead">MyClass</warning>()
val c = ArrayList<<warning descr="'test.MyClass' is deprecated. Use A instead">MyClass</warning>>()
a == b && a == c
}
class Test(): <info descr="'test.MyClass' is deprecated. Use A instead">MyClass</info>() {}
class Test(): <warning descr="'test.MyClass' is deprecated. Use A instead">MyClass</warning>() {}
class Test2(param: <info descr="'test.MyClass' is deprecated. Use A instead">MyClass</info>) {}
class Test2(param: <warning descr="'test.MyClass' is deprecated. Use A instead">MyClass</warning>) {}
@@ -1,19 +1,21 @@
fun test() {
<info descr="'MyClass.<class-object-for-MyClass>' is deprecated. Use A instead">MyClass</info>.test
<warning descr="'MyClass.<class-object-for-MyClass>' is deprecated. Use A instead">MyClass</warning>.test
MyClass()
val a: MyClass? = null
val b: MyTrait? = null
<info descr="'MyTrait.<class-object-for-MyTrait>' is deprecated. Use A instead">MyTrait</info>.test
<warning descr="'MyTrait.<class-object-for-MyTrait>' is deprecated. Use A instead">MyTrait</warning>.test
a == b
}
class MyClass(): MyTrait {
deprecated("Use A instead") class object {
val <info>test</info>: String = ""
val test: String = ""
}
}
trait MyTrait {
deprecated("Use A instead") class object {
val <info>test</info>: String = ""
val test: String = ""
}
}
@@ -1,13 +1,13 @@
fun test() {
<info descr="'fun test1()' is deprecated. Use A instead">test1</info>()
MyClass().<info descr="'fun test2()' is deprecated. Use A instead">test2</info>()
MyClass.<info descr="'fun test3()' is deprecated. Use A instead">test3</info>()
<warning descr="'fun test1()' is deprecated. Use A instead">test1</warning>()
MyClass().<warning descr="'fun test2()' is deprecated. Use A instead">test2</warning>()
MyClass.<warning descr="'fun test3()' is deprecated. Use A instead">test3</warning>()
<info descr="'fun test4(x : jet.Int, y : jet.Int)' is deprecated. Use A instead">test4</info>(1, 2)
<warning descr="'fun test4(x : jet.Int, y : jet.Int)' is deprecated. Use A instead">test4</warning>(1, 2)
}
deprecated("Use A instead") fun test1() { }
deprecated("Use A instead") fun test4(x: Int, y: Int) { }
deprecated("Use A instead") fun test4(x: Int, y: Int) { x + y }
class MyClass() {
deprecated("Use A instead") fun test2() {}
+2 -2
View File
@@ -1,10 +1,10 @@
class MyClass {}
deprecated("Use A instead") fun MyClass.get(i: MyClass): MyClass { return MyClass() }
deprecated("Use A instead") fun MyClass.get(i: MyClass): MyClass { return i }
fun test() {
val x1 = MyClass()
val x2 = MyClass()
<info descr="'fun get(i : MyClass)' is deprecated. Use A instead">x1[x2]</info>
<warning descr="'fun get(i : MyClass)' is deprecated. Use A instead">x1[x2]</warning>
}
@@ -1,19 +1,19 @@
fun test() {
val c = MyClass()
c.<info descr="'getter for test1' is deprecated. Use A instead">test1</info>
c.<info descr="'getter for test2' is deprecated. Use A instead">test2</info>
c.<warning descr="'getter for test1' is deprecated. Use A instead">test1</warning>
c.<warning descr="'getter for test2' is deprecated. Use A instead">test2</warning>
c.test2 = ""
c.<info descr="'val test3' is deprecated. Use A instead">test3</info>
c.<warning descr="'val test3' is deprecated. Use A instead">test3</warning>
}
class MyClass() {
<info>public</info> val <info>test1</info>: String = ""
[deprecated("Use A instead")] <info>get</info>
public val test1: String = ""
[deprecated("Use A instead")] get
<info>public</info> var <info>test2</info>: String = ""
[deprecated("Use A instead")] <info>get</info>
public var test2: String = ""
[deprecated("Use A instead")] get
deprecated("Use A instead") <info>public</info> val <info>test3</info>: String = ""
[deprecated("Use A instead")] <info>get</info>
deprecated("Use A instead") public val test3: String = ""
[deprecated("Use A instead")] get
}
+5 -2
View File
@@ -1,8 +1,11 @@
class MyClass {}
class MyClass {
val i = 0
}
deprecated("Use A instead") fun MyClass.inc(): MyClass { return MyClass() }
fun test() {
var x3 = MyClass()
x3<info descr="'fun inc()' is deprecated. Use A instead">++</info>
x3<warning descr="'fun inc()' is deprecated. Use A instead">++</warning>
x3.i
}
@@ -5,5 +5,5 @@ deprecated("Use A instead") fun MyRunnable.invoke() {
fun test() {
val m = MyRunnable()
<info descr="'fun invoke()' is deprecated. Use A instead"><info>m</info>()</info>
<warning descr="'fun invoke()' is deprecated. Use A instead">m()</warning>
}
@@ -1,36 +1,38 @@
class MyClass {}
class MyClass {
val i = 0
}
deprecated("Use A instead") fun MyClass.minus(i: MyClass) { }
deprecated("Use A instead") fun MyClass.div(i: MyClass) { }
deprecated("Use A instead") fun MyClass.times(i: MyClass) { }
deprecated("Use A instead") fun MyClass.minus(i: MyClass) { i.i }
deprecated("Use A instead") fun MyClass.div(i: MyClass) { i.i }
deprecated("Use A instead") fun MyClass.times(i: MyClass) { i.i }
deprecated("Use A instead") fun MyClass.not() { }
deprecated("Use A instead") fun MyClass.plus() { }
deprecated("Use A instead") fun MyClass.contains(i: MyClass): Boolean { return false }
deprecated("Use A instead") fun MyClass.contains(i: MyClass): Boolean { i.i; return false }
deprecated("Use A instead") fun MyClass.plusAssign(i: MyClass) { }
deprecated("Use A instead") fun MyClass.plusAssign(i: MyClass) { i.i }
deprecated("Use A instead") fun MyClass.equals(i: Any?): Boolean { return false }
deprecated("Use A instead") fun MyClass.compareTo(i: MyClass): Int { return 0 }
deprecated("Use A instead") fun MyClass.equals(i: Any?): Boolean { i == null; return false }
deprecated("Use A instead") fun MyClass.compareTo(i: MyClass): Int { return i.i }
fun test() {
val x1 = MyClass()
val x2 = MyClass()
x1 <info descr="'fun minus(i : MyClass)' is deprecated. Use A instead">-</info> x2
x1 <info descr="'fun div(i : MyClass)' is deprecated. Use A instead">/</info> x2
x1 <info descr="'fun times(i : MyClass)' is deprecated. Use A instead">*</info> x2
x1 <warning descr="'fun minus(i : MyClass)' is deprecated. Use A instead">-</warning> x2
x1 <warning descr="'fun div(i : MyClass)' is deprecated. Use A instead">/</warning> x2
x1 <warning descr="'fun times(i : MyClass)' is deprecated. Use A instead">*</warning> x2
<info descr="'fun not()' is deprecated. Use A instead">!</info>x1
<info descr="'fun plus()' is deprecated. Use A instead">+</info>x1
<warning descr="'fun not()' is deprecated. Use A instead">!</warning>x1
<warning descr="'fun plus()' is deprecated. Use A instead">+</warning>x1
x1 <info descr="'fun contains(i : MyClass)' is deprecated. Use A instead">in</info> x2
x1 <info descr="'fun contains(i : MyClass)' is deprecated. Use A instead">!in</info> x2
x1 <warning descr="'fun contains(i : MyClass)' is deprecated. Use A instead">in</warning> x2
x1 <warning descr="'fun contains(i : MyClass)' is deprecated. Use A instead">!in</warning> x2
x1 <info descr="'fun plusAssign(i : MyClass)' is deprecated. Use A instead">+=</info> x2
x1 <warning descr="'fun plusAssign(i : MyClass)' is deprecated. Use A instead">+=</warning> x2
x1 <info descr="'fun equals(i : jet.Any?)' is deprecated. Use A instead">==</info> x2
x1 <info descr="'fun equals(i : jet.Any?)' is deprecated. Use A instead">!=</info> x2
x1 <info descr="'fun compareTo(i : MyClass)' is deprecated. Use A instead">></info> x2
x1 <warning descr="'fun equals(i : jet.Any?)' is deprecated. Use A instead">==</warning> x2
x1 <warning descr="'fun equals(i : jet.Any?)' is deprecated. Use A instead">!=</warning> x2
x1 <warning descr="'fun compareTo(i : MyClass)' is deprecated. Use A instead">></warning> x2
}
@@ -1,22 +1,22 @@
fun test() {
<info descr="'val test1' is deprecated. Use A instead">test1</info>
MyClass().<info descr="'val test2' is deprecated. Use A instead">test2</info>
MyClass.<info descr="'val test3' is deprecated. Use A instead">test3</info>
<warning descr="'val test1' is deprecated. Use A instead">test1</warning> == ""
MyClass().<warning descr="'val test2' is deprecated. Use A instead">test2</warning>
MyClass.<warning descr="'val test3' is deprecated. Use A instead">test3</warning>
<info descr="'var test4' is deprecated. Use A instead">test4</info>
MyClass().<info descr="'var test5' is deprecated. Use A instead">test5</info>
MyClass.<info descr="'var test6' is deprecated. Use A instead">test6</info>
<warning descr="'var test4' is deprecated. Use A instead">test4</warning> == ""
MyClass().<warning descr="'var test5' is deprecated. Use A instead">test5</warning>
MyClass.<warning descr="'var test6' is deprecated. Use A instead">test6</warning>
}
deprecated("Use A instead") val <info>test1</info>: String = ""
deprecated("Use A instead") var <info>test4</info>: String = ""
deprecated("Use A instead") val test1: String = ""
deprecated("Use A instead") var test4: String = ""
class MyClass() {
deprecated("Use A instead") val <info>test2</info>: String = ""
deprecated("Use A instead") var <info>test5</info>: String = ""
deprecated("Use A instead") val test2: String = ""
deprecated("Use A instead") var test5: String = ""
class object {
deprecated("Use A instead") val <info>test3</info>: String = ""
deprecated("Use A instead") var <info>test6</info>: String = ""
deprecated("Use A instead") val test3: String = ""
deprecated("Use A instead") var test6: String = ""
}
}
@@ -1,6 +1,9 @@
class MyClass { }
class MyClass {
val i = 1
}
deprecated("Use A instead") fun MyClass.rangeTo(i: MyClass): IntIterator {
i.i
throw Exception()
}
@@ -8,7 +11,7 @@ fun test() {
val x1 = MyClass()
val x2 = MyClass()
for (i in x1<info descr="'fun rangeTo(i : MyClass)' is deprecated. Use A instead">..</info>x2) {
for (i in x1<warning descr="'fun rangeTo(i : MyClass)' is deprecated. Use A instead">..</warning>x2) {
}
}
+15 -15
View File
@@ -1,26 +1,26 @@
fun test() {
MyClass().test1
MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info> = 0
MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning> = 0
MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info>++
MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info>--
MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning>++
MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning>--
++MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info>
--MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info>
++MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning>
--MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning>
MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info> += 1
MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info> -= 1
MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info> /= 1
MyClass().<info descr="'setter for test1' is deprecated. Use A instead">test1</info> *= 1
MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning> += 1
MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning> -= 1
MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning> /= 1
MyClass().<warning descr="'setter for test1' is deprecated. Use A instead">test1</warning> *= 1
test2
<info descr="'setter for test2' is deprecated. Use A instead">test2</info> = 10
test2 + 1
<warning descr="'setter for test2' is deprecated. Use A instead">test2</warning> = 10
}
class MyClass() {
<info>public</info> var <info>test1</info>: Int = 0
[deprecated("Use A instead")] <info>set</info>
public var test1: Int = 0
[deprecated("Use A instead")] set
}
<info>public</info> var <info>test2</info>: Int = 0
[deprecated("Use A instead")] <info>set</info>
public var test2: Int = 0
[deprecated("Use A instead")] set
@@ -4,6 +4,6 @@ class MyClass(): Base() {
}
}
<info>open</info> class Base() {
open class Base() {
fun test1() {}
}
@@ -1,10 +1,11 @@
deprecated("Use A instead") trait MyTrait { }
fun test() {
val a: <info descr="'MyTrait' is deprecated. Use A instead">MyTrait</info>? = null
val b: List<<info descr="'MyTrait' is deprecated. Use A instead">MyTrait</info>>? = null
val a: <warning descr="'MyTrait' is deprecated. Use A instead">MyTrait</warning>? = null
val b: List<<warning descr="'MyTrait' is deprecated. Use A instead">MyTrait</warning>>? = null
a == b
}
class Test(): <info descr="'MyTrait' is deprecated. Use A instead">MyTrait</info> { }
class Test(): <warning descr="'MyTrait' is deprecated. Use A instead">MyTrait</warning> { }
class Test2(param: <info descr="'MyTrait' is deprecated. Use A instead">MyTrait</info>) {}
class Test2(param: <warning descr="'MyTrait' is deprecated. Use A instead">MyTrait</warning>) {}
@@ -13,12 +13,12 @@ public abstract class AbstractDeprecatedHighlightingTest extends LightDaemonAnal
}
protected void doTest(String filePath) throws Exception {
doTest(getTestName(false) + ".kt", false, true);
doTest(filePath, true, false);
}
@NotNull
@Override
protected String getTestDataPath() {
return PluginTestCaseBase.getTestDataPathBase() + "/highlighter/deprecated/";
return "";
}
}