Commit Graph

691 Commits

Author SHA1 Message Date
Svetlana Isakova 1610e7eefd fixes after merge 2012-02-27 22:11:13 +04:00
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
Evgeny Gerashchenko f84d22f040 Got rid of LinkedMultiMap, since it is added to IDEA platform. 2012-02-27 12:36:30 +04:00
Nikolay Krasko 782ea7b1c3 getElement() and getRangeInElement() are expected to return non-nullable values 2012-02-24 23:04:57 +04:00
Andrey Breslav d22f4eb144 Rename getOutType() -> getType() 2012-02-24 18:50:40 +04:00
Andrey Breslav 1f4f4e5c24 Remove the annoying misconcetion in the naming. 2012-02-24 18:39:35 +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
James Strachan 0212f91343 add some helper classes so that we can implement kdoc fully in kotlin (to work around some inference ambiguity bugs) 2012-02-23 11:54:24 +00:00
Stepan Koltsov 35e157e9c5 fix tests 2012-02-23 01:18:11 +04:00
Stepan Koltsov b9ba7c6b9a hide FunctionDescriptor.initialize 2012-02-22 22:11:04 +04:00
Stepan Koltsov b9bc882bf9 useless constructor modality parameter 2012-02-22 22:10:58 +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
Stepan Koltsov 71f62f872f fix stdlib compilation after javabean refactoring 2012-02-21 23:54:16 +04:00
Stepan Koltsov aacf63ff6f reading annotations from bytecode
(without fields yet)
2012-02-21 20:16:11 +04:00
Alexander.Podkhalyuzin e012f1e34b KT-1328 removing single class from file, should remove file too. Also changed file icon to one of containing classes icon. 2012-02-21 17:40:29 +04:00
Alex Tkachman af437481a2 Merge remote branch 'origin/master' 2012-02-21 14:57:47 +02:00
Alex Tkachman 8b622f97f4 getting rid of TypeInfo 2012-02-21 14:54:00 +02:00
Alexander.Podkhalyuzin 2e2287f207 KT-1274 fixed tests 2012-02-21 16:10:13 +04:00
Evgeny Gerashchenko 478bf8ac0f Fixed order of automatically implemented abstract members.
#KT-1357 fixed
2012-02-21 15:25:15 +04:00
Alexander.Podkhalyuzin deac0e20ca Fixed undo action after introduce variable.
Important: All created nodes shouldn't be physical.
2012-02-21 14:54:39 +04:00
Andrey Breslav 2ff896cc5a Cleaned up Kompiler's error reporting 2012-02-21 12:52:59 +04:00
Andrey Breslav bff62484b1 KT-1306123.lng or 123.sht is not good name 2012-02-20 21:42:13 +04:00
Stepan Koltsov 5eb483b7a7 better error reporting on incomplete hierarchy in JDR 2012-02-20 21:28:10 +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
Stepan Koltsov 5077404c80 no overriden descriptors in ErrorNamedFunctionDescriptorImpl
fixes stack overflow in KT-1206
2012-02-20 17:09:00 +04:00
Nikolay Krasko 00fa077c34 KT-1294 Class rename fails to update import statement and breaks the code - add test for different packages and public java class. 2012-02-20 15:16:50 +04:00
Nikolay Krasko 9689c30a58 KT-1294 Class rename fails to update import statement and breaks the code - avoid multireference resolve for java classes 2012-02-20 15:16:49 +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 1172e49f8a cleanup after refactoring
merge property- and named-function- related code in OverrideResolver
2012-02-19 22:02:40 +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 943c1efc32 remove unused code in OverrideResolver 2012-02-18 00:33:43 +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
Andrey Breslav a87c0903f2 KT-224 "Overload ambiguity" when calling toString() method 2012-02-17 21:01:24 +04:00
Nikolay Krasko e4cefd000a KT-1229 Packages should be showed in package derictive 2012-02-16 15:35:54 +04:00
Stepan Koltsov b67bb356bd fix inner classes in JavaDescriptorResolver, kill type variable by psi resolver 2012-02-15 00:02:06 +04:00
Stepan Koltsov 9248cf9659 Important JavaDescriptorResolver refactoring
This patch implement own member filling with supertype scope. Before this patch JDR relied on
Idea hierarchy resolver.

This patch does two things:

* copies FunctionDescriptors from supertype scopes
* rewrites containingDeclaration similary to how it is done in previous patch

Patch is incomplete, in particular properties are not yet initialized properly, code needs cleanup,
however the most important part of refactoring is done, and tests pass.
2012-02-15 00:02:03 +04:00
Alefas 39d442b04f Declare Variable, Add type annotation action for Introduce Variable feature. 2012-02-14 21:32:13 +04:00
Maxim Shafirov a03922d467 Copyrights set to Apache, reflecting it's now open source 2012-02-14 19:25:06 +04:00
Stepan Koltsov 1d2e02afb4 use MutableClassDescriptorLite instead of MutableClassDescriptor
where MutableClassDescriptor is not necessary
2012-02-14 17:34:29 +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
Alex Tkachman a2b602a440 KT-694 - support for simple enums 2012-02-11 13:00:28 +02:00
Stepan Koltsov 4ec59edb9e rename NamedFunctionDescriptorErrorImpl -> ErrorNamedFunctionDescriptorImpl 2012-02-10 20:40:47 +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
Nikolay Krasko 21394c8486 - KT-1232 Do not place import with default imports in scope after completion
- Don't activate not-in-scope completion on typing by default
2012-02-10 16:27:05 +04:00