Commit Graph

68788 Commits

Author SHA1 Message Date
Denis Zharkov b0a7960b42 FIR: Call ensureResolved(TYPES) when computing supertypes of a class 2020-09-01 17:43:30 +03:00
Denis Zharkov 8427cc373f FIR: Fix coroutines related IDE exception from TowerResolveManager
Do not try to steal tasks in suspendResolverTask
Otherwise, it might lead to resuming current coroutine through
"resume" methods that is kind of illegal when using suspendCoroutineUninterceptedOrReturn
2020-09-01 17:43:30 +03:00
Denis Zharkov d532529c30 FIR: Add workaround for recursive contracts in ensureResolvedForCalls 2020-09-01 17:43:30 +03:00
Denis Zharkov 0a1440d80c FIR: Optimize ensureResolvedForCalls for common case 2020-09-01 17:43:30 +03:00
Denis Zharkov 1c0e3b30a2 FIR: Use return type calculator in FirTypeMismatchOnOverrideChecker 2020-09-01 17:43:30 +03:00
Denis Zharkov 992a2d556a FIR: Add ensureResolved calls for types of sub-expressions
These calls resolve a class that a type of expression is built upon
2020-09-01 17:43:30 +03:00
Denis Zharkov d05e947d25 FIR: Ensure resolved callable symbols came out of the declared scopes
Otherwise, we need to add `ensureResolved` to almost any usage of process*:
- Call resolution need fully resolved callables
- UseSiteScope when binding overrides should ensure resolved for callables from supertypes
- checkers have to make sure they use correct overridden
- SAM resolver
2020-09-01 17:43:30 +03:00
Denis Zharkov d80caf7dbf FIR: Extract common code in FirPackageMemberScope 2020-09-01 17:43:30 +03:00
Denis Zharkov b4aef21423 FIR: Simplify API for ensureResolved
Additional `as` casts look redundant, but it's a design issue (see KT-41421)
2020-09-01 17:43:30 +03:00
Denis Zharkov bb84dc2ed4 FIR: Minor. Extract common parts in FirClassDeclaredMemberScope 2020-09-01 17:43:30 +03:00
Denis Zharkov 1cc68762e1 FIR: Minor. Fix error message 2020-09-01 17:43:30 +03:00
Denis Zharkov 4cdc36abb3 FIR: Drop unused 'phasedFir' callables 2020-09-01 17:43:30 +03:00
Denis Zharkov c3c8115163 FIR: Use explicit version of 'ensureResolved' 2020-09-01 17:43:30 +03:00
Denis Zharkov 517056e0c6 FIR: Do not require specific phase for super-call receiver class
It's anyway defined in the outer context (outer class) that already
should have proper context
2020-09-01 17:43:30 +03:00
Denis Zharkov fcc2abcf40 FIR: Fix phase requirement for call resolution 2020-09-01 17:43:30 +03:00
Denis Zharkov ff182f191e FIR: Fix some contracts resolutions side-effects
- Resolve anonymous objects' contents
- Update phase for constructors
- Do not transform annotations
(while resolving they may refer to other declarations that don't have yet CONTRACTS phase)
2020-09-01 17:43:30 +03:00
Denis Zharkov 67cc85e02b FIR: Avoid redundant calls to ensureResolved during call resolution
Call ensureResolved only once when creating a candidate
2020-09-01 17:43:30 +03:00
Denis Zharkov bf2fc10cd6 FIR: Extract AbstractFirBasedSymbol::ensureResolved extension 2020-09-01 17:43:30 +03:00
Denis Zharkov 2529f541ba FIR: Prepare refactoring of phasedFir
- Rename PhasedFirFileResolver -> FirPhaseManager
- Move semantically significant parts to a component
2020-09-01 17:43:30 +03:00
Ilya Goncharov 7fe02238ea [Gradle, JS] Add more information on Gradle exception
^KT-41566 fixed
2020-09-01 17:26:02 +03:00
Ilya Goncharov 076045ce54 [Gradle, JS] Add test with library mixed with executable and browser/nodejs
^KT-41566 fixed
2020-09-01 17:26:02 +03:00
Ilya Goncharov d238483054 [Gradle, JS] Add test with library mixed with executable
^KT-41566 fixed
2020-09-01 17:26:02 +03:00
Ilya Goncharov 4a1bccc1e6 [Gradle, JS] Add test on simple js binary library
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov 9f04d353a0 [Gradle, JS] Fix test for IR browser distribution
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov 134aa6182e [Gradle, JS] Process resources into kotlin folder
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov 06a54c87a0 [Gradle, JS] Compile sync tasks
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov 9729554313 [Gradle, JS] Node run task for all binaries
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov 7dbde459f0 [Gradle, JS] Run task for library
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov b4baaed87a [Gradle, JS] Different distributions for different binaries
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov 8c74a844f2 [Gradle, JS]] Add custom fields for package.json
^KT-35330 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov 2d8b95190e [Gradle, JS] Outputs for distribution tasks as lazy
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov fe72d46fee [Gradle, JS] Add types into public package json
^KT-40753 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov 39059c103a [Gradle, JS] Distribution directory as a lazy
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov 82ea324cc1 [Gradle, JS] DefaultDistribution
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov 53a23169d9 [Gradle, JS] Node js binaries executable filtering
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov 73dbf6b846 [Gradle, JS] Add configureLibrary
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov 1318517155 [Gradle, JS] Add configureLibrary
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov c9ca05b477 [Gradle, JS] Add distribute resources tasks for all binaries
^KT-41566 fixed
2020-09-01 17:25:59 +03:00
Ilya Goncharov cc25660d7d [Gradle, JS] Move distributions tasks into abstract subtarget class
^KT-41566 fixed
2020-09-01 17:25:59 +03:00
Roman Artemev cae29a5d1c [IR] Clean up WrappedDescriptors API 2020-09-01 17:08:11 +03:00
Roman Artemev c7b57c0fb3 [IR] Use only empty constructor to create WrappedDescriptor 2020-09-01 17:08:11 +03:00
Roman Artemev fd88914cf9 [IR] Remove some descriptor usage from Common/JS/JVM backends
- replace descriptor-based builders with pure IR ones
 - fix matchers
 - fix Ir2Js
 - rewrite some inliner-helpers to pure-IR implementations
2020-09-01 17:08:11 +03:00
Dmitry Petrov 8cb8284957 EnhancedNullability annotation in IR
Fixes KT-40115 & KT-40117.

Move FlexibleNullability annotation to 'kotlin.internal.ir'.
2020-09-01 16:06:03 +03:00
Roman Artemev 0bff406a12 [JS IR] Add infra to test compilation with error
- add bunch of tests
 - fix help test
2020-09-01 14:53:08 +03:00
Roman Artemev e592b3af1d [JS IR] Fix CallsLowering's*
- need to fix dev mode since some methods are not handled
 with intrinsic lowering
2020-09-01 14:53:08 +03:00
Roman Artemev 7a6415dc53 [JS IR] Enable IrError element's lowerings in JS 2020-09-01 14:53:08 +03:00
Roman Artemev 4dca3715fa [JS IR | IR] Implement error element lowering to support compilation with errors 2020-09-01 14:53:08 +03:00
Roman Artemev 14b5424583 [JS IR] Support translation of IrError* elements 2020-09-01 14:53:08 +03:00
Roman Artemev 1fd5c1cc65 [IR] Support IrErrorType & IrErrorDeclaration in ir mangler 2020-09-01 14:53:08 +03:00
Roman Artemev 9c36487077 [IR] Disable mangle checker for IrErrorDeclarations 2020-09-01 14:53:07 +03:00