Commit Graph

68786 Commits

Author SHA1 Message Date
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
Roman Artemev 563af709a8 [Psi2Ir] Fix generation of IrError* nodes
- Provide detailed description
 - Support syntax-incorrect statements
 - Generate an error declaration if normal generation has failed
2020-09-01 14:53:07 +03:00
Roman Artemev a60782f3df [JS IR] Add CLI argument to setup error tolerance policy
-  Make sure dev mode is enabled if code with errors is allowed
2020-09-01 14:53:07 +03:00