Commit Graph

92598 Commits

Author SHA1 Message Date
Georgy Bronnikov 9d4ab09b41 FIR: mute test
Getters for synthetic Java properties are generated as substituted
declarations, which leads to wrong bytecode.
2022-05-19 12:02:43 +02:00
Georgy Bronnikov dafcafc232 Fix infinite tail recursion 2022-05-19 12:02:43 +02:00
Georgy Bronnikov 870ee9c445 Fir2Ir: mute a test
FIR computes return type of testGeneric1 as T (type parameter).
Looks like a FIR bug.
2022-05-19 12:02:43 +02:00
Georgy Bronnikov 12818823b0 Fir2Ir: test data 2022-05-19 12:02:43 +02:00
Georgy Bronnikov 1eaec5a6e6 Fir2Ir: use typeContext in Fir2IrDeclarationStorage.createIrParameter 2022-05-19 12:02:43 +02:00
Georgy Bronnikov 109bdb9572 Adjust tests for FirSerializeCompileKotlinAgainstKotlin 2022-05-19 12:02:43 +02:00
Georgy Bronnikov e7b1cc03de Fir2Ir: deal with flexible and raw types in FirJvmMangleComputer and type converter 2022-05-19 12:02:43 +02:00
Georgy Bronnikov ad625a4631 Fir2Ir: deal with Java fields in FirIrProvider 2022-05-19 12:02:43 +02:00
Georgy Bronnikov 5605463ecf Introduce IGNORE_BACKEND_FIR_MULTI_MODULE directive 2022-05-19 12:02:43 +02:00
Georgy Bronnikov 571ba9298e Fir2Ir: put properties data from IrBuiltinsOverFir into symbol table
Properties themselves, accessors, backing fields.
2022-05-19 12:02:43 +02:00
Georgy Bronnikov 12b2828499 Remove diagnostic check from second module in SplittingModuleTransformerForBoxTests 2022-05-19 12:02:42 +02:00
Georgy Bronnikov ff2f6fe5e5 Fir2Ir: handle enum entries in Fir2IrProvider
NB: only the easy path works for sure. Need to have a look at:
- enum entry members
- Java enum entries
2022-05-19 12:02:42 +02:00
Georgy Bronnikov 0653ba7313 Fir2Ir: Specify containingClass in getOrCreateIrFunction 2022-05-19 12:02:42 +02:00
Georgy Bronnikov bbec6f0d85 Fir2Ir: handle type parameter signatures
Type parameter references should be deserialized.
2022-05-19 12:02:42 +02:00
Georgy Bronnikov a6d4cd0fe4 Fir2Ir: compute mangles for anonymous objects
Needs review to avoid assigning the same mangle to different objects,
2022-05-19 12:02:42 +02:00
Georgy Bronnikov 12d34589d8 Psi2Ir, Fir2Ir: always include return type into signature mangle of a function 2022-05-19 12:02:42 +02:00
Georgy Bronnikov b79903b2f4 Fir2Ir: do generate signatures for private declarations 2022-05-19 12:02:42 +02:00
Georgy Bronnikov a251a49664 Fir2Ir: register special annotations in symbol table 2022-05-19 12:02:42 +02:00
Georgy Bronnikov 6421e649ad Fir2Ir: fix mangling property type parameters for accessor signatures 2022-05-19 12:02:42 +02:00
Georgy Bronnikov 1c00f731fd Fir2Ir: deal with fake overrides in FirIrLinker 2022-05-19 12:02:42 +02:00
Georgy Bronnikov 0ef474a8d3 Do not set parent for deserialized IR declarations 2022-05-19 12:02:42 +02:00
Georgy Bronnikov 49bd3c1758 Fir2Ir: make sure Fir2IrLazyClass gets registered in symbol table 2022-05-19 12:02:42 +02:00
Georgy Bronnikov 1fbd79e310 Fir2Ir: fix deserializing IR for property accessors
1. Need to register Fir2IrLazyPropertyAccessors in symbol table.
2. Need to set their bodies.
2022-05-19 12:02:42 +02:00
Georgy Bronnikov f94b0bbcea Fir2Ir: add Fir2IrTypeParametersContainer
Fir2IrLazyProperty should not be a IrTypeParametersContainer.
2022-05-19 12:02:42 +02:00
Georgy Bronnikov 4b34648327 Fir2Ir: repair computation of IR signatures 2022-05-19 12:02:42 +02:00
Georgy Bronnikov ffe1615e9c Fir: simplify IrBuiltInsOverFir 2022-05-19 12:02:42 +02:00
Georgy Bronnikov bf5cd14acd Fir2Ir: allow setting Fir2IrLazyConstructor.extensionReceiverParameter
Needed by handleJvmStaticInSingletonObjects after IR deserialization.
2022-05-19 12:02:42 +02:00
Georgy Bronnikov 8771ce94ef Fir2Ir: deal with toplevel privates 2022-05-19 12:02:41 +02:00
Georgy Bronnikov 9ea14a6eab Fir2Ir: pass file data to Fir2IrSignatureComposer 2022-05-19 12:02:41 +02:00
Georgy Bronnikov ae158e4c5b Fir2Ir: make Fir2IrLazyClass a DeserializableClass 2022-05-19 12:02:41 +02:00
Georgy Bronnikov 0012ba79e1 Fir2Ir: rework FirIrProvider 2022-05-19 12:02:41 +02:00
Georgy Bronnikov 4a450a6627 Fir2Ir: handle flexible types in FirJvmMangleComputer
This is preliminary: like Fir2IrTypeConverter, we just take the upper
bound. Need to replicate the approximation performed in TypeTranslator.
2022-05-19 12:02:41 +02:00
Georgy Bronnikov 57679bda79 Fir2Ir: run type enhancement in FirIrProvider 2022-05-19 12:02:41 +02:00
Georgy Bronnikov 829b2822c6 Fir2Ir: adjust FirBasedSignatureComposer for constructors
Consatructor's name in the signature should be '<init>', not the
name of the constructed class.
2022-05-19 12:02:41 +02:00
Georgy Bronnikov af123d1daf Fir2Ir: deserialize bodies of inline functions 2022-05-19 12:02:41 +02:00
Georgy Bronnikov e0c175bb50 Fir2Ir: remove symbolTable as separate component from FirResult
It's already in components.
2022-05-19 12:02:41 +02:00
Georgy Bronnikov 3f66b31a47 Fir2Ir: add irProviders to Fir2IrComponents
Removes the last use of DeclarationStubGenerator in the FIR pipeline.
2022-05-19 12:02:41 +02:00
Georgy Bronnikov 13d4d60afa Fir2Ir: pass Fir2IrExtensions to backend 2022-05-19 12:02:41 +02:00
Georgy Bronnikov 3c3c1be543 Fir2Ir: introduce Fir2IrExtensions
This allows us to remove DeclarationStubGenerator from Fir2IrConverter,
thus reducing dependency on descriptor-based code.
2022-05-19 12:02:41 +02:00
Georgy Bronnikov 6bc01f031c JVM_IR: remove dependency of JvmFileFacadeClass on stub generator 2022-05-19 12:02:41 +02:00
Georgy Bronnikov 3c939a1bdd Fir2Ir: remove unneeded ExternalDependenciesGenerator calls 2022-05-19 12:02:41 +02:00
Georgy Bronnikov c87748209d Fir2Ir: use lazy declarations for imported toplevel functions and properties 2022-05-19 12:02:41 +02:00
Georgy Bronnikov c32d0f3852 Fir2Ir: add FirIrProvider 2022-05-19 12:02:41 +02:00
Georgy Bronnikov 320ba3db75 JVM_IR, FIR: add FIR tests for IR serialization 2022-05-19 12:02:41 +02:00
Dmitriy Novozhilov 89b1307e16 [FE 1.0] Don't report UNUSED_* warnings on local properties with delegate
^KT-25527 Fixed
2022-05-19 07:14:23 +00:00
Dmitriy Novozhilov 4d5a4ccd6b [FE 1.0] Don't fail on calls of functions with contracts from object
^KT-51704 Fixed
2022-05-19 07:14:22 +00:00
Dmitriy Novozhilov 993021a71d [Build] Use 1.8 target version instead of 1.6 while using JPS build 2022-05-19 07:14:21 +00:00
Ivan Kylchik 73a571ef7f Report warning from backend if constant expression cannot be evaluated 2022-05-18 21:20:04 +03:00
Ivan Kylchik f3252334b2 Move most of ir utils from backend.common to ir.tree 2022-05-18 21:20:03 +03:00
Ivan Kylchik 40d224d5fe Change error message of EXCEPTION_IN_CONST_VAL_INITIALIZER 2022-05-18 21:20:03 +03:00