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
2011-11-30 03:00:18 +04:00
2011-11-30 23:24:02 +04:00
2011-11-23 11:15:49 +04:00
2011-11-29 21:03:42 +03:00
2011-02-25 15:27:45 +03:00
2011-11-03 12:28:37 +04:00
2011-11-25 15:52:29 +04:00
2011-11-08 20:48:01 +03:00
2011-02-25 15:27:45 +03:00
2011-04-28 20:09:47 +02:00
S
Description
The Kotlin Programming Language.
2.1 GiB
Languages
Kotlin 79.9%
Java 10.4%
Swift 4.3%
C 2.8%
C++ 2.1%
Other 0.3%