Commit Graph

56111 Commits

Author SHA1 Message Date
Sergey Rostov dff48b251d Gradle, JS: rework extension registering and resolver phasing
This allows to resolve projects lazily.

#KT-32393 Fixed
#KT-31565
#KT-32015
#KT-31917
2019-07-10 13:26:52 +03:00
Sergey Rostov f4dcc18baf Gradle, JS: rework NpmResolver
Now resolving works per compilation, so transitive dependency between
 compilations in same project can be resolved (KT-31917).

Resolving gradle configurations now occurs in separate
per-project `KotlinPackageJsonTask`s. Global install called in
`KotlinNpmInstallTask`. Tasks inputs configured, so tasks now
reported as UP-TO-DATE if nothing was changed.

#KT-31565 Fixed
#KT-32015 Fixed
#KT-31917 Fixed
2019-07-10 13:26:51 +03:00
Ilya Kirillov 196e3f968e New J2K: fix generating nj2k tests bunch files 2019-07-10 13:21:53 +03:00
Ilya Kirillov cabc26184b New J2K: convert single Java static import statements 2019-07-10 13:19:23 +03:00
Ilya Kirillov b18350e9c8 New J2K: fix ExceptionInInitializerError in JKJavaPrimitiveTypeImpl 2019-07-10 13:19:23 +03:00
Ilya Kirillov f0dd21790a New J2K: add plain text copy-paste conversion test for new J2K 2019-07-10 13:18:36 +03:00
Ilya Kirillov 041677ab1b New J2K: force use old j2k for all not file/copy-paste conversions 2019-07-10 13:16:54 +03:00
Ilya Kirillov 8f69cca2b3 New J2K: enable new J2K by default 2019-07-10 13:16:53 +03:00
Ilya Kirillov ba3927b580 New J2K: add default null value to property with type parameter type when it is implicit in Java
#KT-32436 fixed
2019-07-10 13:16:53 +03:00
Ilya Kirillov 9d6338afb2 New J2K: do not fail conversion if some of post-processings throws exception 2019-07-10 13:16:53 +03:00
Ilya Kirillov a9865e5d7b New J2K: check for element validity before applying fix in diagnostic-based post processings 2019-07-10 13:16:53 +03:00
Ilya Kirillov 236f62be2a New J2K, minor: refactor code builder 2019-07-10 13:16:52 +03:00
Ilya Kirillov 934425e86a New J2K: rearrange and optimize some post-processings 2019-07-10 13:16:52 +03:00
Ilya Kirillov 370f113b78 New J2K: run add/remove modifiers post-processings only single time && do not call resolve in them for some corner cases 2019-07-10 13:16:52 +03:00
Ilya Kirillov 3e04bfb156 New J2K: do not print modifiers which are going to be removed in postprocessing 2019-07-10 13:16:52 +03:00
Natalia Selezneva 0b7b16162d 182: scripts, pass File finding script definition instead of File.name 2019-07-10 12:05:17 +03:00
Roman Artemev 6ab46204cb [JS IR BE] Properly handle primary constructors
- force primary constructor to be created by codegen
 - make sure initializer is invoked once in primary constructor
 - make one of coroutine constructor primary
 - remove hack from codegen
2019-07-10 10:39:11 +03:00
Roman Artemev a112345418 [JS IR BE] Fix builtin constructor lowering
- Do not touch delegation construction call
2019-07-10 10:39:11 +03:00
Roman Artemev 131158df65 [JS IR BE] Refact MultipleCatchLowering
- catch dynamic type instead of common super type over all catch blocks
2019-07-10 10:39:11 +03:00
Roman Artemev 1605dc3251 [JS IR BE] Remove unused classifier symbol from IrTypeOperatorCall builder 2019-07-10 10:39:10 +03:00
Nicolay Mitropolsky 69c4db82d4 Uast: IdeaKotlinUastResolveProviderService analyze as BodyResolveMode.PARTIAL_WITH_CFA
it is required for `isUsedAsResultOfLambda` in `KotlinULambdaExpression`
2019-07-10 10:33:10 +03:00
Dmitry Gridin fda5692fc6 RemoveCurlyBracesFromTemplateInspection: add heuristic to change severity
Change severity to INFORMATION if a variable hasn't whitespace around & add an option to return the old behavior
 #KT-31717 Fixed
