Commit Graph

63359 Commits

Author SHA1 Message Date
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
Stepan Koltsov 60214b4f59 safer PropertyDescriptor.getOutType()
Add @NotNull annotation because getOutType must not return null for PropertyDescriptor
2011-11-30 02:42:56 +04:00
Andrey Breslav e9a9562efa Test for KT-398 Internal error when property initializes with function 2011-11-29 22:16:13 +03:00
Andrey Breslav 291f508edc KT-604 Internal frontend error 2011-11-29 22:14:31 +03:00
Andrey Breslav be29dd9155 Test for kt-524 2011-11-29 22:14:16 +03:00
Andrey Breslav dd4cc1686d Tests for recently fixed bugs 2011-11-29 22:11:42 +03:00
Andrey Breslav 8a93421ecb KT-597 Type inference failed
Resolution rules changed: now autocast and non-autocast candidates are judged together
2011-11-29 21:03:42 +03:00
svtk 2849c58d47 Merge remote-tracking branch 'origin/master' 2011-11-29 19:04:30 +04:00
svtk ba49f508c9 KT-609 Analyze not only local variables, but function parameters as well in 'unused values' analysis 2011-11-29 19:04:15 +04:00
Sergey Ignatov 5ff82035ba KT-599 Initialize fields without initializers 2011-11-29 17:22:47 +04:00
Sergey Ignatov 69cad97689 KT-667 UNSUPPORTED TOKEN TYPE: TILDE 2011-11-29 16:10:24 +04:00
Alex Tkachman ce1718e518 better handling of empty if/else blocks 2011-11-29 11:56:30 +02:00
Sergey Ignatov acc9d70dab KT-656 Convert java.lang.Iterable with full qualified name 2011-11-29 13:44:01 +04:00
Nikolay Krasko 84cb0a179a KT-622 Add when without condition. (Only changes for parsing were added. A special task for semantic level is KT-657) 2011-11-29 12:48:08 +04:00
Sergey Ignatov 876ba8736b KT-652 Convert correctly statements with prohibited qualifiers inside 2011-11-29 12:44:49 +04:00
Alex Tkachman e787d94b96 ++/-- performance optimization 2011-11-29 09:35:11 +02:00
Stepan Koltsov 4fc41f4ad9 mark syntax errors in QuickJetPsiCheckerTest 2011-11-29 01:55:39 +04:00
Andrey Breslav 8498280b0e Debug output removed 2011-11-28 21:52:04 +03:00
Andrey Breslav a7d61bc433 Merge remote branch 'origin/master' 2011-11-28 21:44:16 +03:00
Andrey Breslav 11e957a87d "Resolve window" for debugging purposes 2011-11-28 21:44:10 +03:00
Sergey Ignatov 9065a54462 /s/std.java.compatibility/std.compatibility/g 2011-11-28 20:14:06 +04:00
Sergey Ignatov d8aa18ab0f KT-635 Import std.java.compatibility 2011-11-28 20:14:06 +04:00
Sergey Ignatov 1ccdec706b KT-639 Collect all classes for convertation and only for those classes use mechanism with static init functions invocation 2011-11-28 20:14:06 +04:00
Sergey Ignatov e173084798 KT-564 Move "constructor body" to beginning of the class 2011-11-28 20:14:06 +04:00
svtk f5667874b0 Merge remote-tracking branch 'origin/master'
Conflicts:
	compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingVisitor.java
2011-11-28 18:40:24 +04:00
svtk fc943049d3 KT-629 Assignments are parsed as expressions 2011-11-28 18:38:40 +04:00