Commit Graph

218 Commits

Author SHA1 Message Date
Andrey Breslav bff62484b1 KT-1306123.lng or 123.sht is not good name 2012-02-20 21:42:13 +04:00
Svetlana Isakova b35d340056 KT-1270 Poor highlighting when trying to dereference a nullable reference 2012-02-20 20:12:57 +04:00
Svetlana Isakova 05dfdc7377 KT-1293 Kompiler doesn't show error when element of Array<Int?> is assigned to Int 2012-02-20 17:31:08 +04:00
Svetlana Isakova 046c13a264 KT-1041 Add check that thrown/catched expression is of Throwable type 2012-02-20 14:03:39 +04:00
Stepan Koltsov ea8eb7412a kill redeclaration handler in ClassDescriptor 2012-02-19 22:02:37 +04:00
Stepan Koltsov ca8cf6cb49 missing error report on incompatible declaration
===
open class Aaaa() {
    fun bb() = 1
}

class Bbbb() : Aaaa() {
    fun <T> bb() = 1
}
===
2012-02-19 22:02:33 +04:00
Stepan Koltsov 842a70ca66 report conflicting overloads in functions with same parameters different type parameters
test case:

===
class Aaa() {
    fun f() = 1
    fun <P> f() = 1
}
===
2012-02-18 00:33:37 +04:00
Stepan Koltsov 3b56b90a7c split ConflictingOverloads.jet test, add property overload conflict test 2012-02-18 00:33:26 +04:00
Stepan Koltsov e3fdc5d595 fix a case of fake override of abstract and non-abstract function
===
open class Ccc() {
    fun foo() = 1
}

trait Ttt {
    fun foo(): Int
}

class Zzz() : Ccc(), Ttt // there must not be an error here
===

Reported by Andrey Breslav as a bug of Comparator implementation:

===
fun comparator<T>(f: (T, T) -> Int): Comparator<T> = object : Comparator<T>, Object() {
    override fun compare(o1: T, o2: T): Int = f(o1, o2)
}
===
2012-02-13 23:34:01 +04:00
Stepan Koltsov 4b94eb5e2b rewrite owner when copying FunctionDescriptor from supertype scope
that fixes invocation:

>>> StringBuilder.length()

that was compiled to

>>> invokevirtual CharSequence.length()

and now compiles to

>>> invokevirtual StringBuilder.length()

Essentially patch rewrites FunctionDescriptor.containingDeclaration
when FunctionDescriptor is copied to subclass scope.

FunctionDescriptor now has kind field that can be
* DECLARATION (for "real" function, maybe abstract)
* DELEGATION
* FAKE_OVERRIDE (created for functions from supertypes)

All tests pass although some parts of code are buggy and ugly.

Random comments about this patch:

* FunctionDescriptor.overrides point to function descriptors of supertype scopes

* Filling of memberScope with supertypes is moved to OverrideResolver

* ExpressionCodegen.intermediateValueForProperty must be rewritten