2019-07-10 10:28:45 +03:00
Natalia Selezneva e4d0c2cb0e Scripts: switch ScriptReportSink to new scripting API
Use ScriptDiagnostic instead of ScripReport
2019-07-10 10:10:21 +03:00
Natalia Selezneva bd0f947222 Refactor script reports: introduce getter, check that report are changed inside attach method 2019-07-10 10:10:21 +03:00
Natalia Selezneva 68b45ce1dc FromFileAttributeScriptDependenciesLoader should be applicable when there are scriptCompilationConfiguration file attribute 2019-07-10 10:10:20 +03:00
Natalia Selezneva 923e89db69 Provide toString method for ScriptCompilationConfigurationWrapper
This is needed for debug and logging proposes
2019-07-10 10:10:20 +03:00
Natalia Selezneva 7215e03a47 Scripts: rewrite search without usage of legacy script definition 2019-07-10 10:10:20 +03:00
Natalia Selezneva 4853190752 Scratch: should always have default script definition 2019-07-10 10:10:20 +03:00
Natalia Selezneva b0c9339dee Scripts: search for script definition using PsiFile instead of file name 2019-07-10 10:10:07 +03:00
Natalia Selezneva fbe965be9d Scripts: pass File finding script definition instead of File.name 2019-07-10 10:08:19 +03:00
Vladimir Dolzhenko ac4df86fa6 Fix performance test compilation 2019-07-10 09:44:11 +03:00
Andrey Uskov 9da630a1ac Fix compilation of KotlinMPPGradleProjectResolver in bunch 192 2019-07-10 02:07:37 +03:00
Vladimir Dolzhenko 3c41db654a Fix performance test compilation for 192 2019-07-09 20:49:21 +03:00
Ilya Gorbunov 7d14fb756d Make Duration storageUnit inline val to avoid state initialization
Avoid state initialization in JS and Native
2019-07-09 20:39:28 +03:00
Alexander Udalov f7fc5d2ffa Fix codegen for JvmOverloads with more than 32 parameters
Use DefaultCallArgs to handle mask list construction correctly

 #KT-31070 Fixed
2019-07-09 19:31:59 +02:00
Andrey Uskov 40633768bc Implement dependency deduplication in order to reduce memory
consumption during import process
2019-07-09 20:14:07 +03:00
Andrey Uskov 09c2b2800c Migrate collections to arrays for memory optimisation
during import process
2019-07-09 20:13:44 +03:00
Andrey Uskov f6f072693a Fully disable editing target platforms for HMPP modules. Show
java target platform version in Facets
2019-07-09 20:13:17 +03:00
Andrey Uskov c98ad923bd Import list of pure kotlin source roots from gradle
in facet settings for inspections
#KT-32300 Fixed
2019-07-09 20:12:55 +03:00
Andrey Uskov 2665fff373 Import package prefix from MPP projects 2019-07-09 20:12:13 +03:00
Andrey Uskov 2b6f566d58 Import package prefix from gradle
#KT-19693 Fixed
2019-07-09 20:11:48 +03:00
Vladimir Dolzhenko dbec626a49 Fix performance test compilation for 182 2019-07-09 19:43:18 +03:00
Vyacheslav Gerasimov ffb65b2655 Build: Fix kotlinBuildProperties, should always proguard on teamcity 2019-07-09 19:19:58 +03:00
Vyacheslav Gerasimov 8605ad6630 Build: Upgrade gradle to 5.5 2019-07-09 19:19:27 +03:00
Alexander Udalov a6be6f4986 Use Class.forName instead of ClassLoader.loadClass in reflection
This fixes an issue in constructing annotation instances with array
class elements. For some reason, behavior of `ClassLoader.loadClass`
differs from `Class.forName` in handling arrays, namely:

* `loadClass("[Ltest.Foo;")` returns null
* `Class.forName("[Ltest.Foo;")` returns class for array of test.Foo

Overall, there doesn't seem to be any way to load an array class with
`CLassLoader.loadClass`.

We pass initialize=false to forName because this is the behavior of
ClassLoader.loadClass: it doesn't perform class initialization (e.g.
<clinit> is not executed).

 #KT-31318 Fixed
2019-07-09 18:14:45 +02:00
Vladimir Dolzhenko 72d74ff888 Add build gradle kts performance tests 2019-07-09 17:27:33 +03:00
Sergey Igushkin c292380aff Improve Kotlin/Native disabled targets warning, KT-29693
* Group all disabled targets from all subprojects in a single warning
* Make the warning optional, suggest disabling it with a Gradle property

Issue #KT-29693 Fixed
2019-07-09 16:01:18 +03:00
Alexander Udalov dabb7bb496 Fix new inference CLI tests on Windows 2019-07-09 11:52:54 +02:00
Mikhael Bogdanov b82c32a807 Use default target for android tests 2019-07-09 09:46:34 +02:00
Roman Artemev d4fb76c1da [JS IR BE] Fix overriding property of Throwable 2019-07-09 10:40:01 +03:00