Commit Graph

45134 Commits

Author SHA1 Message Date
svtk 39ac205b55 KT-250 Incorrect variable resolve in constructor arguments of superclass
KT-10 Don't allow to use properties in supertype initializers
KT-617 Prohibit dollars in call to superclass constructors
2011-12-02 14:18:36 +04:00
Andrey Breslav e2d22b8df1 Merge remote branch 'origin/master' 2011-12-01 22:34:04 +03:00
Andrey Breslav 13a1777d39 KT-702 Type inference failed 2011-12-01 22:33:43 +03:00
Andrey Breslav df733a5b60 Type checker moved to a separate package 2011-12-01 20:20:21 +03:00
Andrey Breslav 68d256c480 Equality moved to type checker 2011-12-01 20:19:13 +03:00
Alex Tkachman 6825fc8879 KT-665 wrong 0 on default long argument 2011-12-01 18:14:02 +02:00
Alex Tkachman 6febd82b99 Merge remote branch 'origin/master' 2011-12-01 17:27:12 +02:00
Alex Tkachman e8b76e8752 patches from Andrey & Sergey Ignatov 2011-12-01 17:26:54 +02:00
Stepan Koltsov 6115d77d41 one more test for instanceof erased 2011-12-01 18:23:52 +04:00
Stepan Koltsov b6e231a2bd better class name 2011-12-01 18:20:59 +04:00
Stepan Koltsov e3cf374f31 better error diagnostics 2011-12-01 18:16:15 +04:00
Stepan Koltsov 52c1e9a950 one more case of KT-445 Don't allow deep instanceof for erased parameters
===
(a : List<out Any>) is List<out Int>
===
2011-12-01 17:41:13 +04:00
Andrey Breslav a003e6d2e4 Merge remote branch 'origin/master' 2011-12-01 16:55:14 +03:00
Andrey Breslav eab9827958 Merge remote branch 'origin/master' 2011-12-01 16:41:38 +03:00
Andrey Breslav 69547aca6d Print a stacks trace of internal error when in internal mode 2011-12-01 16:41:17 +03:00
Nikolay Krasko 66821b407f Merge remote-tracking branch 'origin/master' 2011-12-01 16:48:58 +04:00
Nikolay Krasko eee0c02d65 KT-722 Don't show keywords after '.' 2011-12-01 16:47:16 +04:00
Andrey Breslav aad2d17cd8 'quick' directory renamed to 'tests' which reflects its contents 2011-12-01 14:40:31 +03:00
Andrey Breslav 8e8d74e199 Test directory renamed to 'diagnostics' which reflects its contents 2011-12-01 14:39:15 +03:00
Andrey Breslav 8cee193f47 Multifile tests supported
Example of a multifile test: you create a single file under the "quick" directory and put text of all your test files into it, prepending each file with a comment as follows:

// FILE: foo
class foo

// FILE: bar
class <!FOO!>bar<!>
2011-12-01 14:38:10 +03:00
Alex Tkachman 7155be418d fixing IDEA crash on stub building 2011-12-01 13:34:19 +02:00
Alex Tkachman df4f53752c Merge remote branch 'origin/master' 2011-12-01 12:58:37 +02:00
Andrey Breslav 8d439f6058 A quick and dirty fix for
KT-498 Very strange error in the type checker
2011-12-01 14:52:48 +03:00
Alex Tkachman 74fe24ef80 refactoring of property handling and general handling of (this,receiver) 2011-12-01 12:58:20 +02:00
Nikolay Krasko eac15880e5 Merge branch 'master' of git+ssh://git.labs.intellij.net/jet 2011-12-01 12:00:38 +04:00
Stepan Koltsov 957b2173d9 WritableScope.changeLockLevel()
This patch allows WritableScope "locking". WritableScope now has
three lock levels: reading, writing, both. Scope modification is
not allowed in "reading" state, scope data access is not allowed
in "writing".

Scope lock level can only be raised: from "writing" to "both" and
from "both" to "reading".

There are two reasons for this enhancement:

