Commit Graph

58170 Commits

Author SHA1 Message Date
Vladimir Dolzhenko 5e1efead9a Fixed errors reporting in tearDown in performance tests 2019-10-09 13:39:13 +02:00
Leonid Startsev 395d595b22 Supply JVM and JS platforms when compile from CLI
To be able to check descriptor's platform in frontend during plugin processing.

This is needed for serialization plugin because some synthesized descriptors (annotation interface implementation) must be JVM-only (or the Native compilation fails).
2019-10-09 14:18:54 +03:00
Kristoffer Andersen 9d1d6a7b1f JVM IR: Do not generate DefaultImpls if it's empty. This revealed that InterfaceDelegationLowering was relying on the presence of DefaultImpls even when empty. Hence, simply dropping it from InterfaceLowering was not trivial. Moved default delegation in DefaultImpls to SuperType.DefaultImpls to InterfaceLowering. Clean up logic considerably, and document inter-phase dependencies. 2019-10-09 13:03:21 +02:00
Kristoffer Andersen cc6252098f Add a test to reveal flaw in call delegation with default implementations in interfaces. 2019-10-09 13:03:21 +02:00
Kristoffer Andersen 5cefd4e443 JVM IR: Implement -Xjvm-default=enable 2019-10-09 13:03:21 +02:00
Ilya Goncharov 48e2e1f0c1 Remain only license files 2019-10-09 13:52:51 +03:00
Roman Artemev e738534bef [KLIB] Promote Konan ABI Version 2019-10-09 13:23:19 +03:00
Roman Artemev d5176cbf5d [IR SERIALIZATION] Get rid of UniqId proto message
- encode locality flag in major bit of uniqid (1 - global, 0 - local)
2019-10-09 13:23:18 +03:00
Roman Artemev fcae5873d0 [IR SERIALIZATION] Get rid of Annotations message 2019-10-09 13:23:18 +03:00
Roman Artemev aeafaf78f1 [IR SERIALIZATION] Replace DescriptorReference boolean fields with single flag in proto 2019-10-09 13:23:13 +03:00
Roman Artemev 105fc4b0ca [IR SERIALIZATION] Get rid of FqName 2019-10-09 13:06:01 +03:00
Roman Artemev 9fa89bf7e2 [IR SERIALIZATION] Get rid of IrDataIndex 2019-10-09 13:06:01 +03:00
Ilya Goncharov 8c2ae4f91a Migrate on copyfiles 2019-10-09 12:57:26 +03:00
Ilya Goncharov 896271cd87 Add similarity with kotlin-test-js-runner 2019-10-09 12:57:26 +03:00
Natalia Selezneva 1bb6a7cc91 Remove fir tests from idea <= 183
Broken at 17dcdb59de
2019-10-09 11:17:13 +03:00
Pavel Kirpichenkov 9bcee2cc74 Minor: fix typo in diagnostic message 2019-10-09 10:53:12 +03:00
Vladimir Dolzhenko 55548d9199 Use test path relative to testDataPath in fixture.configureByFile to be complaint with 193, part 3 2019-10-09 07:34:25 +02:00
nikita.movshin b3392c792b Add changelog for 1.3.50 2019-10-08 20:36:38 +03:00
Abduqodiri Qurbonzoda b4d580fa91 JS: document array destructuring behavior (KT-17544) 2019-10-08 19:24:31 +03:00
Mads Ager f9d117970a [JVM_IR] Map suspend lambdas to original function for inlining. 2019-10-08 19:21:37 +03:00
Ilya Goncharov 8ef28446cc Remove webpack protocol for processing stacktrace 2019-10-08 18:51:40 +03:00
Ilya Goncharov f4ba132327 Simplify progress procentage 2019-10-08 18:51:40 +03:00
Ilya Goncharov 7e5c51e6aa Windows source-map-loading with absolute paths 2019-10-08 18:51:40 +03:00
Alexey Kudravtsev 9c1e59c720 Use ReentrantLock instead of ReadWriteLock as a more cheaper alternative more suitable to usage pattern 2019-10-08 18:20:05 +03:00
pyos b6a1154672 Add a test for non-null assertions in local classes/functions 2019-10-08 17:19:41 +02:00
pyos 06c00f4d9e Unmute some JVM_IR inlining tests 2019-10-08 17:19:41 +02:00
pyos a0edf2934b JVM_IR: implement isCallInsideSameModuleAsDeclared 2019-10-08 17:19:41 +02:00
pyos f6fe273774 JVM_IR: don't reset callSiteMarker to null after generating lambdas 2019-10-08 17:19:41 +02:00
pyos cea69e0706 JVM_IR: do not generate redundant load+stores before inline calls 2019-10-08 17:19:41 +02:00
pyos 59408242db JVM_IR: ignore captured parameters in lambda invokeMethodDescriptor 2019-10-08 17:19:41 +02:00
pyos a20d212908 JVM_IR: take lambda arguments from signature, not call site 2019-10-08 17:19:41 +02:00
pyos 4ea4bc1c2b JVM_IR: pass callee after fake override resolution to source inliner
Fixes NPE in:

    open class A {
        inline fun f() = 1
    }

    class B : A() {
        fun g() = f()
    }
