Denis Zharkov
75e112e752
Implement basic support for coroutines in JVM backend
2016-06-08 18:53:16 +03:00
Denis Zharkov
20d1d12f3b
Revert "'yield' reserved as a keyword"
...
This reverts commit 434082cadb .
2016-06-08 18:53:16 +03:00
Denis Zharkov
1af9321c20
Revert "'async' reserved in front of function literals"
...
This reverts commit 6155d836a5 .
2016-06-08 18:53:16 +03:00
Denis Zharkov
7d3333e86e
Revert "Reserve "async* {}", extend the quick-fix"
...
This reverts commit a7e7d53e2b .
2016-06-08 18:53:16 +03:00
Denis Zharkov
372791eb15
Replace common extension receiver of coroutine-lambda with magic one
...
Currently it only contains additional synthetic declarations for suspend-functions
E.g. `fun <V> await(f: CompletableFuture<V>): V` for `fun <V> await(f: CompletableFuture<V>, machine: Continuation<V>): Unit`
2016-06-08 18:53:16 +03:00
Denis Zharkov
8f4ee0528e
Implement operator checks for controller's handleResult
2016-06-08 18:53:16 +03:00
Denis Zharkov
fcbff72f6f
Replace expected type for coroutine-lambda
...
Use 'handleResult' method of controller to determine what lambda should return
If original declaration was
fun builder(coroutine c: Controller.() -> Continuation<Unit>) = 1
and there is 'fun handleResult(x: X, c: Continuation<Nothing>)',
then expected type for lambda is 'Controller.() -> X'
2016-06-08 18:53:16 +03:00
Denis Zharkov
329fb9d619
Introduce 'coroutine'/'suspend' modifiers
2016-06-08 18:53:16 +03:00
Dmitry Petrov
9c74f27967
Type alias can't expand to 'dynamic'
2016-06-08 15:55:52 +03:00
Dmitry Petrov
ef4c3bdae8
Don't expand types that don't contain type aliases or type parameters.
2016-06-08 15:55:52 +03:00
Dmitry Petrov
cb08d976d3
Tests for importing type aliases
2016-06-08 15:55:52 +03:00
Mikhail Glukhikh
4b6b35dadf
Type parameter is considered capable of taking any value for the purpose of cast possibility check #KT-6611 Fixed
2016-06-08 15:25:34 +03:00
Ilya Chernikov
e8c13882b4
Make script detection API generic, fix tests
2016-06-07 21:13:05 +02:00
Ilya Chernikov
3e6616de42
Read script config if appropriate flag is specified, fix classpath handling
2016-06-07 21:12:58 +02:00
Ilya Chernikov
3e17724e58
Implement class finder for customized scripts resolving - not yet completely functional
2016-06-07 21:12:54 +02:00
Ilya Chernikov
b63ed0f4aa
Make script launcher aware of custom scripts, minor correction is core env
2016-06-07 21:12:53 +02:00
Ilya Chernikov
834bb51643
Add tests with partial classpath for script compilation
2016-06-07 21:12:39 +02:00
Ilya Chernikov
3c1503564e
Add possibility to specify supertypes for script, with tests
2016-06-07 21:11:23 +02:00
Ilya Chernikov
670627ac4e
Add helpers, compilation function and tests for passing classes as a parameters to a script
2016-06-07 21:11:23 +02:00
Alexander Udalov
61290d1225
Temporarily disable inline for bound function references
2016-06-07 12:43:10 +03:00
Alexander Udalov
b9e61f035f
Support bound callable references in codegen
2016-06-07 12:43:09 +03:00
Alexander Udalov
526a64dc36
Pass data flow info from '::' expressions, fix expected type
2016-06-07 12:43:07 +03:00
Alexander Udalov
e2d6e0cbab
Propagate control flow to bound double colon expressions
...
"Unused expression" should be reported on unused double colon expressions, this
is postponed
#KT-12551 Open
2016-06-07 12:42:42 +03:00
Alexander Udalov
0ce6bd9999
Ignore resolution to function without arguments on LHS of '::'
...
In the expression "Runnable::run" we were resolving the left-hand side to the
SAM constructor of Runnable. Now we detect this situation, ignore the result of
such resolution, and continue resolving the LHS as a type
2016-06-07 12:42:19 +03:00
Alexander Udalov
04c190231a
Support bound references to objects and companion objects
...
Tweak member extension detection a little bit to prohibit extensions imported
from objects (they don't have one of the receiver parameters)
2016-06-07 12:41:30 +03:00
Alexander Udalov
d90b40c661
Use LanguageFeatureSettings instead of custom option for bound callable references
2016-06-07 12:41:29 +03:00
Dmitry Petrov
872b3e8a52
DeclarationsChecker runs checks on type alias declarations.
...
TYPEALIAS_SHOULD_EXPAND_TO_CLASS diagnostics
(implemented for type aliases expanded to type parameters).
2016-06-06 13:50:37 +03:00
Dmitry Petrov
ea249244c5
'where' clause in type alias declaration is a syntax error
...
(type alias parameters can't have bounds)
2016-06-06 13:50:37 +03:00
Dmitry Petrov
772fe5badb
Treat unsupported or malformed type alias as a type alias with error types.
2016-06-03 16:07:20 +03:00
Dmitry Petrov
3500f5a96b
Type alias: resolve type alias RHS during force-resolve.
2016-06-03 16:07:20 +03:00
Dmitry Petrov
df335b9e8d
Type aliases: do not reparse RHS of type alias declaration in expanded type resolution
2016-06-03 16:07:20 +03:00
Mikhail Glukhikh
a22e7d3bcf
KT-12152 : leaking this inspection: accessing non-final member / this in non-final class
2016-06-03 14:45:58 +03:00
Mikhail Glukhikh
be40cf8138
KT-12152 : constructor consistency: distinguish properties with and w/o backing fields, with default / custom accessors
2016-06-03 09:45:49 +03:00
Mikhail Glukhikh
422ea4c6cb
KT-12152 : constructor consistency: handle open property accessing
2016-06-03 09:45:45 +03:00
Mikhail Glukhikh
f7b5d67543
KT-12152 : constructor consistency: handle non-final classes
2016-06-03 09:45:41 +03:00
Mikhail Glukhikh
8e18165065
KT-12152 : constructor consistency analysis, base cases
2016-06-03 09:45:37 +03:00
Mikhael Bogdanov
092be8ca8e
Don't generate unnecessary checkcast to java.lang.Number
2016-06-02 16:01:05 +03:00
Mikhael Bogdanov
a6cf169646
Fix for KT-12582: "VerifyError: Bad local variable type" caused by explicit loop variable type
...
#KT-12582 Fixed
2016-06-02 16:01:05 +03:00
Mikhael Bogdanov
c7d97c63a8
Small refactoring in constant processing
2016-06-02 16:01:03 +03:00
Nikolay Krasko
3f4cde3d25
NoSuchFieldError in Evaluate Expression on a property of a derived class (KT-12206)
...
#KT-12206 Fixed
2016-06-02 14:39:51 +03:00
Alexander Udalov
1339286261
Drop undocumented absolute name specification feature with 'package.'
2016-06-01 19:30:03 +03:00
Dmitry Petrov
0319d5a5aa
KT-11588 Type aliases
...
- Nested type aliases
- UNSUPPORTED_TYPEALIAS error (language level < 1.1)
- tests for is/as/as? with type alias
2016-06-01 14:32:46 +03:00
Dmitry Petrov
e979300579
KT-11588 Type aliases
...
Diagnostics for type arguments substitution in type alias expansion
(initial implementation; TODO: refactor).
2016-06-01 14:32:46 +03:00
Dmitry Petrov
9cf8ef287e
KT-11588 Type aliases
...
Additional tests for generic type alias arguments.
Small refactoring in TowerLevels.
2016-06-01 14:32:45 +03:00
Dmitry Petrov
62f8d00f89
KT-11588 Type aliases
...
Create substituted constructor descriptors for generic type aliases.
2016-06-01 14:32:45 +03:00
Dmitry Petrov
c63166047c
KT-11588 Type aliases
...
Additional tests for type alias constructor & companion object:
- codegen
- error diagnostics
2016-06-01 14:32:45 +03:00
Dmitry Petrov
1329a43d89
KT-11588 Type aliases
...
Type alias constructor
2016-06-01 14:32:44 +03:00
Dmitry Petrov
4a9507b3ab
KT-11588 Type aliases
...
Type alias companion object
2016-06-01 14:32:44 +03:00
Mikhael Bogdanov
0f1589fd50
Fix for KT-12200: initial property assignment ignored
...
#KT-12200 Fixed
2016-05-31 15:27:55 +03:00
Mikhael Bogdanov
bdc0b6b308
Local delegated properties moved to language feature option
2016-05-31 15:27:55 +03:00