Commit Graph

128 Commits

Author SHA1 Message Date
Svetlana Isakova 631961e761 Diagnostics & diagnostic factories refactoring 2012-02-27 21:39:26 +04:00
Andrey Breslav 963557f3c8 KT-1457 Subtyping doesn't work when type parameter is used indirectly in supertype declaration 2012-02-27 15:34:57 +04:00
Andrey Breslav cefd9d5ca2 KT-627 Drop Predicate expression 2012-02-27 12:58:23 +04:00
Andrey Breslav f049d27fa3 KT-1385 support multi line strings with templates 2012-02-24 14:25:31 +04:00
Svetlana Isakova cc244fad94 KT-1191 Wrong detection of unused parameters
KT-1219 Incorrect 'unused value' error in closures
2012-02-24 12:09:02 +04:00
Alex Tkachman 53bba59a4f dbl -> toDouble 2012-02-22 13:14:41 +02:00
Andrey Breslav b46e20c5c3 KT-1138 Need better diagnostic for case when method/constructor call is followed by class initializer or simple block 2012-02-22 11:51:37 +04:00
Alex Tkachman 181f4d444d fix for broken test 2012-02-21 15:45:43 +02:00
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