Alexander Udalov
db4ce703a6
Support default arguments for expected declarations
...
#KT-21913 Fixed
2018-02-05 13:38:05 +01:00
Alexander Udalov
d465f5fd8e
Extract ExpectedActualResolver out of ExpectedActualDeclarationChecker
...
The point is that it's placed in module 'resolution' where it can be
accessed for example in ArgumentsToParametersMapper to load default
argument values from expected function
2018-02-05 13:38:05 +01:00
Alexander Udalov
ea30388ae5
Minor, use another way to check that descriptor is from sources
...
This way this function can be moved to module 'resolution', where
DescriptorToSourceUtils is not available
2018-02-05 13:38:04 +01:00
Alexander Udalov
ac5444ef7c
Add declaresOrInheritsDefaultValue, move hasDefaultValue to 'resolution'
...
'hasDefaultValue' needs to be adapted to support locating default values
in 'expect' functions, and this is not possible in module 'descriptors',
where it was originally declared. Therefore, move it to module
'resolution' and copy its current logic to a separate function
'declaresOrInheritsDefaultValue' which is used in 5 places.
'hasDefaultValue' itself is updated in subsequent commits.
Besides changing imports, also use a simpler declaresDefaultValue in
some places, which does not include default values inherited from
supertypes: this is OK for constructors, and in LazyJavaClassMemberScope
for functions from built-ins which do not have default argument values
at all
2018-02-05 13:38:04 +01:00
Alexander Udalov
7eb66f2579
Minor, support 'expect'-only files in codegen tests
2018-02-05 13:38:04 +01:00
Alexander Udalov
f75b774d80
Do not report unused parameters for actual constructors
...
Extract common part for functions and constructors in
processUnusedParameter
2018-02-05 13:38:04 +01:00
Alexander Udalov
1bdec829ea
Treat constructors as actual only if the 'actual' modifier is present
...
Exactly as this is done for functions in
FunctionDescriptorResolver.initializeFunctionDescriptorAndExplicitReturnType
#KT-21906 Fixed
2018-02-05 13:38:04 +01:00
Alexander Udalov
f198a28276
Fix type parameter bound check in expect-actual checker
...
Also make TypeParameterUpperBounds a "strong" incompatibility, meaning
that non-actual members from platform module are _not_ going to be
matched to the expected members if this incompatibility exists between
them, and therefore NO_ACTUAL_FOR_EXPECT will be reported on the
expected declaration, instead of ACTUAL_MISSING on the platform member.
This is needed because the difference in type parameter upper bounds can
have effect on the function signature on the platform (e.g. on JVM,
Array<T> -> T[], but Array<T> -> Comparable[] if T : Comparable<T>), and
it would be incorrect to report ACTUAL_MISSING on the member that has
nothing to do with the expected declaration that happens to coincide
with it in everything except type parameter bounds
#KT-21864 Fixed
2018-02-05 13:38:04 +01:00
Alexander Udalov
8c6b140865
Simplify diagnostic message for ACTUAL_MISSING
...
#KT-21939 Fixed
2018-02-05 13:38:03 +01:00
Mikhael Bogdanov
1530fbee1b
Fix ir test execution
2018-02-05 12:07:36 +01:00
Mikhail Zarechenskiy
5dacfae793
Support calling inline functions inside inline classes
2018-02-05 12:07:41 +03:00
Mikhail Zarechenskiy
2536eb4d45
Generate argument expression instead of constructor for inline classes
2018-02-05 12:07:40 +03:00
Mikhail Zarechenskiy
928a342ace
Initial version of codegen for inline classes
2018-02-05 12:07:40 +03:00
Mikhail Zarechenskiy
fbc02dee58
Refactoring: extract method to generate suspend method out
2018-02-05 12:07:40 +03:00
Mikhail Zarechenskiy
d1049e5553
Refine type mapping for nullable inline class types
2018-02-05 12:07:39 +03:00
Mikhail Zarechenskiy
d5400f11a3
Basic inline class mapping to the underlying representation
2018-02-05 12:07:39 +03:00
Mikhail Zarechenskiy
4b4525ec17
Support !LANGUAGE directive in signature tests
2018-02-05 12:07:39 +03:00
Mikhail Zarechenskiy
a463fb1d5e
Add basic declaration checker for inline classes
2018-02-05 12:07:38 +03:00
Mikhail Zarechenskiy
915455ebe9
Introduce InlineClasses language feature
...
Allow to write `inline` modifier in front of class declaration
2018-02-05 12:07:38 +03:00
Nikolay Krasko
f05e926670
Update idea to 173.3.4 (173.4548.28)
2018-02-03 00:15:45 +03:00
Vyacheslav Gerasimov
5b0d908d85
Add log4j & jdom to tests-common testCompile
...
Fixes NCDFEs in IrBlackBoxCodegenTestGenerated
2018-02-02 19:54:27 +03:00
Ilya Gorbunov
c06204d0d4
Remove obsolete test classpath helpers
2018-02-02 17:59:29 +03:00
Ilya Gorbunov
381344141f
Drop StdlibTest from compiler tests
...
Reason: stdlib built with the fresh compiler is going to be tested in Compiler Bootstrap Test configuration.
2018-02-02 17:59:27 +03:00
Anton Bannykh
3ead464671
JS: fix callable reference with implicit extension receiver (KT-22638 fixed)
2018-02-02 14:34:34 +03:00
Alexander Udalov
f4e2102787
Minor, remove extra empty lines from -X arguments help
2018-02-01 19:38:32 +01:00
Alexander Udalov
f9e195351a
Minor, rephrase usage help for -no-stdlib/-no-reflect compiler arguments
2018-02-01 19:38:30 +01:00
Alexander Udalov
616ba1fbe4
Minor, remove obsolete JDK 9 EA version guard
2018-02-01 19:27:43 +01:00
Vyacheslav Gerasimov
ec511f7a78
Use dependsOn for dependencies on dist & ideaPlugin tasks
...
instead `shouldRunAfter`
2018-02-01 18:11:25 +03:00
Alexey Sedunov
f35af11423
Rename: Make improvements for "by-convention" calls
...
- Convert between conventions call for 'get' and 'invoke'
- Drop 'operator' when converting 'get'/'invoke' to something other than
'invoke'/'get' respectively
#KT-12365 Fixed
2018-02-01 15:41:09 +03:00
Alexey Sedunov
caeb594e09
Rename: Replace name identifiers via AST to prevent unwanted reformatting
...
#KT-8563 Fixed
2018-02-01 15:41:06 +03:00
Ilmir Usmanov
8ffb205f1c
Reformat coroutineContext related code
2018-02-01 13:18:43 +03:00
Ilmir Usmanov
18c03f94f8
Move coroutineContext to correct package
...
from kotlin.coroutines.experimental.instrinsics to kotlin.coroutines.experimental
#KT-22400
2018-02-01 13:18:32 +03:00
Nicolay Mitropolsky
cf6e21daad
Light annotations made strictly non-physical (KT-22565)
2018-01-31 14:31:35 +03:00
Ilya Chernikov
d70b9c1d76
Detect new activity after delayed shutdown correctly
...
fixes #KT-22549, test
(cherry picked from commit 50f34db)
2018-01-31 10:25:29 +01:00
Vyacheslav Gerasimov
68b5dc756c
Remove intellij-core from testRuntime if full idea is already there
...
Looks like it makes tests flacky
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
89a07ded1c
Extract versions and remove unnecessary '.jar' extensions
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
07b191f460
Update dependency versions after migration to 173
2018-01-30 17:06:17 +03:00
Ilya Chernikov
8ab121b373
Exclude new dependencies locations from CodeConformanceTest
2018-01-30 17:06:17 +03:00
Ilya Chernikov
555e9674b2
Fix dependencies to the cross-project tasks
2018-01-30 17:06:17 +03:00
Ilya Chernikov
0a95e7b20f
Fix dependencies and artifacts contents after review
2018-01-30 17:06:16 +03:00
Ilya Chernikov
058ef31d7a
Fixes after review
2018-01-30 17:06:16 +03:00
Ilya Chernikov
5dc094d290
Implement correct and fast ultimate/community sdks handling
2018-01-30 17:06:15 +03:00
Ilya Chernikov
6f1e6f1f1b
Fix tests after rebasing and messing with the dependencies
2018-01-30 17:06:15 +03:00
Ilya Chernikov
0c35e79283
Fix idea home path usages
2018-01-30 17:06:15 +03:00
Ilya Chernikov
05f0978865
Fix after review
2018-01-30 17:06:14 +03:00
Ilya Chernikov
7e21573cf4
Convert the rest of the project to intellij repo prepared in buildSrc
2018-01-30 17:06:13 +03:00
Ilya Chernikov
4eb557724c
Convert compiler projects to the new intellij deps
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a418a3ac49
Renaming for easier conversion, some more manual conversion
2018-01-30 17:06:13 +03:00
Ilya Chernikov
6f21c36d68
Switch first project to the new custom dependencies schema
2018-01-30 17:06:13 +03:00
Ilya Chernikov
47507ad694
Switch all usages of dx.jar to the new mechanism, cleanup and refactoring
2018-01-30 17:06:13 +03:00