KT-650 Prohibit creating class without constructor
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
open class A<T>
|
||||
class B<X : A<X>>()
|
||||
|
||||
class C : A<C>
|
||||
class C : A<C>()
|
||||
|
||||
val a = B<C>()
|
||||
val a1 = B<<error>Int</error>>()
|
||||
|
||||
@@ -2,11 +2,11 @@ package html
|
||||
|
||||
import java.util.*
|
||||
|
||||
abstract class Factory<T> {
|
||||
abstract fun create() : T
|
||||
trait Factory<T> {
|
||||
fun create() : T
|
||||
}
|
||||
|
||||
abstract class Element
|
||||
trait Element
|
||||
|
||||
class TextElement(val text : String) : Element
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
|
||||
open class NoC
|
||||
class NoC1 : NoC
|
||||
class NoC1 : NoC()
|
||||
|
||||
class WithC0() : NoC<error>()</error>
|
||||
open class WithC1() : NoC
|
||||
class WithC0() : NoC()
|
||||
open class WithC1() : NoC()
|
||||
class NoC2 : <error>WithC1</error>
|
||||
class NoC3 : WithC1<error>()</error>
|
||||
class NoC3 : WithC1()
|
||||
class WithC2() : <error>WithC1</error>
|
||||
|
||||
class NoPC {
|
||||
<error>this</error>() {}
|
||||
class <error>NoPC</error> {
|
||||
<error><error>this</error>() {}</error>
|
||||
}
|
||||
|
||||
class WithPC0() {
|
||||
@@ -29,7 +29,7 @@ class WithPC1(a : Int) {
|
||||
}
|
||||
|
||||
|
||||
class Foo() : <error>WithPC0</error>, <error>this</error>() {
|
||||
class Foo() : <error>WithPC0</error>(), <error>this</error>() {
|
||||
|
||||
}
|
||||
|
||||
@@ -43,8 +43,8 @@ class WithCPI(x : Int) {
|
||||
val xy : Int = x
|
||||
}
|
||||
|
||||
class <error>NoCPI</error> {
|
||||
val a = <error>1</error>
|
||||
class NoCPI {
|
||||
val a = 1
|
||||
var ab = <error>1</error>
|
||||
get() = 1
|
||||
set(v) {}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
fun test() {
|
||||
A.x
|
||||
val b = object : Foo {
|
||||
val b = object : Foo() {
|
||||
}
|
||||
b.foo()
|
||||
|
||||
|
||||
@@ -14,14 +14,14 @@ abstract class Iteratee<in I, out O> {
|
||||
abstract fun done() : O
|
||||
}
|
||||
|
||||
class StrangeIterateeImpl<in I, out O>(val obj: O) : Iteratee<I, O> {
|
||||
class StrangeIterateeImpl<in I, out O>(val obj: O) : Iteratee<I, O>() {
|
||||
override fun process(item: I): Iteratee<I, O> = StrangeIterateeImpl<I, O>(obj)
|
||||
override val isDone = true
|
||||
override val result = obj
|
||||
override fun done() = obj
|
||||
}
|
||||
|
||||
abstract class Sum() : Iteratee<Int, Int> {
|
||||
abstract class Sum() : Iteratee<Int, Int>() {
|
||||
override fun process(item : Int) : Iteratee<Int, Int> {
|
||||
return a.done<Int>(item);
|
||||
}
|
||||
|
||||
@@ -8,29 +8,29 @@ package override
|
||||
abstract fun bar()
|
||||
}
|
||||
|
||||
open class MyClass : MyTrait, MyAbstractClass {
|
||||
open class MyClass : MyTrait, MyAbstractClass() {
|
||||
override fun foo() {}
|
||||
override fun bar() {}
|
||||
}
|
||||
|
||||
class MyChildClass : MyClass {}
|
||||
class MyChildClass : MyClass() {}
|
||||
|
||||
class <error>MyIllegalClass</error> : MyTrait, MyAbstractClass {}
|
||||
class <error>MyIllegalClass</error> : MyTrait, MyAbstractClass() {}
|
||||
|
||||
class <error>MyIllegalClass2</error> : MyTrait, MyAbstractClass {
|
||||
class <error>MyIllegalClass2</error> : MyTrait, MyAbstractClass() {
|
||||
override fun foo() {}
|
||||
}
|
||||
|
||||
class <error>MyIllegalClass3</error> : MyTrait, MyAbstractClass {
|
||||
class <error>MyIllegalClass3</error> : MyTrait, MyAbstractClass() {
|
||||
override fun bar() {}
|
||||
}
|
||||
|
||||
class <error>MyIllegalClass4</error> : MyTrait, MyAbstractClass {
|
||||
class <error>MyIllegalClass4</error> : MyTrait, MyAbstractClass() {
|
||||
fun <error>foo</error>() {}
|
||||
<error>override</error> fun other() {}
|
||||
}
|
||||
|
||||
class MyChildClass1 : MyClass {
|
||||
class MyChildClass1 : MyClass() {
|
||||
fun <error>foo</error>() {}
|
||||
override fun bar() {}
|
||||
}
|
||||
|
||||
@@ -6,30 +6,30 @@
|
||||
abstract fun bar(t: T) : T
|
||||
}
|
||||
|
||||
open class MyGenericClass<T> : MyTrait<T>, MyAbstractClass<T> {
|
||||
open class MyGenericClass<T> : MyTrait<T>, MyAbstractClass<T>() {
|
||||
override fun foo(t: T) = t
|
||||
override fun bar(t: T) = t
|
||||
}
|
||||
|
||||
class MyChildClass : MyGenericClass<Int> {}
|
||||
class MyChildClass1<T> : MyGenericClass<T> {}
|
||||
class MyChildClass2<T> : MyGenericClass<T> {
|
||||
class MyChildClass : MyGenericClass<Int>() {}
|
||||
class MyChildClass1<T> : MyGenericClass<T>() {}
|
||||
class MyChildClass2<T> : MyGenericClass<T>() {
|
||||
fun <error>foo</error>(t: T) = t
|
||||
override fun bar(t: T) = t
|
||||
}
|
||||
|
||||
open class MyClass : MyTrait<Int>, MyAbstractClass<String> {
|
||||
open class MyClass : MyTrait<Int>, MyAbstractClass<String>() {
|
||||
override fun foo(i: Int) = i
|
||||
override fun bar(s: String) = s
|
||||
}
|
||||
|
||||
class <error>MyIllegalGenericClass1</error><T> : MyTrait<T>, MyAbstractClass<T> {}
|
||||
class <error>MyIllegalGenericClass2</error><T, R> : MyTrait<T>, MyAbstractClass<R> {
|
||||
class <error>MyIllegalGenericClass1</error><T> : MyTrait<T>, MyAbstractClass<T>() {}
|
||||
class <error>MyIllegalGenericClass2</error><T, R> : MyTrait<T>, MyAbstractClass<R>() {
|
||||
<error>override</error> fun foo(r: R) = r
|
||||
}
|
||||
class <error>MyIllegalClass1</error> : MyTrait<Int>, MyAbstractClass<String> {}
|
||||
class <error>MyIllegalClass1</error> : MyTrait<Int>, MyAbstractClass<String>() {}
|
||||
|
||||
class <error>MyIllegalClass2</error><T> : MyTrait<Int>, MyAbstractClass<Int> {
|
||||
class <error>MyIllegalClass2</error><T> : MyTrait<Int>, MyAbstractClass<Int>() {
|
||||
fun foo(t: T) = t
|
||||
fun bar(t: T) = t
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
class <error>X</error> {
|
||||
class X {
|
||||
val <error>x</error> : Int
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@ class Y1 {
|
||||
val x : Int get() = 1
|
||||
}
|
||||
|
||||
class Z : Y<error>()</error> {
|
||||
class Z : Y() {
|
||||
}
|
||||
@@ -39,9 +39,9 @@ trait Test6 : <error>C1</error> {}
|
||||
|
||||
class CTest1() : OC1() {}
|
||||
|
||||
class CTest2 : C2 {}
|
||||
class CTest2 : <error>C2</error> {}
|
||||
|
||||
class CTest3 : C2, <error>C3</error> {}
|
||||
class CTest3 : <error>C2</error>, <error>C3</error> {}
|
||||
|
||||
class CTest4 : T1 {}
|
||||
|
||||
|
||||
@@ -8,4 +8,4 @@ trait Foo2 : bar, Foo {
|
||||
}
|
||||
|
||||
open class Foo1() : bar(), <error>bar</error>, Foo, <error>Foo</error><error>()</error> {}
|
||||
open class Foo12 : bar<error>()</error>, <error>bar</error> {}
|
||||
open class Foo12 : bar(), <error>bar</error> {}
|
||||
@@ -1,4 +1,4 @@
|
||||
// JET-11 Redeclaration & Forward reference for classes cause an exception
|
||||
open class <error>NoC</error>
|
||||
class NoC1 : NoC
|
||||
class NoC1 : NoC()
|
||||
open class <error>NoC</error>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// "Add primary constructor to A" "true"
|
||||
package a
|
||||
|
||||
class A() {
|
||||
var i : Int = <caret>1
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// "Add primary constructor to A" "true"
|
||||
package a
|
||||
|
||||
class A<caret>() {
|
||||
var i : Int = 1
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// "Add primary constructor to A" "true"
|
||||
package a
|
||||
|
||||
class A {
|
||||
var i : Int = <caret>1
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// "Add primary constructor to A" "true"
|
||||
package a
|
||||
|
||||
class A<caret> {
|
||||
var i : Int = 1
|
||||
}
|
||||
Reference in New Issue
Block a user