2019-10-08 17:19:41 +02:00
pyos 07bde889b4 JVM_IR: generate more correct names for regenerated objects
and fake lambda types, too. (But those only matter for debugging.)

Also, share object name generators between methods with the same name to
avoid rewriting objects from one with objects from the other.
2019-10-08 17:19:41 +02:00
pyos 58775275e7 JVM_IR: omit nullability assertions in anonymous object constructors 2019-10-08 17:19:41 +02:00
Ilya Chernikov 37fed8bbc9 Add jvmCompilerIntegrationTest task as a subtask of compilerTest:
add embeddable compiler and client tests to it
2019-10-08 17:05:34 +02:00
Ilya Chernikov 1a8bcee86c Restore embeddable compiler smoke test
also move sources and testdata to the appropriate place
2019-10-08 17:05:33 +02:00
Ilya Chernikov cd4cce3f9f Refactor embeddable compiler client tests:
- move from the legacy location to the project dir
- move testdata from resources to the separate folder (fixes global compileTestKotlin build)
- fix classpaths handling
2019-10-08 17:05:31 +02:00
Mikhail Glukhikh 07e067102b FIR body resolve: use one scope session per module
Gives significant (~5%) performance boost mainly due to use-site scope caching
2019-10-08 17:59:44 +03:00
Alexander Gorshenev c2c88a9ee6 Use MessageCollector.NONE as a dummy logger collector for js library resolver 2019-10-08 16:56:29 +03:00
Alexander Gorshenev 71eb413350 Attached library resolver to messge collector 2019-10-08 16:56:29 +03:00
Alexander Gorshenev 47fba2ee4b A couple of fixes for js library resolver 2019-10-08 16:56:29 +03:00
Alexander Gorshenev e5dbec4523 Commonized FileRegistry with SourceFileMap for klib metadata 2019-10-08 16:56:29 +03:00
Alexander Gorshenev b7a0546634 The friend module identification has regressed recently 2019-10-08 16:56:29 +03:00
Svyatoslav Kuzmich 18d9e9b2b5 [JS] Make JsExport experimental
- JsExport was meant to be experimental from the beginning but
annotation was missing
- Add missing @SinceKotlin
2019-10-08 16:33:17 +03:00
Toshiaki Kameyama 4da7d11364 KT-30643 J2K: wrong position of TYPE_USE annotation (#2543)
New J2K: fix wrong position of TYPE_USE annotation

#KT-30643 Fixed
2019-10-08 16:21:27 +03:00
Mikhail Glukhikh 58f2348647 FIR buildJavaUseSiteScope: fix visited symbols handling 2019-10-08 16:19:55 +03:00
Mikhail Glukhikh 1e8003e9a8 Use use-site session in buildJavaUseSiteScope 2019-10-08 16:19:55 +03:00
Mikhail Glukhikh 69905ab325 Derive FirClassDeclaredMemberScopeProvider from FirSessionComponent 2019-10-08 16:19:55 +03:00
Mikhail Glukhikh 75a3d2fb97 FirClassDeclaredMemberScope: keep cache in provider but not in ScopeSession 2019-10-08 16:19:55 +03:00
Mikhail Glukhikh dfa494a21e FIR: remove duplicate of 'wrapSubstitutionScopeIfNeed' 2019-10-08 16:19:55 +03:00