Merge branch 'master' into ElliotM-for-loop-indices

This commit is contained in:
Valentin Kipyatkov
2015-07-21 11:25:49 +03:00
2590 changed files with 40117 additions and 17620 deletions
+3 -2
View File
@@ -1,8 +1,8 @@
@file:kotlin.deprecated("message")
<error>@file:kotlin.deprecated("message")</error>
@file:suppress(<error>BAR</error>)
@file:suppress(BAZ)
@<error>k</error>otlin.deprecated("message")
<error>@<error>k</error>otlin.deprecated("message")</error>
@<error>s</error>uppress(<error>BAR</error>)
@<error>s</error>uppress(BAZ)
@@ -19,4 +19,5 @@ package boo
val BAZ = "baz"
val N = 0
target(AnnotationTarget.FILE)
annotation class myAnnotation(val i: Int, val s: String)
@@ -0,0 +1,10 @@
fun main(args: Array<String>) {
val str: String? = ""
if (str != null)
<caret>test(str)
else
test("")
}
fun test(s: String) = 1
@@ -0,0 +1 @@
test(str)
@@ -0,0 +1,10 @@
fun main(args: Array<String>) {
val str: String? = ""
when(str) {
null -> test("")
else -> <caret>test(str)
}
}
fun test(s: String) = 1
@@ -0,0 +1 @@
test(str)
@@ -11,11 +11,3 @@ class C {
}
}
class D {
companion <error>object A</error> {
<error>val `OBJECT$`</error> = this
}
val `OBJECT$` = D
}
@@ -1,7 +1,7 @@
package foo
class Impl : Bar() {
override fun f(): Any? {
override fun f(): Any {
<selection><caret>return super.f()</selection>
}
}
@@ -2,5 +2,6 @@ package to
public class JavaClass : Runnable {
override fun run() {
}
}
@@ -11,7 +11,10 @@ class A {
if (declarationDescriptor is CallableMemberDescriptor) {
val containingDescriptor = declarationDescriptor.getContainingDeclaration()
if (containingDescriptor is ClassDescriptor) {
return JetBundle.message("x.in.y", DescriptorRenderer.COMPACT.render(declarationDescriptor), IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_IN_TYPES.render(containingDescriptor))
return JetBundle.message(
"x.in.y",
DescriptorRenderer.COMPACT.render(declarationDescriptor),
IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_IN_TYPES.render(containingDescriptor))
}
}
}
@@ -1,5 +1,5 @@
package to
import kotlin.concurrent.FunctionalList
import kotlin.properties.ObservableProperty
fun f(l: FunctionalList<Int>) {}
fun f(l: ObservableProperty<Int>) {}
@@ -1,2 +1,2 @@
kotlin.Int
kotlin.concurrent.FunctionalList
kotlin.properties.ObservableProperty
+2 -2
View File
@@ -2,6 +2,6 @@
package g
import kotlin.concurrent.FunctionalList
import kotlin.properties.ObservableProperty
<selection>fun f(l: FunctionalList<Int>) {}</selection>
<selection>fun f(l: ObservableProperty<Int>) {}</selection>
+5 -10
View File
@@ -12,18 +12,20 @@ val topVal1 = 1
fun main(args: Array<String>) {
val val1 = 1
val val2 = "str"
val val2 = MyClass()
//Breakpoint!
val1 + topVal1
}
class MyClass
// PRINT_FRAME
// EXPRESSION: val1
// RESULT: 1: I
// EXPRESSION: val2
// RESULT: "str": Ljava/lang/String;
// RESULT: instance of frameSimple.MyClass(id=ID): LframeSimple/MyClass;
// EXPRESSION: topVal1
// RESULT: 1: I
@@ -35,14 +37,7 @@ fun main(args: Array<String>) {
field = topVal1: int = 1 (sp = null)
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = frameSimple.kt, 5)
local = val1: int = 1 (sp = frameSimple.kt, 6)
local = val2: java.lang.String = str (sp = frameSimple.kt, 7)
field = value: char[] = {char[3]@uniqueID} (sp = String.!EXT!)
unknown = [0] = 's' 115
unknown = [1] = 't' 116
unknown = [2] = 'r' 114
field = offset: int = 0 (sp = String.!EXT!)
field = count: int = 3 (sp = String.!EXT!)
field = hash: int = 0 (sp = String.!EXT!)
local = val2: frameSimple.MyClass = {frameSimple.MyClass@uniqueID} (sp = frameSimple.kt, 7)
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -37,7 +37,7 @@ fun genericClassCast() {
val c = ArrayList<Int>()
c.add(1)
// EXPRESSION: c.get(0)
// RESULT: instance of java.lang.Integer(id=ID): Ljava/lang/Integer;
// RESULT: 1: I
//Breakpoint!
val b = 1
}
@@ -46,7 +46,7 @@ fun genericClassCast() {
val c = ArrayList<String>()
c.add("a")
// EXPRESSION: c.get(0)
// RESULT: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer: Ljava/lang/ClassCastException;
// RESULT: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number: Ljava/lang/ClassCastException;
//Breakpoint!
val b = 1
}
@@ -4,18 +4,20 @@ val topVal1 = 1
fun main(args: Array<String>) {
val val1 = 1
val val2 = "str"
val val2 = MyClass()
//Breakpoint!
val1 + topVal1
}
class MyClass
// PRINT_FRAME
// EXPRESSION: val1
// RESULT: 1: I
// EXPRESSION: val2
// RESULT: "str": Ljava/lang/String;
// RESULT: instance of frameSimple.MyClass(id=ID): LframeSimple/MyClass;
// EXPRESSION: topVal1
// RESULT: 1: I
@@ -1,5 +1,13 @@
package dependency
target(AnnotationTarget.CLASSIFIER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY,
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
annotation class A(val s: String)
target(AnnotationTarget.CLASSIFIER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY,
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
annotation class B(val i: Int)
target(AnnotationTarget.CLASSIFIER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY,
AnnotationTarget.VALUE_PARAMETER)
annotation class C
@@ -5,7 +5,27 @@ PsiJetFileStubImpl[package=test.a]
REFERENCE_EXPRESSION:[referencedName=a]
IMPORT_LIST:
CLASS:[fqName=test.a.AnnotationClass, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotationClass, superNames=[Annotation]]
MODIFIER_LIST:[annotation public final]
MODIFIER_LIST:[public final]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=annotation]
CONSTRUCTOR_CALLEE:
TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=annotation]
REFERENCE_EXPRESSION:[referencedName=annotation]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=Retention]
CONSTRUCTOR_CALLEE:
TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=java]
REFERENCE_EXPRESSION:[referencedName=lang]
REFERENCE_EXPRESSION:[referencedName=annotation]
REFERENCE_EXPRESSION:[referencedName=Retention]
PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST:
@@ -25,8 +25,13 @@ a public class Annotations private @a constructor(private @a val c1: Int, @a val
fun types(param: @a @b(E.E1) DoubleRange): @a @b(E.E2) Unit {}
}
target(AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FUNCTION,
AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.TYPE, AnnotationTarget.CLASSIFIER)
annotation class a
annotation class b(val e: E)
target(AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.CLASSIFIER,
AnnotationTarget.CONSTRUCTOR, AnnotationTarget.TYPE)
annotation(repeatable = false) class b(val e: E)
enum class E { E1 E2 }
@@ -113,7 +113,27 @@ PsiJetFileStubImpl[package=test.class_object]
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Unit]
CLASS:[fqName=test.class_object.ClassObject.B.Companion.C.Companion.D.Companion.Anno, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Anno, superNames=[Annotation]]
MODIFIER_LIST:[annotation internal final]
MODIFIER_LIST:[internal final]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=annotation]
CONSTRUCTOR_CALLEE:
TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=annotation]
REFERENCE_EXPRESSION:[referencedName=annotation]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=Retention]
CONSTRUCTOR_CALLEE:
TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=java]
REFERENCE_EXPRESSION:[referencedName=lang]
REFERENCE_EXPRESSION:[referencedName=annotation]
REFERENCE_EXPRESSION:[referencedName=Retention]
PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST:
+6
View File
@@ -0,0 +1,6 @@
package test
sealed class Sealed {
class Nested: Sealed()
object Top: Sealed()
}
+33
View File
@@ -0,0 +1,33 @@
PsiJetFileStubImpl[package=test]
PACKAGE_DIRECTIVE:
REFERENCE_EXPRESSION:[referencedName=test]
IMPORT_LIST:
CLASS:[fqName=test.Sealed, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Sealed, superNames=[]]
MODIFIER_LIST:[internal sealed]
PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[private]
VALUE_PARAMETER_LIST:
CLASS_BODY:
CLASS:[fqName=test.Sealed.Nested, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Nested, superNames=[Sealed]]
MODIFIER_LIST:[internal final]
PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST:
DELEGATION_SPECIFIER_LIST:
DELEGATOR_SUPER_CLASS:
TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=test]
REFERENCE_EXPRESSION:[referencedName=Sealed]
CLASS_BODY:
OBJECT_DECLARATION:[fqName=test.Sealed.Top, isCompanion=false, isLocal=false, isObjectLiteral=false, isTopLevel=false, name=Top, superNames=[Sealed]]
MODIFIER_LIST:[internal]
DELEGATION_SPECIFIER_LIST:
DELEGATOR_SUPER_CLASS:
TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=test]
REFERENCE_EXPRESSION:[referencedName=Sealed]
CLASS_BODY:
+1 -1
View File
@@ -1,5 +1,5 @@
// !DIAGNOSTICS_NUMBER: 3
// !DIAGNOSTICS: TYPE_INFERENCE_TYPE_CONSTRUCTOR_MISMATCH
// !DIAGNOSTICS: TYPE_INFERENCE_PARAMETER_CONSTRAINT_ERROR
class A<T, R>
fun <T, R> foo(a: A<T, R>) = a
+1 -1
View File
@@ -1,5 +1,5 @@
// !DIAGNOSTICS_NUMBER: 4
// !DIAGNOSTICS: TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH TYPE_INFERENCE_TYPE_CONSTRUCTOR_MISMATCH TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS
// !DIAGNOSTICS: TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH TYPE_INFERENCE_PARAMETER_CONSTRAINT_ERROR TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS
package a
@@ -0,0 +1,6 @@
// PSI_ELEMENT: com.intellij.psi.PsiMethod
// OPTIONS: usages
class JavaClass {
public int <caret>getSomething() { return 1; }
public void setSomething(int value) {}
}
@@ -0,0 +1,5 @@
fun foo(javaClass: JavaClass) {
print(javaClass.something)
javaClass.something = 1
javaClass.something++
}
@@ -0,0 +1,2 @@
Value read (2: 21) print(javaClass.something)
Value read (4: 15) javaClass.something++
@@ -6,7 +6,8 @@ public open class Server(private val <caret>foo: String = "foo") {
open fun processRequest() = foo
}
public class ServerEx(): Server() {
override fun processRequest() = "foo" + foo
public class ServerEx(): Server(foo = "!") {
override fun processRequest() = "foo" + foo // this reference is found as a side effect of big use scope of constructor parameter:
// if it was simple property, it wouldn't be found
}
@@ -2,7 +2,7 @@ import server.*;
class Client {
public fun foo() {
println(Server().foo)
println(Server(foo = "!").foo)
ServerEx().processRequest()
}
}
@@ -1 +1,5 @@
Value read (6: 33) open fun processRequest() = foo
[kotlinPrivatePropertyUsages2.0.kt] Named argument (9: 33) public class ServerEx(): Server(foo = "!") {
[kotlinPrivatePropertyUsages2.0.kt] Value read (10: 45) override fun processRequest() = "foo" + foo // this reference is found as a side effect of big use scope of constructor parameter:
[kotlinPrivatePropertyUsages2.0.kt] Value read (6: 33) open fun processRequest() = foo
[kotlinPrivatePropertyUsages2.1.kt] Named argument (5: 24) println(Server(foo = "!").foo)
[kotlinPrivatePropertyUsages2.1.kt] Value read (5: 35) println(Server(foo = "!").foo)
@@ -64,4 +64,9 @@ fun test() {
val tt = A.T()
t.bar(2)
val fff = A.T::bar
class LocalClass(val localClassProperty: Int) {
}
LocalClass(localClassProperty = 1).localClassProperty
}
@@ -0,0 +1,4 @@
<node text="B ()" base="true">
<node text="A.A(Int) ()"/>
<node text="JJ.JJ() ()"/>
</node>
@@ -0,0 +1,7 @@
open class <caret>B()
open class A : B {
constructor(a: Int) {
}
}
@@ -0,0 +1,5 @@
class JJ extends B {
JJ() {
}
}
@@ -0,0 +1,4 @@
<node text="B.B() ()" base="true">
<node text="JJ.JJ() ()"/>
<node text="A.A(Int) ()"/>
</node>
@@ -0,0 +1,11 @@
open class B {
<caret>constructor() {
}
}
open class A : B {
constructor(a: Int) {
}
}
@@ -0,0 +1,5 @@
class JJ extends B {
JJ() {
}
}
+1
View File
@@ -1,3 +1,4 @@
<info descr="null" textAttributesKey="KOTLIN_ANNOTATION">target</info>(<info descr="null" textAttributesKey="KOTLIN_CLASS">AnnotationTarget</info>.<info descr="null" textAttributesKey="KOTLIN_ENUM_ENTRY">CLASSIFIER</info>, <info descr="null" textAttributesKey="KOTLIN_CLASS">AnnotationTarget</info>.<info descr="null" textAttributesKey="KOTLIN_ENUM_ENTRY">EXPRESSION</info>)
<info descr="null">annotation</info> class <info descr="null">Ann</info>
<info descr="null" textAttributesKey="KOTLIN_ANNOTATION">Ann</info> class <info descr="null">A1</info>
+2 -2
View File
@@ -4,8 +4,8 @@ interface <info textAttributesKey="KOTLIN_TRAIT">TheTrait</info> {
class <info textAttributesKey="KOTLIN_CLASS">TheClass</info> : <info textAttributesKey="KOTLIN_TRAIT">TheTrait</info> {
}
<info textAttributesKey="KOTLIN_BUILTIN_ANNOTATION">annotation</info> class <info textAttributesKey="KOTLIN_ANNOTATION">magnificent</info>
<info textAttributesKey="KOTLIN_BUILTIN_ANNOTATION">annotation</info> class <info textAttributesKey="KOTLIN_ANNOTATION">deprecated</info>
<info textAttributesKey="KOTLIN_ANNOTATION">annotation</info> class <info textAttributesKey="KOTLIN_ANNOTATION">magnificent</info>
<info textAttributesKey="KOTLIN_ANNOTATION">annotation</info> class <info textAttributesKey="KOTLIN_ANNOTATION">deprecated</info>
<info textAttributesKey="KOTLIN_ANNOTATION">@deprecated</info>
<info textAttributesKey="KOTLIN_ANNOTATION">magnificent</info> <info textAttributesKey="KOTLIN_BUILTIN_ANNOTATION">abstract</info> class <info textAttributesKey="KOTLIN_ABSTRACT_CLASS">AbstractClass</info><<info textAttributesKey="KOTLIN_TYPE_PARAMETER">T</info>> {
@@ -1,18 +0,0 @@
package test
// WITH_RUNTIME
import kotlin.reflect.KFunction0
fun foo() {}
fun bar(f: () -> Unit) = f()
// Inspection should be reported here because '::foo' may be used as a reflection object
val p1 = ::foo // the type is KFunction0 by default
val p2: KFunction0<Unit> = ::foo // the expected type is KFunction0
// But shouldn't be reported here
val p3 = bar(::foo) // the expected type is Function0, '::foo' is used as an ordinary function
val p4: Any = ::foo // the expected type is Any
val p5: UnresolvedClass = ::foo // an error, another warning would be useless
@@ -1,26 +0,0 @@
<problems>
<problem>
<file>functionReference.kt</file>
<line>12</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/functionReference.kt" />
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Reflection not found</problem_class>
<description>Reflection not found in the classpath</description>
</problem>
<problem>
<file>functionReference.kt</file>
<line>13</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/functionReference.kt" />
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Reflection not found</problem_class>
<description>Reflection not found in the classpath</description>
</problem>
<problem>
<file>withinAnnotationEntry.kt</file>
<line>13</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/withinAnnotationEntry.kt" />
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Reflection not found</problem_class>
<description>Reflection not found in the classpath</description>
</problem>
</problems>
@@ -1 +0,0 @@
// INSPECTION_CLASS: org.jetbrains.kotlin.idea.inspections.ReflectionNotFoundInspection
@@ -1,15 +0,0 @@
package test
// WITH_RUNTIME
import kotlin.reflect.KClass
annotation class A(val arg: KClass<*>, val args: Array<KClass<*>>, vararg val other: KClass<*>)
A(Int::class, array(String::class), Double::class, Char::class)
class MyClass {
throws(Exception::class)
fun foo() {
Exception::class
}
}
@@ -1,3 +1,4 @@
target(AnnotationTarget.EXPRESSION)
annotation class ann
fun foo(): Int = <caret>@ann 1
@@ -1,3 +1,4 @@
target(AnnotationTarget.EXPRESSION)
annotation class ann
fun foo(): Int {
@@ -1,4 +1,4 @@
fun foo(c: kotlin.support.AbstractIterator<kotlin.concurrent.FunctionalList<Int>>) {
fun foo(c: kotlin.support.AbstractIterator<kotlin.properties.ObservableProperty<Int>>) {
ba<caret>r(c)
}
@@ -1,8 +1,8 @@
import kotlin.concurrent.FunctionalList
import kotlin.properties.ObservableProperty
import kotlin.support.AbstractIterator
fun foo(c: kotlin.support.AbstractIterator<kotlin.concurrent.FunctionalList<Int>>) {
bar<AbstractIterator<FunctionalList<Int>>>(c)
fun foo(c: kotlin.support.AbstractIterator<kotlin.properties.ObservableProperty<Int>>) {
bar<AbstractIterator<ObservableProperty<Int>>>(c)
}
fun <T> bar(t: T): T = t
@@ -4,5 +4,5 @@ public class TestingUse {
}
fun main() {
val funcInfunc = TestingUse().test6({ f -> f(5) > 20}, {x -> x + 2})
val funcInfunc = TestingUse().test6({ f -> f(5) > 20}, { x -> x + 2})
}
@@ -4,5 +4,5 @@ public class TestingUse {
}
fun main() {
val funcInfunc = TestingUse().test6({ f: (Int) -> Int -> f(5) > 20}, {x -> x + 2})
val funcInfunc = TestingUse().test6({ f: (Int) -> Int -> f(5) > 20}, { x -> x + 2})
}
@@ -3,7 +3,7 @@
import java.util.HashMap
fun foo(map : HashMap<String, Int>) {
for (entry: MutableMap.MutableEntry<String, Int>?<caret> in map.entrySet()) {
for (entry: MutableMap.MutableEntry<String, Int><caret> in map.entrySet()) {
}
}
@@ -0,0 +1 @@
org.jetbrains.kotlin.idea.intentions.UsePropertyAccessSyntaxIntention
@@ -0,0 +1,8 @@
// WITH_RUNTIME
import java.io.File
class MyFile : File("file")
fun foo(file: MyFile) {
file.getAbsolutePath()<caret>
}
@@ -0,0 +1,8 @@
// WITH_RUNTIME
import java.io.File
class MyFile : File("file")
fun foo(file: MyFile) {
file.absolutePath<caret>
}
@@ -0,0 +1,12 @@
// WITH_RUNTIME
import java.io.File
class MyFile : File("file") {
override fun getCanonicalFile(): File {
return super.getCanonicalFile()
}
}
fun foo(file: MyFile) {
file.getCanonicalFile()<caret>
}
@@ -0,0 +1,12 @@
// WITH_RUNTIME
import java.io.File
class MyFile : File("file") {
override fun getCanonicalFile(): File {
return super.getCanonicalFile()
}
}
fun foo(file: MyFile) {
file.canonicalFile<caret>
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
// IS_APPLICABLE: false
import java.io.File
fun File.foo(absolutePath: String) {
getAbsolutePath()<caret>
}
@@ -0,0 +1,9 @@
// WITH_RUNTIME
// IS_APPLICABLE: false
import java.io.File
val File.absolutePath: String get() = ""
fun foo(file: File) {
file.getAbsolutePath()<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(klass: Class<*>) {
klass.getEnclosingClass()<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(klass: Class<*>) {
klass.enclosingClass<caret>
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import java.io.File
fun foo(file: File) {
file.getAbsolutePath()<caret>
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import java.io.File
fun foo(file: File) {
file.absolutePath<caret>
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import java.io.File
fun File.foo() {
getAbsolutePath()<caret>
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import java.io.File
fun File.foo() {
absolutePath<caret>
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import java.io.File
fun foo(file: File?) {
file?.getAbsolutePath()<caret>
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import java.io.File
fun foo(file: File?) {
file?.absolutePath<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread) {
thread.<caret>isDaemon()
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread) {
thread.<caret>isDaemon
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread) {
thread.<caret>setDaemon(true)
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread) {
thread.<caret>isDaemon = true
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread) {
thread.setName("name")<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread) {
thread.name = "name"<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun Thread.foo() {
setName("name")<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun Thread.foo() {
name = "name"<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread?) {
thread?.setName("name")<caret>
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(thread: Thread?) {
thread?.name = "name"<caret>
}
@@ -0,0 +1,8 @@
// WITH_RUNTIME
import java.io.File
fun foo(o: Any) {
if (o is File) {
o.getAbsolutePath()<caret>
}
}
@@ -0,0 +1,8 @@
// WITH_RUNTIME
import java.io.File
fun foo(o: Any) {
if (o is File) {
o.absolutePath<caret>
}
}
@@ -0,0 +1,9 @@
// WITH_RUNTIME
// IS_APPLICABLE: false
import java.io.File
class MyFile : File("file") {
override fun getCanonicalFile(): File {
return super.getCanonicalFile()<caret>
}
}
@@ -0,0 +1,11 @@
class C {
fun foo(){}
protected fun foo(p: Int){}
}
fun f(c: C) {
c.foo(<caret>1)
}
/*
Text: (<no parameters>), Disabled: true, Strikeout: false, Green: true
*/
@@ -0,0 +1,7 @@
// "Replace with 'matches(input)'" "true"
import kotlin.text.Regex
fun foo(regex: Regex) {
regex.<caret>hasMatch("")
}
@@ -0,0 +1,7 @@
// "Replace with 'matches(input)'" "true"
import kotlin.text.Regex
fun foo(regex: Regex) {
regex.<caret>matches("")
}
@@ -0,0 +1,6 @@
// "class com.intellij.codeInsight.daemon.impl.quickfix.ImportClassFixBase" "false"
// ACTION: Create class 'SomeClass'
// ACTION: Create function 'SomeClass'
// ERROR: Unresolved reference: SomeClass
val x = <caret>SomeClass()
@@ -0,0 +1,3 @@
package excludedPackage
class SomeClass
@@ -0,0 +1,6 @@
// "class com.intellij.codeInsight.daemon.impl.quickfix.ImportClassFixBase" "false"
// ACTION: Create class 'ExcludedClass'
// ACTION: Create function 'ExcludedClass'
// ERROR: Unresolved reference: ExcludedClass
val x = <caret>ExcludedClass()
@@ -0,0 +1,3 @@
package somePackage
class ExcludedClass
@@ -0,0 +1,5 @@
// "class com.intellij.codeInsight.daemon.impl.quickfix.ImportClassFixBase" "false"
// ACTION: Create function 'someFunction'
// ERROR: Unresolved reference: someFunction
val x = <caret>someFunction()
@@ -0,0 +1,5 @@
package excludedPackage
fun someFunction() {
}
@@ -0,0 +1,6 @@
import somePackage.NotExcludedClass
// "Import" "true"
// ERROR: Unresolved reference: NotExcludedClass
val x = <caret>NotExcludedClass()
@@ -0,0 +1,4 @@
// "Import" "true"
// ERROR: Unresolved reference: NotExcludedClass
val x = <caret>NotExcludedClass()
@@ -0,0 +1,3 @@
package somePackage
class NotExcludedClass
@@ -2,7 +2,7 @@
// DISABLE-ERRORS
open class Base(var x: Int, d: Double) {
val y = Base(1, 2.5);
val y = Base(1, 2);
fun f() {
val base = Base(1, 2.5);
@@ -2,8 +2,8 @@
// DISABLE-ERRORS
fun foo(x: Int, i: Int) {
foo(, 4);
foo();
foo(1, 4);
foo(1, 4);
foo(2, 4);
foo(2, 3, sdsd);
}
@@ -2,9 +2,9 @@
// DISABLE-ERRORS
fun foo(x: Double, i: Int, i1: Int, i2: Int) {
foo(,, 5, 6);
foo(1,, 5, 6);
foo();
foo(1);
foo(1, 2.5, 5, 6);
foo(1.5, 4, 5, 6);
foo(2, 3, 5, 6);
foo(2, 3, sdsd);
}
@@ -0,0 +1,15 @@
class Foo {
static void foo(int n, int m, int i) {
}
}
class Test {
static void test() {
Foo.foo();
Foo.foo(1);
Foo.foo(1, 2, 3);
Foo.foo(1, 2, 3);
Foo.foo(4, 5, 6);
}
}
@@ -0,0 +1,9 @@
// "Add parameter to function 'foo'" "true"
// DISABLE-ERRORS
fun test() {
Foo.foo()
Foo.foo(1)
Foo.foo(1, 2, 3)
Foo.foo(1, 2, 3<caret>)
Foo.foo(4, 5, 6)
}
@@ -0,0 +1,15 @@
class Foo {
static void foo(int n, int m) {
}
}
class Test {
static void test() {
Foo.foo();
Foo.foo(1);
Foo.foo(1, 2);
Foo.foo(1, 2, 3);
Foo.foo(4, 5, 6);
}
}
@@ -0,0 +1,9 @@
// "Add parameter to function 'foo'" "true"
// DISABLE-ERRORS
fun test() {
Foo.foo()
Foo.foo(1)
Foo.foo(1, 2)
Foo.foo(1, 2, 3<caret>)
Foo.foo(4, 5, 6)
}
@@ -1,5 +1,5 @@
// "class org.jetbrains.kotlin.idea.quickfix.AddFunctionParametersFix" "false"
// ERROR: Too many arguments for public open fun equals(other: kotlin.Any!): kotlin.Boolean defined in java.lang.Object
// ERROR: Too many arguments for public open fun equals(other: kotlin.Any?): kotlin.Boolean defined in java.lang.Object
fun f(d: java.lang.Object) {
d.equals("a", <caret>"b")
@@ -5,7 +5,7 @@ open class Base() {
val y = Base();
fun f() {
val base = Base();
val base = Base(1, 2);
}
}
@@ -3,7 +3,7 @@
fun foo(y: Int) {
foo();
foo();
foo(1);
foo(2);
foo(3);
foo(2, 3, sdsd);
}
@@ -5,5 +5,5 @@ fun foo(x: Int) {
foo();
foo(1);
foo(1);
foo(2);
foo(2, 3, sdsd);
}

Some files were not shown because too many files have changed in this diff Show More