Michael Bogdanov
e0adfd453f
Fix for KT-11677: Generic type signatures for local classes in inlined lambdas are not written properly
...
#KT-11677 Fixed
2016-04-04 12:07:47 +03:00
Michael Bogdanov
f5166b7aef
Support test directives in inline tests
2016-04-04 12:07:46 +03:00
Michael Bogdanov
d319811101
Added test for obsolete KT-11631: Couldn't inline method call
...
#KT-11631 Obsolete
2016-04-03 14:18:13 +03:00
Ilya Gorbunov
f3f1aa8a15
Change String.subSequence parameter names to match those of CharSequence.subSequence.
2016-04-01 21:39:09 +03:00
Dmitry Petrov
1d87595dc9
binary compat validator: update testData for changes related to new facade generation
2016-04-01 10:13:22 +03:00
Dmitry Petrov
92ddbb271a
KT-11410: generate light classes from multifile class parts in binaries
...
if explicitly requested by fqName
2016-04-01 10:13:22 +03:00
Dmitry Petrov
4c4141ea49
KT-11410: write multifile class code generation scheme to extra field (xi) in kotlin.Metadata.
2016-04-01 10:13:22 +03:00
Dmitry Petrov
db58ebc4b2
KT-11410: Class hierarchy for parts/facade of multi-file class.
...
Preserve static initialization semantics for parts by introducing a special "clinit trigger" class.
Insert "static initialization trigger" call to every method of a part class, remove this call on inline.
Always mangle names for private functions in multifile class parts to avoid resolution clashes on inheritance.
NB in codegen tests initializers for all non-const vals are wrapped in 'run { ... }',
so that the initializer is not a constant expression, and some static initialization code should be generated.
2016-04-01 10:13:22 +03:00
Dmitry Petrov
0ccaf43e2c
KT-11410: Add Xmultifile-parts-inherit CLI option.
2016-04-01 10:13:21 +03:00
Dmitry Petrov
095cbea125
KOTLIN_CONFIGURATION_FLAGS directive for passing compiler configuration parameters to tests.
...
So far, only boolean flags are supported.
2016-04-01 10:13:21 +03:00
Pavel V. Talanov
781bc13941
ExceptionTracker: do not increment counter on ReenteringLazyValueComputationException
...
ReenteringLazyValueComputationException is in fact correct behaviour which does not indicate a problem we should try to recover from
This led to an obscure bug when resolve sessions were invalidated multiple times during light class construction (see KT-11635)
#KT-11635 Fixed
2016-03-31 19:33:05 +03:00
Pavel V. Talanov
d7dc122298
KT-11721 Wrong "Typechecker has run into recursive problem" on calling kotlin get function as synthetic property
...
#KT-11721 Fixed
2016-03-31 19:33:04 +03:00
Pavel V. Talanov
7de171efda
Improve message clarity for WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostics
...
#KT-9887 Fixed
2016-03-31 16:06:48 +03:00
Denis Zharkov
1511a03027
Fix SAM adapters substitution
...
Approximate sourceFunction types if it's needed
#KT-11696 Fixed
2016-03-31 14:52:12 +03:00
Denis Zharkov
bc1b34a989
Add additional visibility check for synthetic extensions
...
Use extension receiver as dispatch one, because it is effectively dispatch
(after some desugaring)
2016-03-31 14:51:57 +03:00
Denis Zharkov
92be4aee9c
Prohibit protected constructor calls that are not super-calls in subtypes
...
#KT-11649 Fixed
2016-03-31 14:51:57 +03:00
Denis Zharkov
816f14a927
Minor. Covariantly override ClassDescriptor.original
2016-03-31 14:51:57 +03:00
Denis Zharkov
5056c43975
Do not check receiver for protected constructor calls
...
Checks for protected constructors should be performed manually,
because they are rather complex
2016-03-31 14:51:57 +03:00
Denis Zharkov
5bf336474d
Respect receiver-dependent visibility when selecting smart-cast type
2016-03-31 14:51:57 +03:00
Denis Zharkov
d3b7eb81fa
Make PositioningStrategy.mark public
...
Because it's used with receivers of types different from call site ones.
2016-03-31 14:51:57 +03:00
Denis Zharkov
935355ad2f
Refine isVisible for protected visibility
...
#KT-7437 Fixed
#KT-7971 Fixed
#KT-7051 Fixed
#KT-6125 Fixed
#KT-6186 Fixed
2016-03-31 14:51:57 +03:00
Denis Zharkov
182b349492
Clarify Visibility.isVisible contract for null as receiverValue
...
See comment
2016-03-31 14:51:57 +03:00
Mikhail Glukhikh
60511f010a
Build fix: evaluationErrors.repl
2016-03-31 14:34:56 +03:00
Mikhail Glukhikh
56ef98ee29
Refactoring: DeclarationsChecker checkClassOrObjectMembers / checkFunction
2016-03-31 12:19:15 +03:00
Mikhail Glukhikh
8c131f4790
KT-11666: Implicit nothing is allowed for overridden function / properties
2016-03-31 12:00:22 +03:00
Mikhail Glukhikh
4c03aaabd4
Implicit nothing / intersection types are now checked also for member functions #KT-11666 Fixed
2016-03-31 11:59:17 +03:00
Alexander Udalov
8316953259
Fix double quotes in diagnostic messages
...
For diagnostics without any parameters, the given text is simply rendered as a
String, so no symbols should be escaped.
For diagnostics with parameters, the format in java.text.MessageFormat is used,
so one single quote is erased and two single quotes become one single quote in
the rendered text.
2016-03-30 21:41:43 +03:00
Pavel V. Talanov
484167e9d9
KtLightModifierList* is created only for light classes build for sources
...
This is a hacky solution to avoid calling lightMemberOrigin.originalElement inside
Moreover it needs to resolve descriptor for sources inside computeAnnotations and it is used only for kotlin sources so this will have to do for now
2016-03-30 21:35:24 +03:00
Pavel V. Talanov
f9fa365059
LightElements: avoid computation of LightMemberOrigin.originalElement on common api calls
2016-03-30 21:35:23 +03:00
Pavel V. Talanov
f40a04c5a2
Refactor light elements
...
KtLightElement#delegate -> clsDelegate, KtLightElement#origin -> kotlinOrigin and make them properties
KtLightClassForDecompiledDeclaration stores KtClsFile
KtLightField stores LightMemberOrigin
2016-03-30 21:35:22 +03:00
Pavel V. Talanov
02543295f9
Refactor: Make LightMemberOrigin an interface, extract one implementation
2016-03-30 21:35:21 +03:00
Mikhail Glukhikh
b7e8f71367
Fix of getCorrespondingLoop for complex loop / try-finally trees #KT-8246 Fixed
2016-03-30 18:49:23 +03:00
Alexey Sedunov
3603d873cd
[REVERTED] 8e7e3a3 Alexey Sedunov on 3/10/2016 at 16:58 (committed on 3/24/2016 at 18:42)
...
Misc: Configure IDEA Ultimate dependencies
2016-03-29 19:17:12 +03:00
Alexey Sedunov
9070aa882d
[REVERTED] 161d11d Alexey Sedunov on 3/18/2016 at 14:00 (committed on 3/24/2016 at 18:42)
...
Spring Support: Test framework
2016-03-29 19:17:10 +03:00
Alexey Sedunov
ed9b1ac151
[REVERTED] 0a71eb7 Alexey Sedunov on 2/25/2016 at 14:02 (committed on 3/24/2016 at 18:42)
...
Spring Support: Implement Spring-specific references
2016-03-29 19:17:07 +03:00
Alexey Sedunov
95f6acdddf
[REVERTED] 8c72b02 Alexey Sedunov on 3/21/2016 at 19:14 (committed on 3/24/2016 at 18:42)
...
Light Classes: Constant expression evaluator for light annotation arguments
2016-03-29 19:17:05 +03:00
Alexey Sedunov
4896d90c79
[REVERTED] 28b8cfc Alexey Sedunov on 3/22/2016 at 21:26 (committed on 3/24/2016 at 18:42)
...
Spring Support: Show Spring line markers for Kotlin classes
2016-03-29 19:17:04 +03:00
Alexey Sedunov
1970582dd8
[REVERTED] 2692a7d Alexey Sedunov on 2/21/2016 at 00:50 (committed on 3/24/2016 at 18:42)
...
Spring Support: Inspection for Spring configuration
2016-03-29 19:17:00 +03:00
Alexander Udalov
4a533168d9
Rework const val generation in multifile classes
...
Do not query MultifileClassCodegen#classBuilder early on: this causes the class
file for the facade to be prematurely dumped to the disk in some cases, when
that class file is not yet completely generated. Instead fork the logic in
PropertyCodegen#generateSyntheticMethodIfNeeded: save metadata in parts,
generate method in the facade
2016-03-29 17:53:32 +03:00
Alexander Udalov
f31dca32a4
Flush stdout and stderr before shutdown in scripts
...
Although a test is present, it doesn't check the behavior because it seems that
in the test environment both streams are necessarily flushed
#KT-9546 Fixed
2016-03-29 17:53:18 +03:00
Ilya Gorbunov
768da05ba9
Update dump declaration mappings tests to reflect new constant generation in multifile facades.
2016-03-29 14:34:32 +03:00
Ilya Gorbunov
25abdf9fdb
Tests for declaration mappings dumping from compiler
2016-03-29 13:49:36 +03:00
Ilya Gorbunov
e7d75fccd6
Introduce compiler option to dump declaration mapping.
2016-03-29 13:49:34 +03:00
Ilya Gorbunov
4e49187549
Dump declaration mapping during codegen process.
2016-03-29 13:49:33 +03:00
Alexander Udalov
a8bebeb48d
Load annotations of const properties from multifile classes
...
Rework backing field generation logic in PropertyCodegen to switch the
ClassBuilder instance for a multifile part to that of the corresponding facade
class. This became needed because multifile parts, and their metadata, are
generated _before_ the multifile facade class and otherwise we would never
record that there's a synthetic '$annotations' method for a const val and would
not write that to the protobuf message for the property.
See also bad83200
#KT-10892 Fixed
2016-03-28 21:11:14 +03:00
Alexander Udalov
6924d883eb
Support reflection calls to multifile class members
...
#KT-11447 Fixed
2016-03-28 21:11:14 +03:00
Mikhail Glukhikh
a541aaafd8
Protected in final inspection: protected modifier is effectively private in final classes #KT-6674 Fixed
2016-03-28 19:03:16 +03:00
Alexander Udalov
a6610d1b0c
Drop obsolete JVM intrinsics, rename JavaClassArray -> ArrayOf
2016-03-28 14:24:23 +03:00
Alexander Udalov
d62535c388
Minor, drop unnecessary workaround of obsolete issue
2016-03-28 14:14:56 +03:00
Alexander Udalov
a8e6a9c828
Minor, add JDK to multi-module Java analysis test
2016-03-28 14:14:55 +03:00