Commit Graph

55461 Commits

Author SHA1 Message Date
Dmitry Savvinov 44cbdd142b [Expect/Actual] Collect expectedBy modules correctly in case of HMPP 2019-06-10 13:34:27 +03:00
Dmitry Savvinov de2944ff43 [Misc] Fix errors checking in QuickFixMultiModuleTest
This test was checking errors *before* applying action, rather than
*after*, like all other QuickFix-tests do. This commit moves
errors-check after performing quick-fix action, and changes testdata:

- for most tests errors are simply gone (as quickfix usually fixes that
error)
- also, for implementMembersInActualClassNoExpectMember we add
'DISABLE-ERROR', similarly to
implementMembersInImplClassNonImplInheritor. This is needed because
'Implement Members'-fix created 'TODO'-calls, which are not resolved in
those tests due to the lack of stdlib. Previously, there were no errors
in this test exactly because file was checked *before* applying quickfix
(i.e. when there were no 'TODO()' in file)
2019-06-10 13:34:27 +03:00
Dmitry Savvinov d458821565 [Misc] Get rid of IdePlatformKind.IDE_KINDS_BY_COMPILER_PLATFORM
It works incorrectly for cases of non-trivial common platforms (works
fine for 'JVM/JS/Native', but doesn't work for 'JVM/JS')
2019-06-10 13:34:27 +03:00
Dmitry Savvinov fbbd1a268b [Misc] Minor: generalize TypeUtils.closure 2019-06-10 13:34:27 +03:00
Dmitry Savvinov 935c9fce17 [Misc] Extract method in ExpectedActualDeclarationChecker for clarity 2019-06-10 13:34:27 +03:00
Mikhail Glukhikh 309708f433 Do not visit FirBlock type twice 2019-06-10 11:03:10 +03:00
Simon Ogorodnik df9479b607 Cache declared member scope 2019-06-10 11:03:09 +03:00
Simon Ogorodnik 3aadf58354 Fix leak of BodyResolveTransformer due to inference components capture 2019-06-10 11:03:09 +03:00
Simon Ogorodnik 146a53f18c Change lookup tags from interfaces to abstract classes 2019-06-10 11:03:09 +03:00
Mikhail Glukhikh a10deb5f69 Remove classId from FirClassSymbol equals / hashCode 2019-06-10 11:03:09 +03:00
Mikhail Glukhikh 792c26decc FirClassDeclaredMemberScope: do not create nested one for constructors 2019-06-10 11:03:09 +03:00
Mikhail Glukhikh 73a6714ad1 FirClassDeclaredMemberScope: rewrite index calculation imperatively
This should save some performance at this point
2019-06-10 11:03:09 +03:00
Simon Ogorodnik 8ae77da250 Transform only block children, to avoid unresolved type in-between 2019-06-10 11:03:08 +03:00
Mikhail Glukhikh 4ad3e429aa FirClassDeclaredMemberScope: use just Name instead of ClassId/CallableId
This should decrease amount of created garbage a little bit
2019-06-10 11:03:08 +03:00
Mikhail Glukhikh e403195684 Cleanup: FirTopLevelDeclaredMemberScope 2019-06-10 11:03:08 +03:00
Denis Zharkov 373283dcae FIR: Cache ConeClassifierSymbol in ConeClassLikeLookupTagImpl 2019-06-10 11:03:08 +03:00
Denis Zharkov 91d8f1fc88 FIR: Optimize access to FirSymbolProvider via session 2019-06-10 11:03:08 +03:00
Mikhail Glukhikh 5e42f0c31d Use sink.yield in FIR resolve check receivers 2019-06-10 11:03:08 +03:00
Sergey Rostov e37c86b85f IDE, wizards, .kts, Kotlin/JS for Node.js: fix DSL
#KT-31895 Fixed
2019-06-10 08:20:48 +03:00
Sergey Rostov 92be12f27b IDE, wizards, kotlin jvm server / js client: fix jvmJar configuration
There should be `from(new File(jsBrowserWebpack.entry.name, jsBrowserWebpack.outputPath))`
instead of `from(jsBrowserWebpack.outputPath)in jvmJar task configuration`.

`jsBrowserWebpack.outputPath` may be (and will) inside the same dir as
jvmJar. So jvmJar build hangs.
2019-06-09 14:33:23 +03:00
Sergey Rostov 41347abf56 IDE, wizards: update Kotlin/JS support in jvm server / js client
Configure js browser sub target to use new test and application runners.
Rework js linking and packaging:
- get rid of required.js
- use builtin jsBrowserWebpack task, embed js bundle into jvm jar, remove gradle boilerplate
- ktor server: serve js bundle resource, remove boilerplate

#KT-31695 Fixed
#KT-31099 Fixed
2019-06-08 20:36:09 +03:00
Sergey Rostov ac044a8c33 IDE, wizards: update Kotlin/JS support in mpp lib wizard
Configure js sub targets to use new test and application runners.

#KT-31695
#KT-31099
2019-06-08 20:36:09 +03:00
Sergey Rostov f49907092b IDE, wizards: update Gradle Kotlin/JS support
Split Kotlin/JS configuration for browser and nodejs.
Add corresponding Kotlin/JS sub targets DSL calling.
2019-06-08 20:36:09 +03:00
Sergey Rostov 560f34bde5 Gradle, JS, webpack: add dependency to compile classpath 2019-06-08 20:36:09 +03:00
Sergey Rostov 354bf1f308 Gradle, JS, run: don't add dependency from project run task
As js webpack-dev-server will not finish
2019-06-08 20:36:09 +03:00
Sergey Rostov 45d4a9d67c Gradle, js: rename objects to avoid clashing with moowork nodejs plugin
#KT-31834 Fixed
2019-06-08 20:36:09 +03:00
Sergey Rostov b5515a31eb Gradle, js, karma: useConfigDirectory DSL
#KT-31686 Fixed
2019-06-08 20:36:08 +03:00
Vyacheslav Gerasimov 5bde9720b7 Build: Fix dependencies on :kotlin-compiler project
Dependencies on :kotlin-compiler should never be used in configurations
which are imported transitively because ide fails to import it as
project dependency. When :kotlin-compiler dependency is imported as
kotlin-compiler.jar dependency ide re-indexes it on every change. This
behaviour is super annoying.

 #KT-31120 Fixed
2019-06-08 19:36:28 +03:00
Ilya Chernikov c39896165e Fix script compiler options processing 2019-06-07 23:19:16 +02:00
Alexey Tsvetkov 38a692abcf Add experimental support for bytecode instrumentation with JPS
#KT-13563 Fixed
2019-06-07 21:06:25 +03:00
Igor Yakovlev 545fdb5a37 Add UL-inline class overrided interface methods 2019-06-07 20:33:07 +03:00
Igor Yakovlev 7d542eda00 Fix UL classes test for inline classes support 2019-06-07 20:33:07 +03:00
Igor Yakovlev 44f19e1225 Add UL support for classes 2019-06-07 20:33:07 +03:00
Mikhail Zarechenskiy b7849da19e [NI] Introduce flag to change constraint system for overload resolution
This commit doesn't change behaviour of any inference algorithm, it
 introduces opportunity to switch constraint system that is used for
 overload resolution and fix problematic cases by changing one enum
 entry.

 Due to fundamental changes, there are cases where a new inference
 algorithm reports overload resolution ambiguity errors (#KT-31670,
 #KT-31758), which is correct from its point of view. However, this is
 a breaking change and to really make it, we should be very confident
 and have enough motivation for it, therefore, we don't change behavior
 now in order to collect more examples (if there are any). And if we
 find a lot of erroneous examples, we'll be able to change the behavior
 quite simply
2019-06-07 18:38:00 +03:00
Mikhail Zarechenskiy e7064f5b77 [NI] Move creation of constraint system under callbacks
This will be needed in the next commit to have access to constraint
 system that is used for old inference
2019-06-07 18:37:18 +03:00
Igor Yakovlev ada41fb23f Add copy method to KtUltraLightSuspendContinuationParameter 2019-06-07 17:54:03 +03:00
Igor Yakovlev 2a1293e3ef Fix test data for UL suspend declatations
(remove should-load-cls flag)
2019-06-07 17:54:03 +03:00
Igor Yakovlev 63d7e479c6 Fix invalid nullability annotation for suspend functions in LightClasses 2019-06-07 17:54:03 +03:00
Igor Yakovlev d005dc685f Add nullability support to KtUltraLightSuspendContinuationParameter 2019-06-07 17:54:03 +03:00
Igor Yakovlev 0d51a2ec43 Optimize for void return type for functions with no return type
+ small refacroring
2019-06-07 17:54:03 +03:00
Igor Yakovlev 9e904598fb Add coroutines as parameters 2019-06-07 17:54:03 +03:00
Igor Yakovlev fc30e564ba Add support ultra light suspend functions declarations 2019-06-07 17:54:03 +03:00
Vyacheslav Gerasimov 16b9c15133 Build: Don't run checkBuild tasks on check, add checkBuild to buildSrc 2019-06-07 17:38:16 +03:00
Vyacheslav Gerasimov 2769dc8359 Build: Improve sourcesJar helper
- Add sources from embedded projects
 - Add artifact to sources configuration
 - Use register instead of create

 #KT-30237 Fixed
2019-06-07 17:37:46 +03:00
Vyacheslav Gerasimov 547b10ee29 Build: Write ivy.xml without usage of internal gradle apis 2019-06-07 17:37:39 +03:00
Alexander Udalov bbbd47ead3 Minor, rename codegen test 2019-06-07 15:01:44 +02:00
Alexander Podkhalyuzin ea86ebf995 Do not expect that KDoc reference contains importable fqName
#KT-31768 Fixed
2019-06-07 15:25:15 +03:00
Mads Ager 71604851fe JVM_IR: Allow delegated companion objects.
This currently leads to a compilation error due to metadata
generation.
2019-06-07 13:26:20 +02:00
Mikhail Zarechenskiy 4ddd9f081b [NI] Consider explicitly specified type argument as an input type
#KT-31860 Fixed
2019-06-07 12:31:42 +03:00
Mikhail Zarechenskiy 787a8bb9bd Revert "[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI"
This reverts commit 7c4101e21c.

 #KT-31866 Fixed
 #KT-31868 Fixed
 #EA-125401 Fixed
 #KT-25290 Open
2019-06-07 12:31:38 +03:00