* Patch adds not nice REDECLARATION reports (see compiler/testData/diagnostics/tests/*).
  Will be fixed later.
2012-02-10 20:36:40 +04:00
Evgeny Gerashchenko b6fe7fe85f Added compiler diagnostic for unresolved IDE templates. 2012-02-10 12:38:46 +04:00
Stepan Koltsov 6a8f2e14fb another case in JetDiagnosticsTest
simple unclassified case not covered by other tests
2012-02-09 22:25:11 +04:00
Stepan Koltsov bb0cf4f92f JetDiagnosticsTest: diamond with generics 2012-02-09 19:04:17 +04:00
svtk 255e37efb9 KT-799 Allow 'return' expressions in conditionals assigned to variables 2012-02-09 12:58:17 +04:00
Stepan Koltsov 0c821f947d split diagnostics/Override.jet test 2012-02-08 00:55:43 +04:00
Stepan Koltsov 9015ce29c2 diamond inheritance in JetDiagnosticsTest 2012-02-04 11:59:57 +04:00
Stepan Koltsov 3623c7fc59 OverrideFunctionWithParamDefaultValue test in JetDiagnosticsTest 2012-02-04 11:59:54 +04:00
svtk 0632f90c53 KT-1193 Check enum entry supertype 2012-02-03 20:35:29 +04:00
Andrey Breslav 649a639bba Test for
KT-274  Add Enumeration.iterator () method in global namespace
2012-02-03 15:04:14 +04:00
Andrey Breslav abd0932dfe Test for
KT-274  Add Enumeration.iterator () method in global namespace
2012-02-03 15:00:55 +04:00
svtk 75f1f06862 test for KT-1028 2012-02-03 13:14:50 +04:00
svtk 34ee879094 KT-1189 StackOverflow in ide 2012-02-03 13:14:28 +04:00
svtk 6251b413a2 New check rules for inc, plus & plusAssign
KT-1176 arrayList[0]++. Setter is stored for array access expression when it's needed
2012-02-03 12:10:12 +04:00
svtk 1cb4c89c5c Mark only brackets when array access expression is unresolved 2012-02-03 12:10:12 +04:00
Stepan Koltsov c88940c07c split diagnostics/alt-headers test 2012-01-31 22:22:39 +04:00
Andrey Breslav 6f97101810 A new test for alt-headers 2012-01-31 11:41:41 +04:00
Andrey Breslav b257ad4fa0 Temporarily revert to debug the tests 2012-01-30 22:25:08 +04:00
Andrey Breslav 7a7db291cc Test fixed (nullability) 2012-01-30 22:12:03 +04:00
svtk 1d71e820bb KT-1185 Support full enumeration check for 'when' 2012-01-30 13:39:44 +04:00
svtk 11ad28812d KT-1175 Mark unused literals 2012-01-27 18:32:55 +04:00
svtk 1ed5471341 KT-559 Forbid abstract method call through super 2012-01-27 11:48:51 +04:00
svtk fc8bc52ea2 KT-1141 No check that object in 'object expression' implements all abstract members of supertype 2012-01-26 15:22:16 +04:00
Andrey Breslav 92e496c43b Constructors for Java annotations 2012-01-26 13:43:46 +04:00
svtk 7678815f17 KT-1156 Throwing exception on the right side of elvis operator marks code unreachable 2012-01-26 12:58:14 +04:00
Andrey Breslav 91337b8d9c Basic annotations on classes 2012-01-25 20:37:59 +04:00
Andrey Breslav 3130580d59 Test fixed 2012-01-25 20:12:28 +04:00
Andrey Breslav f8123e5fb3 Basic support for Java and Kotlin annotations 2012-01-25 19:35:42 +04:00
svtk c9cba3e1cc KT-939 CommonSupertypes erases scopes associated to types 2012-01-25 13:53:07 +04:00
Andrey Breslav 90b98a63b5 KT-1130 Remove ref from keywords 2012-01-25 13:12:42 +04:00
svtk 930eb255b2 fix after merge 2012-01-24 16:58:29 +04:00
svtk 70d0cd882b KT-650 Prohibit creating class without constructor 2012-01-24 16:58:29 +04:00
Nikolay Krasko fa6109a843 KT-1036 JetFile -> PsiJavaFile cast problem - one more test for changed diagnostic behaviour 2012-01-24 16:32:41 +04:00
svtk b3eb44e769 removed some string methods from library.jet 2012-01-20 19:32:12 +04:00
svtk 8ec8fa47a4 KT-1078 Problem with visibility in do-while 2012-01-20 14:52:48 +04:00
svtk c09806da79 KT-1066 false 'Variable cannot be initialized before declaration' 2012-01-20 14:01:31 +04:00
svtk 936a081bae KT-1075 No type check for 'in range' condition in 'when' expression 2012-01-20 12:10:34 +04:00
svtk 7fae503a38 KT-1080 Don't use previously imported packages while resolving import references 2012-01-20 11:58:17 +04:00
svtk cc3a7448dc KT-657 Semantic checks for when without condition 2012-01-18 19:28:39 +04:00
svtk becd713111 KT-234 Force when() expressions to have an 'else' branch
KT-973 Unreachable code
2012-01-18 13:31:42 +04:00
svtk 94e3cc9976 Merge remote-tracking branch 'origin/master' 2012-01-17 15:43:17 +04:00