Dmitry Jemerov
cc29e28b2d
Merge pull request #949 from calexHG/patch-1
...
Fix KtTypeReference.hasParentheses() to check for both LPAR and RPAR
2016-09-12 11:44:29 +03:00
Alexander Udalov
90eafe0d71
Fix reflective access on overridden generic property reference
...
Generation of callable reference's signature in codegen should use the same
mechanism for obtaining the signature as the runtime in RuntimeTypeMapper,
namely DescriptorUtils.unwrapFakeOverride(...).original
#KT-13700 Fixed
2016-09-12 10:39:21 +03:00
Denis Zharkov
6845d0958a
Refine AALOAD handling in OptimizationBasicInterpreter
...
See comment in test data for clarifications
#KT-13289 Fixed
2016-09-12 10:26:06 +03:00
Yan Zhulanow
015130832b
Kapt: allow to use Kapt from compileBunchOfSources()
2016-09-10 17:36:53 +03:00
Yan Zhulanow
975364b2ed
Kapt: Provide SourceRetentionAnnotationHandler for incremental compilation.
...
Collect annotations with the "SOURCE" retention.
(cherry picked from commit 6ef66e7)
2016-09-10 17:36:15 +03:00
Yan Zhulanow
471ddc5a93
Kapt: Write annotations with the "SOURCE" retention if kapt2 is enabled
...
(cherry picked from commit 6177b2b)
2016-09-10 17:36:15 +03:00
Yan Zhulanow
824b778a7b
Kapt: support multiple annotation processing steps (KT-13651)
...
(cherry picked from commit 880e183)
2016-09-10 17:36:15 +03:00
Yan Zhulanow
941d016cef
Kapt: abort compilation on error in annotation processing stage (KT-13622)
...
(cherry picked from commit f78b8b4)
2016-09-10 17:36:15 +03:00
Corey Hates Git
1d139d6b53
Fix KtTypeReference.hasParentheses() to check for both LPAR *and* RPAR, as was originally intended
...
Minor typo fix. A year old typo had this redundantly checking for LPAR twice, rather than checking once for LPAR and once for RPAR.
2016-09-10 02:39:44 -04:00
Denis Zharkov
fc5217f7fc
Fix signature clash problems caused by special built-ins
...
Do not treat members with already changed signature as a reason
to create a hidden copy
See tests for clarification:
- There are `charAt` method in B that has different name in Kotlin - `get`,
i.e. relevant descriptor has initialSignatureDescriptor != null
- When collecting methods from supertypes, `charAt` from A is also get
transformed to `get`
- So it has effectively the same signature as B.get (already declared)
- If by an accident B.get had been declared with Kotlin signature
we would have add A.charAt (after transformation) with special flag:
HiddenToOvercomeSignatureClash (hides it from resolution)
- But here B.charAt was artificially changed to `get`, so no signature clash
actually happened
#KT-13730 Fixed
2016-09-09 16:33:32 +03:00
Simon Ogorodnik
2b63bcaa19
Correct diagnostics and quick-fix for T::class with non-reified type parameter #KT-9590 fixed
2016-09-09 16:14:11 +03:00
Alexey Andreev
b91ed1e02a
KT-13544: support typealiases in JS backend
2016-09-09 14:38:11 +03:00
Alexey Andreev
16af7d667f
KT-12868: if a property initializer is a complex expression that emits additional statements, emit these statements directly before assignment to the property, not at the beginning of constructor
2016-09-09 13:54:03 +03:00
Denis Zharkov
276bf950cf
Write inner classes for annotation descriptors within the given class file
...
It's necessary for proper recovering of classId by plain string JVM descriptor when loading annotations
See FileBasedKotlinClass.convertAnnotationVisitor
Related tests are already exist in loadJava, but they stopped working
after the recent changes:
nested classes are not found anymore by name with '$' symbol
2016-09-09 10:27:35 +03:00
Denis Zharkov
44f5df00fe
Do not return nested/local classes as a part of package fragment
...
#KT-13757 Fixed
2016-09-09 10:27:35 +03:00
Denis Zharkov
2fb5b0e248
Simplify allDesciptors computation
...
Do not split descriptors into declared/non-declared groups
It should not be important as order of non-declared members' appearance
does not affect stub building, deserialization and other order-sensitive
stuff
2016-09-09 10:27:35 +03:00
Denis Zharkov
257417bc4a
Minor. Lower type aliase declarations priority
...
There are several reasons for doing this:
- See org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope.computeDescriptors,
classifiers are being deserialized in the last turn, so it's necessary to preserve consistent order
- Their priority should be close to classes
2016-09-09 10:27:35 +03:00
Nikolay Krasko
37492fcc78
Make KtLambdaExpression lazy parsable element
...
(cherry picked from commit 533fca1)
2016-09-08 17:32:37 +03:00
Valentin Kipyatkov
bcfa31de2b
Implemented ability to analyze to multiple elements at once
2016-09-08 16:11:09 +03:00
Valentin Kipyatkov
b1a6255ac2
Renamed class
2016-09-07 19:04:47 +03:00
Valentin Kipyatkov
f6fbd0b623
Fast search of contains operator
2016-09-07 19:04:43 +03:00
Valentin Kipyatkov
322df5b348
More correct operator treatment
2016-09-07 19:04:42 +03:00
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