Ivan Kochurkin
0c1d957711
KT-54739 Return single empty instance from collection builders on JVM
...
- return single instance of emptySet for build method from SetBuilder
- return single instance of emptyMap for build method from MapBuilder
- return single instance of emptyList for build method from ListBuilder
^KT-54739 fixed
2023-04-26 12:05:15 +00:00
Ivan Kochurkin
b72dcf8b37
[K2, MPP] Fix actualization of nullability-based overloads
...
^KT-58043 Fixed
2023-04-20 17:22:45 +00:00
Ivan Kochurkin
beaeb405d2
[K2, MPP] Build expect-actual map for type parameters from functions
...
^KT-57181 Fixed
2023-04-17 19:55:35 +00:00
Ivan Kochurkin
3a60b30dae
Minor: IrActualizationResult -> IrActualizedResult
2023-04-17 19:55:35 +00:00
Ivan Kochurkin
b7bb9c317f
[K2, MPP] Introduce FunctionDefaultParametersActualizerVisitor and use it in FunctionDefaultParametersActualizer
...
^KT-57263 Fixed
2023-04-17 19:55:34 +00:00
Ivan Kochurkin
1073797ed3
[IR] Extract ActualizerSymbolRemapper and ActualizerVisitor from ExpectActualLinker
...
It will provide the possibility to use them not only locally
Clarify code of IrActualizer pipeline
2023-04-17 19:55:34 +00:00
Ivan Kochurkin
9a09565cf6
[K2, MPP] Handle overloaded properties
...
^KT-57532 Fixed
2023-04-12 20:43:57 +00:00
Ivan Kochurkin
9a5cc39588
[FIR] Use FirDefaultOverridesBackwardCompatibilityHelper with common metadata compilation
...
Also, use it with JS compilation
^KT-57735 Fixed
2023-04-06 22:27:24 +02:00
Ivan Kochurkin
c14dcfce4f
[K2, MPP, JS] Fix a compiler crash on transitive common dependencies
...
^KT-57431 Fixed
2023-03-24 14:48:28 +00:00
Ivan Kochurkin
4e67d82cd3
[K2, MPP] Make MPP tests from k2/basic target-wide
...
^KT-57349
2023-03-24 14:48:27 +00:00
Ivan Kochurkin
ee73e4774b
[K2, MPP] Remove redundant expect declarations from klib metadata
...
^KT-57250 Fixed
Introduce flat Fir2IrActualizedResult
It contains output from Fir2Ir and IrActualizer
2023-03-24 14:48:26 +00:00
Ivan Kochurkin
d91efb212d
[K2, MPP] Rename jvm.kt to platform.kt in JS tests
2023-03-24 14:48:24 +00:00
Ivan Kochurkin
227018624e
[K2, MPP] Add common constructorCache to Fir2IrCommonMemberStorage
...
Use it in Fir2IrDeclarationStorage
^KT-56660 Fixed
2023-03-24 14:48:24 +00:00
Ivan Kochurkin
cd07eba25c
[K2, MPP] Fix reporting of MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED
2023-03-22 01:28:19 +00:00
Ivan Kochurkin
60edf1def3
[K2, MPP] Support actualization of enums and annotations that have primary constructor with arguments
...
^KT-57241 Fixed
2023-03-22 01:28:18 +00:00
Ivan Kochurkin
44807b7bd4
[K2, MPP] Support actualization of actual function with dynamic arguments
...
^KT-57210 Fixed
2023-03-22 01:28:18 +00:00
Ivan Kochurkin
ce7af9ff2b
[K2, MPP] Support arguments with expect types in actual functions
2023-03-22 01:28:18 +00:00
Ivan Kochurkin
ec34b9fa7b
[K2, MPP] Restore ir functions actualization by argument types instead of full signatures
...
Refactor IrActualizer
2023-03-22 01:28:17 +00:00
Ivan Kochurkin
d99b4c78d2
[K2, MPP] Correct actualization of nested objects
...
^KT-57182 Fixed
2023-03-22 01:28:17 +00:00
Ivan Kochurkin
8a3e2543f7
[K2, MPP] Ignore MPP tests in DiagnosisCompilerTestFE10TestdataTestGenerated
2023-03-22 01:28:17 +00:00
Ivan Kochurkin
ceb34e5a8a
[K2, MPP] Introduce IGNORE_FIR2IR_EXCEPTIONS_IF_FIR_CONTAINS_ERRORS
...
Use it for K2 MPP tests
2023-03-22 01:28:16 +00:00
Ivan Kochurkin
3b1071b42b
[FIR LT] Use FILLER_TOKENS instead of DOC_AND_COMMENT_TOKENS in startOffsetSkippingComments
2023-03-22 01:28:16 +00:00
Ivan Kochurkin
5a6e896b45
[FIR] Extract FirDeclarationPresenter to the separated class
2023-03-21 20:24:58 +00:00
Ivan Kochurkin
b490130e8e
[FIR] Merge DeclarationInspector into FirDeclarationInspector
...
There is no need of two separated classes
2023-03-21 20:24:58 +00:00
Ivan Kochurkin
07fd778319
[FIR] Optimize FirConflictsDeclarationChecker
...
Don't allocate inspector without need
2023-03-21 20:24:57 +00:00
Ivan Kochurkin
a3e7a35cb1
[FIR] Create separated FirBlock for loop local val
...
Refactor FIR builders code for ForExpression
2023-03-21 20:24:57 +00:00
Ivan Kochurkin
e49bb1fe37
[FIR] Support of REDECLARATION for local val/var, ^KT-54405 Fixed
2023-03-21 20:24:57 +00:00
Ivan Kochurkin
879deb90fc
[FIR] Report friendly errors for type aliases from stdlib if -no-jdk option is set
...
^KT-54531 Fixed
2023-03-21 20:24:56 +00:00
Ivan Kochurkin
de5b475f7a
[FIR] Use KlibBasedSymbolProvider in FirCommonSessionFactory
...
Unify logic of KLib resolving (Common and JS)
^KT-56354 Fixed
2023-03-03 20:58:24 +00:00
Ivan Kochurkin
d829f8b684
[FIR] Drop using of JavaSymbolProvider and OptionalAnnotationClassesProvider in FirCommonSessionFactory
...
Drop using of all Java stuff inside FirCommonSessionFactory
^KT-56063
2023-03-03 20:58:24 +00:00
Ivan Kochurkin
d783bbe5e9
[Tests] Do not throw assert in TestFiles.createTestFiles
...
This assert makes a test red even if it contains IGNORE_BACKEND directive
2023-03-01 22:10:11 +00:00
Ivan Kochurkin
ee53c5780f
[FIR] Extract K2 MPP test data to the separated directory
2023-03-01 22:10:11 +00:00
Ivan Kochurkin
5b2a1feaf0
[IR] Support of @OptionalExpectation in IrActualizer
...
^KT-56579 Fixed
2023-03-01 22:10:10 +00:00
Ivan Kochurkin
c10bd1e3f0
[IR] Drop using expectDeclarationsRemovingPhase if FIR is enabled
2023-03-01 22:10:09 +00:00
Ivan Kochurkin
585343d646
[FIR] Remove SessionUtils because it's not used
2023-03-01 22:10:09 +00:00
Ivan Kochurkin
9d0e02658f
[FIR] Support of ACTUAL_TYPE_ALIAS_WITH_COMPLEX_SUBSTITUTION diagnostic
2023-03-01 22:10:09 +00:00
Ivan Kochurkin
3e33258f36
[FIR] Support of ACTUAL_TYPE_ALIAS_WITH_USE_SITE_VARIANCE diagnostic
2023-03-01 22:10:08 +00:00
Ivan Kochurkin
cf1bd9837a
[FIR] Support of ACTUAL_TYPE_ALIAS_TO_CLASS_WITH_DECLARATION_SITE_VARIANCE diagnostic
2023-03-01 22:10:08 +00:00
Ivan Kochurkin
8bf9d6c92f
[FIR] Support of ACTUAL_TYPE_ALIAS_NOT_TO_CLASS diagnostic
...
^KT-56514 Fixed
2023-03-01 22:10:08 +00:00
Ivan Kochurkin
c418a7a7bf
[FIR] Support of ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS diagnostic
...
^KT-56522 Fixed
2023-03-01 22:10:07 +00:00
Ivan Kochurkin
f1fef62f76
[FIR] Consider default values from expect function during serialization
...
It's not possible to unmute some tests for K2 because it causes testData structure changing
If change testData, NATIVE doesn't work even with `IGNORE_BACKEND`
2023-03-01 22:10:07 +00:00
Ivan Kochurkin
d87619e06e
[FIR & IR] Support of default values for arguments in expect functions
...
Add FirActualDeclarationChecker that checks expect/actual return types
^KT-56331 Fixed, ^KT-56334 Fixed
2023-03-01 22:10:07 +00:00
Ivan Kochurkin
a54b56d74e
[IR] Simplify ExpectActualCollector, remove nesting
2023-03-01 22:10:06 +00:00
Ivan Kochurkin
12a083af25
[FIR2IR] Consider isExpect flag for generated synthetic functions
...
It's actual for value classes
^KT-51969 Fixed
2023-02-08 17:21:34 +00:00
Ivan Kochurkin
4374ca390a
[IR] Extend enumEntryNameCall.kt test sample to check enum entries actualization
2023-02-08 17:21:34 +00:00
Ivan Kochurkin
241f457943
[IR] Use full name for expect/actual functions linking, simplify code
...
Don't put type parameters to expect-actual map since it's useless
^KT-56329 Fixed
2023-02-08 17:21:34 +00:00
Ivan Kochurkin
8cbb6ff47a
[FIR2IR] Use convertToIrAndActualize() for JS CLI
2023-02-07 14:16:31 +00:00
Ivan Kochurkin
199b0e8cbe
[FIR] Minor: Unify all create*Session functions across all factories
...
Rename: createJsLibrarySession -> createLibrarySession
Rename: createJsModuleBasedSession -> createModuleBasedSession
2023-02-07 14:16:30 +00:00
Ivan Kochurkin
a9bac2f18b
Add PackageAndMetadataPartProvider interface
...
Use it for parameter in MetadataSymbolProvider
2023-02-07 14:16:29 +00:00
Ivan Kochurkin
f3e3cc0037
[FIR] Implement support of MPP in JS CLI
2023-02-07 14:16:29 +00:00
Ivan Kochurkin
d401ff7b09
[FIR & IR] Implement JS MPP test infrastructure
...
^KT-55295 Fixed
2023-02-07 14:16:29 +00:00
Ivan Kochurkin
b25e460beb
[FIR2IR] Minor: simplify code
2023-02-01 11:42:46 +00:00
Ivan Kochurkin
6bdd0edd6c
[FIR2IR] Add Fir2IrCommonMemberStorage, get rid of merge in Fir2Ir storages
...
Extract DescriptorSignatureComposerStub and WrappedDescriptorSignatureComposer to separate classes
2023-02-01 11:42:46 +00:00
Ivan Kochurkin
c89770c450
[IR] Consider extension receivers during expect functions actualization
...
^KT-56199 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
0f9107c153
[FIR2IR] Remove passing excess arguments to jvm backend functions and classes
...
generateModuleInFrontendIRMode, runBackend
FirJvmBackendExtension, ModuleCompilerIrBackendInput
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
e601b01be2
[FIR2IR] Use single IrBuiltInsOverFir for all MPP source modules
...
^KT-56229 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
001b11f285
[FIR2IR] Use single SymbolTable and SignatureComposer for all MPP modules
...
Merge createModuleFragmentWithSignaturesIfNeeded and createModuleFragmentWithoutSignatures
into the createModuleFragmentWithSignaturesIfNeeded
2023-02-01 11:42:44 +00:00
Ivan Kochurkin
bf145ddee8
Extract common buildKotlinMetadataLibrary
...
Use it in FirMetadataSerializer and K2MetadataKlibSerializer
2023-01-24 15:27:15 +00:00
Ivan Kochurkin
1dde34b610
Extract common AbstractMetadataSerializer
...
With inheritors: MetadataSerializer, K2MetadataKlibSerializer, FirMetadataSerializer
2023-01-24 15:27:14 +00:00
Ivan Kochurkin
8a8823e81a
Extract CommonAnalysisResult and use it in K2MetadataKlibSerializer and MetadataSerializer
2023-01-24 15:27:14 +00:00
Ivan Kochurkin
44b7859356
[FIR] Implement FIR metadata serialization
...
Add FirMetadataSerializer
Add CLI metadata tests on FIR
2023-01-24 15:27:14 +00:00
Ivan Kochurkin
46b9e15101
[FIR] Rename firMultiplatformCompilationWithLightTreeWithoutErrors
...
to firMultiplatformCompilationWithPsiWithoutErrors
Use `-Xuse-fir-lt=false` since now lt is default
2023-01-24 15:27:13 +00:00
Ivan Kochurkin
04fc2bde96
[FIR] Extract resolveAndCheckFir to firUtils
...
Use it in compilerPipeline and FirKotlinToJvmBytecodeCompiler
2023-01-24 15:27:13 +00:00
Ivan Kochurkin
5f1ed56554
[FIR] Extract createFirLibraryListAndSession to cliCompilerUtils
...
Use it in compilerPipeline and FirKotlinToJvmBytecodeCompiler
2023-01-24 15:27:13 +00:00
Ivan Kochurkin
1edc9f0a1d
[FIR] Introduce FirCommonSessionFactory
2023-01-24 15:27:12 +00:00
Ivan Kochurkin
e22359cc10
[FIR] Add MetadataSymbolProvider
...
Extract common code from K1 to MetadataUtil
2023-01-24 15:27:12 +00:00
Ivan Kochurkin
c103da98dd
[FIR] Add missing dependencies to :compiler:fir:checkers:checkers.native
2023-01-24 15:27:12 +00:00
Ivan Kochurkin
3f68694b0f
Move MetadataPartProvider to deserialization.common
...
To make it possible to use it in FIR compiler
2023-01-24 15:27:11 +00:00
Ivan Kochurkin
c9a8f433fb
[FIR2IR] Temporary fix of createIrEnumEntry
...
Check if a bound entry with the same signature is already exist
2023-01-13 12:56:01 +00:00
Ivan Kochurkin
31e2f0ba95
[FIR][Serialization] Set containingClassForStaticMemberAttr in generateConstructors
2023-01-13 12:55:58 +00:00
Ivan Kochurkin
8936220876
[IR] Implement IR actualizer and use it for K2 test and CLI scenario
...
Implement calculateExpectActualMap for Fir2IrComponents
^KT-51753 Fixed
2023-01-13 12:55:58 +00:00
Ivan Kochurkin
15ad9d134c
[IR] Fix isProperExpect for IrTypeParameter
2023-01-13 12:55:57 +00:00
Ivan Kochurkin
f17e1314f6
[FIR2IR] Implement tables merging in Fir2Ir classes and SymbolTable
...
- Pass dependent (usually common code) components to further FIR2IR converters
- Don't reinitialize builtin
2023-01-13 12:55:57 +00:00
Ivan Kochurkin
5d273ce839
[FIR & FIR2IR] Prepare test and CLI infrastructure to support MPP
...
- Move out getAnalyzerServices from FirFrontendFacade to TestSetupUtils
- Simplify DependencyListForCliModule. Now it takes BinaryModuleData as input
- FirOutArtifact contains several FirOutputArtifactPart
- Simplify FirFrontendFacade
2023-01-13 12:55:57 +00:00
Ivan Kochurkin
3029e47609
[FIR] Add BinaryModuleData
2023-01-13 12:55:56 +00:00
Ivan Kochurkin
80aafe5437
[FIR] FirModuleDescriptor: read platform from session.moduleData
2023-01-13 12:55:56 +00:00
Ivan Kochurkin
041f9c4700
[Testing] Simplify test functions
2023-01-13 12:55:56 +00:00
Ivan Kochurkin
bcfdbaa6a6
[FIR] Use ModuleCompilerAnalyzedOutput instead of FirResult
...
Remove FirResult since it has the same semantics value
2023-01-13 12:55:55 +00:00
Ivan Kochurkin
978f937fa9
[FIR Serialization] Fix serialization of generated nested classifiers
...
^KT-55759 Fixed
2023-01-11 16:07:02 +01:00
Ivan Kochurkin
584280bdd4
[FIR] Use lazy PropertyInitializationInfoData in FirPropertyInitializationChecker
2022-12-16 12:21:13 +00:00
Ivan Kochurkin
6aca5e3037
[FIR] Fast check of changed in CfgTraverser
2022-12-16 12:21:13 +00:00
Ivan Kochurkin
194d1cfccf
[FIR] Filter out incorrect library provides for dependencyProviders
...
Get rid of providers duplication
2022-11-23 18:29:29 +00:00
Ivan Kochurkin
8883de3f00
[FIR] Don't resolve Enum.declaringClass and Enum.getDeclaringClass
...
^KT-53946 Fixed
2022-11-23 18:29:29 +00:00
Ivan Kochurkin
6e76978530
[FIR] Consider anonymous objects in FirSuperclassNotAccessibleFromInterfaceChecker
...
^KT-54673 Fixed
2022-11-23 18:29:28 +00:00
Ivan Kochurkin
952274e046
[Lexer] Restore KtToken constructors without tokenId parameter
...
Mark them as @Deprecated, ^KT-54745 Fixed
2022-11-01 18:35:08 +00:00
Ivan Kochurkin
a4ad8d59b6
[FIR] Move createSessionForTests, createSessionForTests into FirTestSessionFactoryHelper
2022-10-13 18:11:49 +00:00
Ivan Kochurkin
1deb253bac
[FIR] Run FirSupertypesChecker for anonymous objects, ^KT-54300 Fixed
2022-10-13 18:11:49 +00:00
Ivan Kochurkin
69ee40325b
[FIR] Fix dependencyProviders generation in FirDependenciesSymbolProviderImpl
...
Get rid of unnecessary creating of FirCompositeSymbolProvider
2022-10-13 18:11:49 +00:00
Ivan Kochurkin
fe670d98a9
[FIR] Rename FirSessionFactory to FirJvmSessionFactory
2022-10-13 18:11:48 +00:00
Ivan Kochurkin
40a01180ff
[FIR] Move createSessionWithDependencies and createEmptySession into FirSessionFactoryHelper
2022-10-13 18:11:48 +00:00
Ivan Kochurkin
281c79e21e
[FIR] Inline createModuleDataForBuiltins method since it doesn't look useful
2022-10-13 18:11:48 +00:00
Ivan Kochurkin
4d89eddbe8
[FIR] Don't create FirDependenciesSymbolProvider without need
2022-10-13 18:11:47 +00:00
Ivan Kochurkin
9c6df5313a
[FIR] Fix substitution of anonymous type's supertypes, ^KT-51418 Fixed
2022-10-13 18:11:47 +00:00
Ivan Kochurkin
6c4dafc23c
Disable IgnoreNullabilityForErasedValueParameters for indefinite time, ^KT-53751 Fixed
2022-09-13 16:45:06 +00:00
Ivan Kochurkin
09a72fd679
Extract immutable arrays to fields in IrBuiltInsOverFir
2022-08-05 13:20:41 +00:00
Ivan Kochurkin
c0fe14a091
Make myExpressionParsing final (Parser)
2022-08-05 13:20:41 +00:00
Ivan Kochurkin
daeb41b411
Minor fixes in parser
2022-08-05 13:20:40 +00:00
Ivan Kochurkin
1d73d4cfbf
Reduce allocations in lastDotAfterReceiver (parsing)
2022-08-05 13:20:40 +00:00
Ivan Kochurkin
cf190f0cf2
Use switch case statement instead of sequence of if comparisons in parser
2022-08-05 13:20:39 +00:00
Ivan Kochurkin
6bb2af142c
Use static initialization for token sets that are used in expect method in Kotlin parser
2022-08-05 13:20:39 +00:00