Commit Graph

67696 Commits

Author SHA1 Message Date
Ivan Kylchik be4dbf2dcd Create gradle scripts to run and analyze benchmark results 2020-07-22 20:18:25 +03:00
Ivan Kylchik 29d0e3dbb5 Reuse createSession function for FIR in benchmark 2020-07-22 20:18:24 +03:00
Dmitry Petrov 1272162a7f JVM_IR: generate "safe" names for functions in init blocks 2020-07-22 19:49:48 +03:00
Yaroslav Chernyshev bb8f857809 [Gradle, Import] Added externalSystemId into facet for mpp projects
#KT-39803 Fixed
2020-07-22 19:44:09 +03:00
Ilya Goncharov e5b0498eb6 Fix tests for Gradle kts and groovy dsl
^KT-40527 fixed
2020-07-22 14:04:57 +03:00
Ilya Goncharov ae0bedd2ac [Gradle, JS] Different module kind for browser and nodejs
^KT-40527 fixed
2020-07-22 14:04:29 +03:00
Ilya Goncharov 38ec3ffb4a [Gradle, JS] Statically calculated module configurator id
^KT-40527 fixed
2020-07-22 14:04:15 +03:00
Ilya Goncharov bf1b85343f [Gradle, JS] Remove copyright from template of node.js
^KT-40527 fixed
2020-07-22 14:03:40 +03:00
Ilya Goncharov 2d60d2c0e6 [Gradle, JS] Divide allowSinglePlatform
^KT-40527 fixed
2020-07-22 14:02:02 +03:00
Ilya Goncharov af367b01ec [Gradle, JS] Add test on node js single platform project
^KT-40527 fixed
2020-07-22 14:01:50 +03:00
Ilya Goncharov cb60b9e59c [Gradle, JS] singleplatformJs -> singlePlatformJsBrowser
^KT-40527 fixed
2020-07-22 14:01:20 +03:00
Ilya Goncharov 01ec8b5262 [Gradle, JS] Fix typo and add node js module configurator
^KT-40527 fixed
2020-07-22 13:59:46 +03:00
Ilya Goncharov 0d606e1346 [Gradle, JS] Fix id and text in simple js module configurators
^KT-40527 fixed
2020-07-22 13:59:33 +03:00
Ilya Goncharov 4c5cd44e75 [Gradle, JS] Localize Module Type
^KT-40527 fixed
2020-07-22 13:59:15 +03:00
Ilya Goncharov 29e37ee15f [Gradle, JS] Fix test for js single platform
^KT-40527 fixed
2020-07-22 13:58:47 +03:00
Ilya Goncharov a866e51402 [Gradle, JS] NodeJs template files
^KT-40527 fixed
2020-07-22 13:58:32 +03:00
Ilya Goncharov 95f6669275 [Gradle, JS] Add NodeJs template plugin
^KT-40527 fixed
2020-07-22 13:58:19 +03:00
Ilya Goncharov 6866fdc3e1 [Gradle, JS] Add NodeJs template project
^KT-40527 fixed
2020-07-22 13:57:44 +03:00
Ilya Goncharov 4de31da0f3 [Gradle, JS] Fix typo
^KT-40527 fixed
2020-07-22 13:57:07 +03:00
Ilya Goncharov e8dfc4dcd0 [Gradle, JS] JsSinglePlatform -> BrowserJsSinglePlatform
^KT-40527 fixed
2020-07-22 13:56:53 +03:00
Ilya Goncharov b4334a3a3b [Gradle, JS] Fix formatting in Gradle Kotlin/JS wizard
^KT-40149 fixed
2020-07-22 13:23:03 +03:00
Jinseong Jeon e1abaa9b51 FIR: special visibility handling for monitor{Enter|Exit} 2020-07-22 12:16:32 +03:00
Jinseong Jeon 85f692ab40 FIR2IR: use DescriptorWithContainerSource if container source is available
The use of DescriptorWithContainerSource is the key to trigger the
proper generation of stub facade class as parent.
2020-07-22 12:16:32 +03:00
Alexander Gorshenev c076d81f0c [IR FAKE OVERRIDES] Properly account for outer class type parameters 2020-07-22 12:02:51 +03:00
Pavel Kirpichenkov 1ef17c6f3a Drop isErrorTypeAllowed flag from type system context
The flag was used exclusively during calculation of common super type.
This change relies on assumption, that common super type is
NOT calculated in IR type system context.
2020-07-22 11:41:42 +03:00
Pavel Kirpichenkov 710659324c [NI] Fix common supertype of types with error supertypes
Enable check for error supertypes during CST calculation in classic type system context.
Cyclic upper bound + known type parameters of superclasses may create non-error types
with error supertypes. Such types don't have common constructors with other normal types
and cause assertion errors during intersection.

