Michael Bogdanov
8d2ffb2dab
Fix wrong "InlineProperties are unsupported at this language level" error on inline functions when inline properties are disabled
2016-09-07 17:39:09 +03:00
Mikhail Zarechenskiy
3ad451e33e
Partly support generics and nullable types as parameters for script templates
2016-09-07 17:24:19 +03:00
Michael Bogdanov
7230965e62
Support for property reference inlining
2016-09-07 12:01:49 +03:00
Michael Bogdanov
237afb4b7c
Mark linenumber in property reference
2016-09-07 12:01:48 +03:00
Michael Bogdanov
b4ae70139a
PropertyReferenceCodegen refactoring
2016-09-07 12:01:48 +03:00
Michael Bogdanov
a12d7b6019
Check lambda inlining in package part files in test framework
2016-09-07 12:01:47 +03:00
Dmitry Petrov
f2b8569b4b
KT-13735 NoSuchMethodError for generic typealias acces
...
Use underlying constructor descriptor for type alias constructor code generation.
2016-09-07 09:46:00 +03:00
Alexander Udalov
1be3b9c192
Exclude more irrelevant maven-generated stuff in CodeConformanceTest
2016-09-05 16:44:54 +03:00
Alexander Udalov
cb209074d3
Minor, add regression test on incomplete code with callable reference
...
#KT-13685 Fixed
(cherry picked from commit c8b30d3310c990193414d7f82bedd50189e0109c)
2016-09-05 13:13:57 +03:00
Nikolay Krasko
4a0f14b64b
Minor: toString() for NONE filter
2016-09-02 13:41:24 +03:00
Nikolay Krasko
52dd02fe08
Make changes in super call lambda not cause out-of-block modification (KT-13474)
...
#KT-13474 Fixed
2016-09-02 13:41:24 +03:00
Nikolay Krasko
ec6780b49c
Use AtomicLong for modification stamp
2016-09-02 13:41:24 +03:00
Nikolay Krasko
043502f836
Minor: remove warnings and refactoring
2016-09-02 13:41:24 +03:00
Dmitry Petrov
e0cdad30e4
KT-13181 Unresolved reference when referencing a type alias from a different module
...
Add corresponding resolution code.
2016-09-02 10:18:23 +03:00
Dmitry Petrov
6428a7655d
KT-13422 Type alias for Java exception class can be used as an object in 'throw' expression
...
Report NO_COMPANION_OBJECT for type aliases.
2016-09-02 10:18:22 +03:00
Stanislav Erokhin
9fa6fb213b
Potential fix for some random errors about "cannot choose between equals invoke functions".
2016-09-01 18:01:56 +03:00
Stanislav Erokhin
bebc75c8ef
Set reference target and report custom error instead unresolved reference for cases: interface, generic parameter, object + invoke, class without companion.
...
#KT-2787 Fixed.
2016-09-01 18:01:55 +03:00
Stanislav Erokhin
eb6f444c19
Minor. rename context -> candidateFactory
2016-09-01 18:00:23 +03:00
Stanislav Erokhin
0072d6004a
Refactoring: rename TowerContext to CandidatesFactory, InvokeTowerContext to CandidateFactoryProviderForInvoke.
2016-09-01 18:00:22 +03:00
Stanislav Erokhin
c910646eda
Refactoring: remove name from ScopeTower.
2016-09-01 18:00:21 +03:00
Stanislav Erokhin
aa5be2ec7b
Refactoring remove scopeTower from TowerContext.
2016-09-01 18:00:21 +03:00
Stanislav Erokhin
ddb75abe30
Rename ScopeTower to ImplicitScopeTower.
2016-09-01 18:00:20 +03:00
Stanislav Erokhin
0c60cda22a
Refactoring: replace ReceiverValue to ReceiverValueWithSmartCastInfo, Receiver to DetailedReceiver
2016-09-01 18:00:20 +03:00
Stanislav Erokhin
d4a2cad35c
Refactoring move DataFlowValue back to frontend module.
2016-09-01 18:00:19 +03:00
Stanislav Erokhin
58fd24943d
Refactor DataFlowDecorator.
2016-09-01 18:00:18 +03:00
Stanislav Erokhin
ca6c6ae0f3
Refactoring. Move creation of functionProcessor into resolution module.
2016-09-01 18:00:17 +03:00
Ilya Gorbunov
5dc31d2614
Mock-runtime isn't available when this configurations is run on teamcity.
2016-09-01 15:07:23 +03:00
Denis Zharkov
cebe67d90c
Fix default value generation after suspension point
...
Replace coercion from VOID with call 'pushDefaultValueOnStack'
It's necessary because coercion of VOID to java/lang/Object ends with Unit instance on stack
that makes variables spilling algorithm thinking that variable is Unit
#KT-13409 Fixed
2016-09-01 15:03:31 +03:00
Denis Zharkov
1226d8fc2c
Refine 'handleResult' calls generation within coroutines
...
Before this change everything works just fine for 'handleResult' methods
accepting non-Unit parameters
For other cases the same coercion-to-unit strategy is in plain lambdas:
- if last statement is not Unit type, execute it, pop from the stack, then put Unit instance
- for 'return@label' (no expression) just put Unit on the stack
#KT-13531 Fixed
2016-09-01 15:03:31 +03:00
Denis Zharkov
12dad29336
Minor. Cleanup block codegen
...
- Clarify variable names
- Use explicit condition 'statements.isEmpty()' instead of implicit one 'answer == null'
2016-09-01 15:03:31 +03:00
Alexey Sedunov
2f9a911624
Introduce Type Parameter
...
#KT-13155 Fixed
2016-09-01 13:43:44 +03:00
Mikhail Glukhikh
cd717467f0
Nested classes are no more allowed inside any anonymous objects or local classes #KT-13510 Fixed
...
(cherry picked from commit 5c3ec6c)
2016-08-31 19:28:13 +03:00
Mikhail Glukhikh
f8039249c6
CFA: additional jumps to catch / finally generated in the end of try / before exits from try #KT-5469 Fixed
...
Also #KT-13612 Fixed
(cherry picked from commit 7c188b3)
2016-08-31 19:28:09 +03:00
Mikhail Glukhikh
6a9d058db4
UNUSED_VALUE is now reported on expression only if this expression is unused in all (e.g. finally) branches #KT-9825 Fixed
...
(cherry picked from commit aac8e94)
2016-08-31 19:28:00 +03:00
Valentin Kipyatkov
1674beb64b
Initial implementation of faster component function usage search
2016-08-31 19:12:19 +03:00
Alexey Sedunov
4e2c4d941d
Rename: Support inplace rename on type parameters
2016-08-31 11:28:04 +03:00
Alexey Sedunov
3405051bcc
Misc: Use default presentation for KtTypeAlias
...
#KT-13611 Fixed
2016-08-31 11:28:02 +03:00
Yan Zhulanow
9960e7f7cd
Kapt: Get rid of the 'compiler-tests' dependency in 'plugins-tests'
...
(cherry picked from commit bb370f1)
2016-08-29 16:31:16 +03:00
Yan Zhulanow
407af3a0e5
Kapt: Gradle plugin for the new kapt
...
(cherry picked from commit f4fc8f1)
2016-08-29 16:31:16 +03:00
Yan Zhulanow
84d62f37eb
Kapt: Analyze sources again if the received analysis result is 'RetryWithAdditionalJavaRoots'. ->
...
Add additional Java roots to Java source roots and clear diagnostic messages before the next analysis round.
(cherry picked from commit 17ad807)
2016-08-29 16:31:16 +03:00
Yan Zhulanow
884e653490
Kapt: Add ability to get constant value from KtLightAnnotation
...
(cherry picked from commit 7180961)
2016-08-29 16:31:16 +03:00
Alexey Sedunov
63092f6985
Create from Usage: Implement "Create type parameter" quickfix
...
#KT-11525 Fixed
2016-08-29 16:20:32 +03:00
Alexey Sedunov
6a2edabbd4
Create from Usage: Implement "Create type alias" quickfix
...
#KT-12904 Fixed
2016-08-29 14:13:56 +03:00
Alexander Udalov
3298649bd7
Support "-no-reflect" in "kotlin" command
...
#KT-13491 Fixed
2016-08-26 15:17:00 +03:00
Mikhail Glukhikh
902232c8ad
CFG refactoring: extractVariableDescriptorFrom
...
(cherry picked from commit 95add79)
2016-08-26 14:15:08 +03:00
Nikolay Krasko
d9b116c6d6
Remove net/sf/cglib/ classes from Kotlin compiler (KT-13565)
...
(cherry picked from commit eb160a2)
#KT-13565 Fixed
2016-08-25 15:35:10 +03:00
Mikhail Glukhikh
25eefdb6ec
Pseudocode label now cannot be bound to a non-owning pseudocode #KT-13555 Fixed
...
Also EA-77641 Fixed
(cherry picked from commit 07643ce)
2016-08-25 10:32:04 +03:00
Mikhail Glukhikh
08f8a2b75c
PseudocodeLabel is extracted from PseudocodeImpl (now not an inner class), some its properties / functions are supported now by base Label
...
(cherry picked from commit 30dd52e)
2016-08-25 10:31:53 +03:00
Mikhail Glukhikh
41ff51ca8c
Label.java converted to Kotlin
...
(cherry picked from commit 3891d76)
2016-08-25 10:30:49 +03:00
Mikhail Glukhikh
ea041661fb
CFG: break and continue are now handled in the same (safe) way EA-85060 Fixed
...
(cherry picked from commit eec4b1b)
2016-08-25 10:30:41 +03:00