Commit Graph

58159 Commits

Author SHA1 Message Date
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
Mikhail Glukhikh a0ed03a121 FIR: apply overload conflict resolver even for variable (due to receivers) 2019-10-08 16:19:55 +03:00
Mikhail Glukhikh 4cd8b78779 FIR: eliminate most usages of FirSession.service() and getService() 2019-10-08 16:19:54 +03:00
Mikhail Glukhikh 708d914224 FIR: don't recreate tower resolver / conflict resolver / call completer 2019-10-08 16:19:54 +03:00
Mikhail Glukhikh 9801e06eac Use .firSymbolProvider instead of service, deprecate FirSession.service 2019-10-08 16:19:54 +03:00
Mikhail Glukhikh 3fee1445b9 Set more precise type in FirQualifiedNameResolver 2019-10-08 16:19:54 +03:00
pyos 432ba62143 JVM_IR: omit annotations on outer this parameters 2019-10-08 14:41:05 +02:00
victor.petukhov 94469827ba Use new -Xinline-classes compiler flag in the corresponding IDEA intention 2019-10-08 15:17:34 +03:00
Natalia Selezneva 17dcdb59de Configuration: move scratch tests to separate module 2019-10-08 15:02:32 +03:00
Natalia Selezneva f2f97a9991 Troubleshooting tests: check that REPL process is stopped before continue test 2019-10-08 15:02:06 +03:00
Alexander Udalov 0c939d2f86 Use correct class file version when copying anonymous objects in inliner
Generally, using state.classFileVersion would be enough because we
report an error when inlining bytecode into a class file with a lower
target version (see INLINE_FROM_HIGHER_PLATFORM). However, we take maxOf
with the original version of the class file, _just in case_ the user has
suppressed this error (for example, to workaround some other corner case
in the compiler).

 #KT-30744 Fixed
2019-10-08 13:44:40 +02:00
Louis CAD 45ab07654e Use receiver syntax for lambda execution (#2508) 2019-10-08 14:34:55 +03:00