Commit Graph

2927 Commits

Author SHA1 Message Date
Jinseong Jeon ff509bdcd3 FIR2IR: fix inverted types for array/element in arrayOf call. 2020-05-27 11:38:32 +03:00
Jinseong Jeon b93868c30b IR: migrate IrType utils about array element type. 2020-05-27 11:38:32 +03:00
Roman Artemev 49690fc620 [JS IR] Properly detect whether nested class is external
- Fix KT-38765
2020-05-27 10:49:57 +03:00
Vitaly adf6831d7f [JS BE] implement es6-classes's codegen 2020-05-27 00:32:55 +03:00
Vitaly 90bcf8bf88 [JS BE] add es6LoweringPhase 2020-05-27 00:32:55 +03:00
Vitaly fd25a5b3c8 [JS BE] es6: save instance after superCall 2020-05-27 00:32:55 +03:00
Vitaly 8c412adfaa [JS BE] implement es6-classes lowering 2020-05-27 00:32:55 +03:00
Vitaly be85b36025 [JS BE] add flag es6mode 2020-05-27 00:32:55 +03:00
Vitaly 9ede8445e7 [JS BE] add runtime-function and intrinsics for es6-classes 2020-05-27 00:32:54 +03:00
Dmitry Petrov 69fa067df9 Fix compiler bootstrap (1.4.0-dev-9205) 2020-05-27 00:28:58 +03:00
Dmitry Petrov f81be526bc Support deserialized IR in IfNullExpressionsFusionLowering
Deserializer generates simple branches instead of IrElseBranches.
2020-05-26 20:29:12 +03:00
Roman Artemev 7644b4baec [KLIB] Improve performance a bit 2020-05-26 14:41:49 +03:00
Roman Artemev e6c855111e [KLIB] Add flag to select between per-file and monolithic layout 2020-05-26 14:41:49 +03:00
Roman Artemev 444ecc0981 [PLUGIN API] Fix misprint 2020-05-26 14:38:18 +03:00
Roman Artemev bc32688497 [PLUGIN API] Drop PureIrGenerationExtension 2020-05-26 14:38:18 +03:00
Mikhail Glukhikh 4455532210 JsIntrinsics: use createEmptyExternalPackageFragment 2020-05-26 11:50:55 +03:00
pyos d17a18f96d JVM: do not write trivial SMAPs to classes outside inline funs
where trivial == those that map the file to itself.
2020-05-25 20:03:56 +02:00
Mikhail Glukhikh 6c124ccd0c [IR] Drop deprecated symbol.descriptor based declaration constructors 2020-05-25 15:40:38 +03:00
Mikhail Glukhikh bb2e58b6a4 Deprecate IrDeclaration.descriptor and IrSymbol.descriptor 2020-05-25 15:40:38 +03:00
Mikhail Glukhikh b05a1bb1a2 [IR] Extract IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 12f596c620 [IR] Unbind construction methods of IR file/enum entry/type alias from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh c68de4639f [IR] Unbind construction methods of IrLocalDelegatedPropertyImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 58ef59074d [IR] Unbind construction methods of IrTypeParameterImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 3f09bb40c0 [IR] Unbind construction methods of IrVariableImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 784d3a9005 [IR] Unbind construction methods of IrValueParameterImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 03f2c6d38a [IR] Unbind construction methods of IrFieldImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh ab15a88ce4 [IR] Unbind construction methods of IrPropertyImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh 7840adde12 [IR] Unbind construction methods of IrConstructorImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh 262548fd5b [IR] Unbind construction methods of IrFunctionImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh a7d514a0a9 [IR] Unbind construction methods of IrClassImpl from symbol.descriptor 2020-05-25 15:40:35 +03:00
Roman Artemev 257c4c5604 [PLUGIN API] Extract IrPluginContext into separate interface
- Isolate ir infrastructure implementation details behind special interface
2020-05-25 13:26:35 +03:00
Steven Schäfer 933440dc63 JVM IR: Fix mangling of @JvmStatic internal function in companion objects 2020-05-20 15:57:03 +02:00
Kevin Most 4f26ac9a04 Fix "Koltin" typos throughout codebase (#3383)
* Fix "Koltin" typos throughout codebase

* Update K2MetadataKlibSerializer.kt
2020-05-20 15:12:32 +03:00
pyos 7222a732c1 JVM: treat empty SMAP instances as "skip all line numbers" 2020-05-19 18:33:27 +02:00
pyos 86b28b95ca JVM: keep call site markers when inlining lambdas into objects
A follow-up for KT-35006:

    fun f() = foo {
        bar()
    }
    inline fun foo(crossinline x: () -> Unit) = { x() }()
    inline fun bar() = TODO()

does not provide the option to navigate to bar's call site at all.
2020-05-19 18:33:27 +02:00
pyos 1fe7ef6521 JVM: separate the two kinds of source mappers
* a writing source mapper has `mapLineNumber(line, file, class)` that
   inserts a new SMAP entry and returns a fake line number from it;
 * a copying source mapper has `mapLineNumber(line)` that uses an
   existing SMAP to resolve the line number and call the former method
   on a different source mapper;
 * those two types are disjoint.
2020-05-19 18:33:27 +02:00
Mark Punzalan 371c4561a0 [IR/FIR] Use isExpect from IR element instead of descriptor in
ExpectDeclarationRemover.
2020-05-18 17:20:43 +02:00
Mikhail Glukhikh db7a7f6cd3 [FIR2IR] Move facade classes generation to the main converter 2020-05-18 11:48:33 +03:00
Mikhail Glukhikh c4f4883b96 [FIR] Remove redundant dependency generation in JvmIrCodegenFactory
Dependency generation isn't necessary at this point because
it's already performed by Fir2IrConverter
2020-05-18 11:48:33 +03:00
Jinseong Jeon 61def4cdc5 FIR: set function factory (before it's used in SAM lowering). 2020-05-18 09:36:22 +03:00
Roman Artemev 52a93f189e [JS SCRIPT] Fix IrBuiltIns to make it stable if symbols already defined 2020-05-14 17:58:32 +03:00
Roman Artemev 8f71bdbf01 [JS SCRIPT] Fix IrScript visit order 2020-05-14 17:58:32 +03:00
Roman Artemev f792c5c936 [JS SCRIPT] Fix default arguments in script 2020-05-14 17:58:32 +03:00
Roman Artemev 996137576e [JS SCRIPT] Fix script lowering 2020-05-14 17:58:32 +03:00
Roman Artemev e573efb3a5 [JS SCRIPT] Handle IrScript in mangler correctly 2020-05-14 17:58:32 +03:00
Anton Bannykh 86b5c63891 JS IR: fix origin for callable references with bound reciever
In case of IrFunctionReference with type SuspendFunction (no K!) there
was a misalignment between the base class (Any) and the
origin (LAMBDA..). As a result the SuspendFunctionLowering was
getting confused and produced hanging code.
2020-05-14 14:33:12 +03:00
Jinseong Jeon bcf277d885 Add comments for generators about data/inline class (in psi2ir and fir2ir) and annotations (fir2ir). 2020-05-14 09:41:11 +03:00
Steven Schäfer 9bc8fdcb3c JVM IR: Validate corresponding properties 2020-05-13 20:57:52 +02:00
Steven Schäfer 13f15a702b JVM IR: Remove corresponding property hacks from MethodSignatureMapper 2020-05-13 20:57:52 +02:00
Steven Schäfer 497df0922a JVM IR: Fix corresponding properties in inline classes 2020-05-13 20:57:52 +02:00