^KT-36951 Fixed
2020-07-22 11:41:42 +03:00
Ilya Gorbunov 95cc35f22e Package builtins with jvm reflect into IDEA plugin only
Leave builtins with common reflect for stand-alone compiler.
2020-07-22 11:08:14 +03:00
Stanislav Erokhin 0c094b1719 Serialize jvm reflect into builtIns
Basically this is revert of 427e34fe5a commit
This was done due to the KT-39728.
Also we do pick every file separately, because builtIn serializer
unable to filter expects
2020-07-22 11:08:14 +03:00
Stanislav Erokhin 67090e1afb Move KTypeProjection to separate file 2020-07-22 11:08:14 +03:00
Zalim Bashorov ee26fd4959 [KJS FE] Change severity of NON_EXPORTABLE_TYPE from error to warning
The change is required to avoid breaking examples using kotlin-wrappers
until we find an acceptable solution for them.

#KT-39873 Fixed
2020-07-22 10:51:41 +03:00
Denis Zharkov 41bd013796 Fix incorrect usages of @NotNull type parameters in project sources
^KT-36770 In progress
2020-07-22 10:16:14 +03:00
Denis Zharkov 037ff2fa52 Fix incorrect handling of @NotNull type parameters
^KT-36770 In progress
^KT-40114 Relates
^KT-28785 Relates
2020-07-22 10:16:14 +03:00
Denis Zharkov f1c68a9080 Introduce JavaTypeEnhancement component
It's necessary to allow using language version settings in type enancement
2020-07-22 10:16:14 +03:00
Denis Zharkov 240311d9c7 Minor. Reformat JavaNullabilityChecker 2020-07-22 10:16:14 +03:00
Dmitry Petrov d93885e71c Add tests for deprecated properties 2020-07-21 22:25:44 +03:00
Dmitry Petrov e84339a0d3 JVM_IR: fields for deprecated enum entries have ACC_DEPRECATED flag
'Deprecated' annotation can't be applied to field itself.
2020-07-21 22:25:44 +03:00
Roman Artemev edab3e3ba9 [PLUGIN API] Add referenceTypeAlias API to IrPluginContext
- attempt to fix KT-40193
2020-07-21 18:38:33 +03:00
Roman Artemev c4b4912a71 Revert "[PLUGIN API] Make referenceClass resolve type aliases too" 2020-07-21 18:38:32 +03:00
Anton Bannykh cb15570d75 [JS IR BE] Fix validation errors (duplicate nodes and incorrect parent) 2020-07-21 18:25:17 +03:00
Vyacheslav Gerasimov d36d62e226 Add info about -Pteamcity to readme and make warning less annoying 2020-07-21 18:05:21 +03:00
Vyacheslav Gerasimov a4457ba7ac Build: Setup dependency on dist for :compiler:fir:analysis-tests:test 2020-07-21 17:24:59 +03:00
Vyacheslav Gerasimov 58ee95c8a3 Build: Add root IDE test tasks to split tests in 3 parts 2020-07-21 17:24:59 +03:00
Vyacheslav Gerasimov 036c359993 Build: Make local profile warning more visible 2020-07-21 17:24:58 +03:00
Vyacheslav Gerasimov d9fbaadb2e Build: Upgrade Gradle Enterprise plugin to 3.3.4 2020-07-21 17:24:58 +03:00
Roman Artemev d7a0dbfae8 [PLUGIN API] Make referenceClass resolve type aliases too
- fix KT-40193
2020-07-21 15:36:31 +03:00
Leonid Startsev a0154b9851 Add JarUtil.getJarAttribute to proguard rules
This method is used by serialization plugin to read runtime JAR
manifest.

Maven serialization plugin seems to use proguarded compiler
distribution,
so to use this method, it should be kept.

Size increased for about 2kb.
2020-07-21 15:10:08 +03:00
Leonid Startsev e3f42721e9 Mute/ignore 'PROVIDED_RUNTIME_TOO_LOW' in tests 2020-07-21 15:10:08 +03:00
Leonid Startsev df5f38fec8 Implement reading kx.serialization runtime metadata from jar manifest
That allows to check whether current compiler plugin can work with
a given runtime version. Implementation-Version can help to detect whether
runtime version is too low, and Require-Kotlin-Version detects whether
runtime version is too high.

Corresponding diagnostic for Require-Kotlin included.
Implement minimal runtime version check for kotlinx.serialization
plugin.

 #KT-40036 Fixed

Cache result from getVersionsForCurrentModule in BindingTrace.
Hide check in the IDE, because caching in trace does not work there.
2020-07-21 15:10:08 +03:00
Leonid Startsev 7db0bf8195 Add new serialization runtime packages
encoding and descriptors. Rename ContextSerializer to Contextual.
Unify getClassFrom*Package functions.
2020-07-21 15:02:06 +03:00
Ivan Kylchik 8b9fb6a6cd [FIR] Remove FirOperatorCall node from fir tree 2020-07-21 13:54:19 +03:00