Commit Graph

308 Commits

Author SHA1 Message Date
Vladimir Ivanov fd02802028 [Native] Export KDoc into generated native header 2021-03-09 16:50:23 +03:00
Dmitriy Dolovov 1a3515dbab [Commonizer] Use Flag.Class.IS_VALUE instead of Flag.Class.IS_INLINE
Also: Rename CirClass.isInline to CirClass.isValue
2021-03-09 13:13:30 +03:00
Dmitriy Dolovov 0fb99f1bf2 [Commonizer] Rename: entityBuilders.kt to CirSerializers.kt 2021-03-09 13:13:24 +03:00
Dmitriy Dolovov b41cc57ff7 [Commonizer] Rename: Cir<Entity>.build<Entity> to Cir<Entity>.serialize<Entity> 2021-03-09 13:13:18 +03:00
Dmitriy Dolovov 010ea39417 [Commonizer] Rename: MetadataBuilder -> CirTreeSeralizer 2021-03-09 13:13:13 +03:00
Dmitriy Dolovov 4f33abf5e4 [Commonizer] Minor. Rename: CirTypeProjectionImpl -> CirRegularTypeProjection 2021-03-09 13:13:06 +03:00
Dmitriy Dolovov 6b0f080ed8 [Commonizer] Rename: TypeParameterResolver -> CirTypeParameterResolver 2021-03-09 13:12:59 +03:00
Dmitriy Dolovov d07ede7305 [Commonizer] Move all CIR deserialization logic to CirDeserializers.kt 2021-03-09 13:12:53 +03:00
Dmitriy Dolovov 1737bdd4d4 [Commonizer] Extract CirTypeResolver to a separate file 2021-03-09 13:12:47 +03:00
Dmitriy Dolovov 6697c4d197 [Commonizer] Put all CIR utils to a single file 2021-03-09 13:12:42 +03:00
Dmitriy Dolovov 20ab88c001 [Commonizer] Extract CirStandardTypes from CirTypeFactory 2021-03-09 13:12:37 +03:00
Dmitriy Dolovov 298b595826 [Commonizer] Move TA expander to 'commonizer.metadata' package 2021-03-09 13:12:32 +03:00
Dmitriy Dolovov 82589c0898 [Commonizer] Move recursion markers to 'commonizer.cir' package 2021-03-09 13:12:26 +03:00
Dmitriy Dolovov f0669c752f [Commonizer] Extract creation of CirProperty from CirPropertyFactory 2021-03-09 13:12:21 +03:00
Dmitriy Dolovov 3778d1d631 [Commonizer] Extract creation of CirFunction from CirFunctionFactory 2021-03-09 13:12:15 +03:00
Dmitriy Dolovov d3c60ab72e [Commonizer] Extract creation of CirClass from CirClassFactory 2021-03-09 13:12:09 +03:00
Dmitriy Dolovov fa9285aac7 [Commonizer] Extract creation of CirTypeAlias from CirTypeAliasFactory 2021-03-09 13:12:04 +03:00
Dmitriy Dolovov 52d0250dc6 [Commonizer] Extract creation of CirClassConstructor from CirClassConstructorFactory 2021-03-09 13:11:59 +03:00
Dmitriy Dolovov cdba0d029e [Commonizer] Extract creation of CirExtensionReceiver from CirExtensionReceiverFactory 2021-03-09 13:11:52 +03:00
Dmitriy Dolovov 885026f6db [Commonizer] Extract creation of CirTypeParameter from CirTypeParameterFactory 2021-03-09 13:11:47 +03:00
Dmitriy Dolovov b30ebe2842 [Commonizer] Drop CirPackageFactory 2021-03-09 13:11:41 +03:00
Dmitriy Dolovov bfe0623837 [Commonizer] Drop CirModuleFactory 2021-03-09 13:11:35 +03:00
Dmitriy Dolovov 1f17d238f8 [Commonizer] Drop CirRootFactory 2021-03-09 13:11:30 +03:00
Dmitriy Dolovov d7ed8ff804 [Commonizer] Encapsulate interning inside of CIR entities: CirTypeAliasType 2021-03-09 13:11:24 +03:00
Dmitriy Dolovov 36294352ef [Commonizer] Encapsulate interning inside of CIR entities: CirClassType 2021-03-09 13:11:19 +03:00
Dmitriy Dolovov c6d8cddcd9 [Commonizer] Encapsulate interning inside of CIR entities: CirTypeParameterType 2021-03-09 13:11:14 +03:00
Dmitriy Dolovov 3012839f49 [Commonizer] Encapsulate interning inside of CIR entities: CirAnnotation 2021-03-09 13:11:08 +03:00
Dmitriy Dolovov f7d977d7c4 [Commonizer] Encapsulate interning inside of CIR entities: CirPropertySetter 2021-03-09 13:11:02 +03:00
Dmitriy Dolovov f1739980d3 [Commonizer] Encapsulate interning inside of CIR entities: CirPropertyGetter 2021-03-09 13:10:57 +03:00
Dmitriy Dolovov ec1e4fb26e [Commonizer] Encapsulate interning inside of CIR entities: CirFunctionModifiers 2021-03-09 13:10:51 +03:00
Dmitriy Dolovov 5e41a7c66b [Commonizer] Encapsulate interning inside of CIR entities: CirValueParameter 2021-03-09 13:10:46 +03:00
Dmitriy Dolovov f43626d545 [Commonizer] Drop no more necessary logic for forward declarations 2021-03-09 13:10:40 +03:00
Dmitriy Dolovov 12be9c99ca [Commonizer] Replace DescriptorVisibilit[y,ies] by Visibilit[y,ies] 2021-03-09 13:10:35 +03:00
Dmitriy Dolovov 7bdbc893a0 [Commonizer] Move test-specific logic to 'tests' module 2021-03-09 13:10:30 +03:00
Dmitriy Dolovov a0baecc6e4 [Commonizer] Rename: CirTreeMergerV2 -> CirTreeMerger 2021-03-09 13:10:24 +03:00
Dmitriy Dolovov 126b634529 [Commonizer] Drop support of descriptors, part 2 2021-03-09 13:10:18 +03:00
Dmitriy Dolovov 607568fb73 [Commonizer] Rework mocks for tests to drop descriptors 2021-03-09 13:10:13 +03:00
Dmitriy Dolovov e96dd3b301 [Commonizer] Drop support of descriptors, part 1 2021-03-09 13:10:07 +03:00
Dmitriy Dolovov eddeef1d51 [Commonizer] Build CIR tree directly from metadata 2021-03-09 13:10:01 +03:00
sebastian.sellmair 3d6893e518 [Commonizer] Implement safe SharedCommonizerTarget factory function
Do not try to instantiate SharedCommonizerTarget with no leaves
^KT-45350 Verification Pending
2021-03-09 10:02:00 +00:00
Alexander Udalov ee11202db5 Add Flag.IS_VALUE for value classes to kotlinx-metadata-jvm
#KT-44783 Fixed
2021-03-08 21:22:40 +01:00
Dmitriy Dolovov 149282a888 [Commonizer] Fix: Stats not logged for "native-dist-commonize" CLI task 2021-03-04 22:24:11 +03:00
Dmitriy Dolovov 1c06972ec6 [Commonizer] Minor. Formatted 2021-03-04 22:24:05 +03:00
Dmitriy Dolovov d6961a6e60 [Commonizer] Rework MetadataDeclarationsComparator API
1. Formalize all possible variants of entities where mismatch could happen via sealed interface MetadataDeclarationsComparator.EntityKind
2. Track the path to the place of mismatch in terms of MetadataDeclarationsComparator.PathElement
2021-03-04 22:23:57 +03:00
Dmitriy Dolovov 43d9c6cc90 [Commonizer] Reworked functions for making nullable CIR types 2021-03-02 11:37:25 +03:00
Dmitriy Dolovov 7ad35b2f49 [Commonizer] Change CIR type calculation procedure
- By default, all CIR types are created as abbreviated types
  (if such information is available in descriptors).
- When necessary, CIR type can be "unabbreviated" to remove any
  abbreviations from it. This can be done via a separate function
  in CirTypeFactory: unabbreviate().
2021-03-01 23:17:16 +03:00
sebastian.sellmair a7a085d640 [Commonizer] ModuleSerializer: Sanitize library names for Windows
The CInterop tool can produce klibs that contain colons in their library name.
Therefore the library name, as is, cannot be used as file name.
The sanitizer will replace any occurring ':' with '_'
2021-03-01 19:53:08 +03:00
Stanislav Erokhin f77ba914c7 [MERGE] Kotlin/Native history merged into kotlin/master 2021-02-26 15:30:58 +01:00
Vasily Levchenko b05e742238 [commonizer-api] workaround for old k/n artifacts 2021-02-26 12:51:54 +01:00
Alexander Udalov ca5a35b4b3 Move CompilerEnvironment from 'frontend' to 'cli'
This is needed in order to have a single convenient place where to
register frontend services implemented _outside_ of the 'frontend'
module, such as the control flow analysis, extracted to a separate
module in a subsequent commit.
2021-02-24 17:17:03 +01:00