1. Code self-documentation. It is clear where WritableScope is used
as readonly scope. For example developers can see that class structure
is not modified after DelegationResolver.process(), because
MutableClassDescriptor.lockScopes() is called right after that
method.

2. Ease of debugging, program gets more assertions. For example,
if some scope is not yet filled and some member resolution is
triggered, IllegalStateException is thrown instead of wrong unresolved
reference.

Currently not all scope locks are configured strictly. In many cases
lock level is set to safe "both" value.
2011-11-30 23:24:02 +04:00
Stepan Koltsov aa4c6e8e8e Make proper scope for property declaration
Make sure same scope is used for both property creation and for properly body resolution.
This fixes KT-421 Strange 'unresolved' bug with backing fields.
2011-11-30 20:48:37 +04:00
Nikolay Krasko ffc5db6c35 Merge branch 'master' of git+ssh://git.labs.intellij.net/jet 2011-11-30 19:54:35 +04:00
Nikolay Krasko 1e3c45e65c KT-688: Show kotlin keywords as auto completion in IDEA 2011-11-30 18:33:37 +04:00
Pavel Talanov 26d9da8360 basic intrinsic implementation. very hacky 2011-11-30 17:42:17 +04:00
Pavel Talanov 9c9c9e3141 fix test 2011-11-30 17:42:16 +04:00
Pavel Talanov f8d342c207 Work on reference expression. Test fixes to follow. 2011-11-30 17:42:15 +04:00
Pavel Talanov ba767e7205 Reworked ExtractionVisitor into Declaration visitor. 2011-11-30 17:42:15 +04:00
Pavel Talanov 5ed130b745 Include standard library. 2011-11-30 17:42:14 +04:00
Pavel Talanov ee2cee31af Worked on namer. 2011-11-30 17:42:13 +04:00
Sergey Ignatov 9442dfd2a9 KT-641 Support @NotNull @Nullable annotations 2011-11-30 16:24:49 +04:00
Andrey Breslav 49c29dd323 KT-691 Allow to create nested namespaces with dot delimiter 2011-11-30 15:06:55 +03:00
Sergey Ignatov 9f8f34735d KT-675 Translate accessible parameters as a var parameters 2011-11-30 14:53:30 +04:00
Sergey Ignatov 03d3ac3502 fix override modifier when method overrides method only from java.lang.Object 2011-11-30 14:11:59 +04:00
Andrey Breslav 7fd7bdb2b8 KT-668 Failed to resolve generic parameter
Same lower and upper bounds cause an equality constraint to be created
2011-11-30 12:56:11 +03:00
Sergey Ignatov bcd0618fb4 fun name() : String and fun order() : Int added to each enum class 2011-11-30 13:23:02 +04:00
Andrey Breslav 5293d1553b // KT-630 Bad type inference 2011-11-30 11:02:03 +03:00
Andrey Breslav 82bddcc95b Merge remote branch 'origin/master' 2011-11-30 10:20:31 +03:00
Andrey Breslav 90c4b0e746 Raw strings: """ .. """ fixed 2011-11-30 10:20:19 +03:00
Stepan Koltsov 5075e30bb3 Revert "idea settings"
This reverts commit 52dc3bb7bb.

I hate git
2011-11-30 03:00:18 +04:00
Stepan Koltsov 4b025adde9 Revert "WritableScope.changeLockLevel()"
This reverts commit 1866a245fa.

Stupid git
2011-11-30 02:59:58 +04:00
Stepan Koltsov 1866a245fa WritableScope.changeLockLevel()
There are thress lock levels: reading, writing, both. Scope modification
is not allowed in "reading" and scope data access is not allowed in "writing".
2011-11-30 02:52:55 +04:00
Stepan Koltsov 52dc3bb7bb idea settings 2011-11-30 02:52:52 +04:00
Stepan Koltsov 72777733cd validate field names in JetScope
(field name must start with dollar sign)
2011-11-30 02:48:20 +04:00
Stepan Koltsov d984f6c4b8 make DeclarationDescriptor.toString safe
DescriptionRenderer may throw if this is not yet completely initialized
It is very inconvenient while debugging
2011-11-30 02:43:24 +04:00