KT-650 Prohibit creating class without constructor

This commit is contained in:
svtk
2012-01-24 15:41:38 +04:00
parent ee5fcccda9
commit 70d0cd882b
43 changed files with 170 additions and 218 deletions
@@ -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>>()
+3 -3
View File
@@ -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
+9 -9
View File
@@ -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) {}
+1 -1
View File
@@ -8,7 +8,7 @@
fun test() {
A.x
val b = object : Foo {
val b = object : Foo() {
}
b.foo()
+2 -2
View File
@@ -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);
}
+7 -7
View File
@@ -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 {}
+1 -1
View File
@@ -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 -1
View File
@@ -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
}