Alexander Udalov
d1dc938a5d
IR: use IrFactory in IR builders
2020-07-28 12:05:24 +02:00
Alexander Udalov
898dd20a9e
IR: use IrFactory in misc utils
2020-07-28 12:05:23 +02:00
Alexander Udalov
f359f36ed9
IR: add IrFactory to IrDeclaration, use in deep copy
2020-07-28 12:05:23 +02:00
Alexander Udalov
305288aa82
IR: use IrFactory in psi2ir
2020-07-28 12:05:23 +02:00
Alexander Udalov
9356f87f28
IR: use IrFactory in linker
2020-07-28 12:05:23 +02:00
Alexander Udalov
db4cbe7103
IR: use IrFactory in SymbolTable
2020-07-28 12:05:23 +02:00
Alexander Udalov
c6a127e87e
IR: introduce IrFactory
...
This is needed to refactor IrPersistingElementBase-based implementations
into another module, to use it in JS IR.
2020-07-28 12:05:23 +02:00
Dmitry Petrov
43fcb2330e
JVM_IR: fix source file name for mutlifile class facades
2020-07-27 19:13:37 +03:00
Dmitriy Dolovov
3d9093583f
Metadata: 'non-stable parameter names' flag for callables
...
^KT-34602
2020-07-27 23:11:30 +07:00
Steven Schäfer
9d63412b3e
JVM IR: Produce correct generic signatures for special bridge methods
2020-07-27 17:02:24 +02:00
Steven Schäfer
c16b548dff
JVM IR: Don't produce annotations on builtin stub, toArray, and bridge methods
2020-07-27 17:02:24 +02:00
Dmitry Petrov
e2a4ca10d6
JVM_IR: fix inner class attributes for private class in interface
2020-07-23 19:13:28 +03:00
Svyatoslav Kuzmich
4a803e9d2f
[JS IR] Support object declaration export
...
Fixes KT-39117 and KT-39367
2020-07-23 08:21:59 +03:00
Alexander Udalov
65d3ae6253
JS IR: move declaration creation from IrBuilder to JsIrDeclarationBuilder
...
This is a temporary class until IrDeclarationFactory is there.
2020-07-22 22:40:08 +02:00
Alexander Udalov
d3a34a8898
Psi2Ir: somewhat simplify Psi2IrTranslator API
...
Inline some methods only used once, deduplicate usages, rearrange
parameters, etc.
2020-07-22 22:38:21 +02:00
Alexander Udalov
241f82c70f
IR: avoid storing unnecessary fields in IrPropertyImpl
2020-07-22 22:38:21 +02:00
Alexander Udalov
3f06f8a6ba
IR: avoid storing unnecessary fields in IrFunctionImpl
2020-07-22 22:38:20 +02:00
Alexander Udalov
517c3e1020
IR: introduce IrFakeOverrideFunction, IrFakeOverrideProperty
...
Use them instead of the implementations. This will allow to refactor
creation to a factory and allow to use other implementations in the
future.
2020-07-22 22:38:20 +02:00
Alexander Udalov
ca5eb40fa5
IR: minor, avoid usages of IrBlockBodyImpl/IrExpressionBodyImpl
2020-07-22 22:38:20 +02:00
Mark Punzalan
174576af61
ForLoopsLowering: Handle Sequence<*>.withIndex().
2020-07-22 22:32:29 +02:00
Mark Punzalan
132960a695
ForLoopsLowering: Eliminate use of @ObsoleteDescriptorBasedAPI.
2020-07-22 22:32:29 +02:00
Mark Punzalan
b1ce21bc55
ForLoopsLowering: Reduce unnecessary temporary variables for the
...
"checked step" (check for a positive step arg) and "negated step"
(negate the step arg when the nested step is negative).
2020-07-22 22:32:29 +02:00
Mark Punzalan
291d62f653
ForLoopsLowering: Move handlers to sub-package and separate files.
2020-07-22 22:32:29 +02:00
Dmitry Petrov
1272162a7f
JVM_IR: generate "safe" names for functions in init blocks
2020-07-22 19:49:48 +03:00
Alexander Gorshenev
c076d81f0c
[IR FAKE OVERRIDES] Properly account for outer class type parameters
2020-07-22 12:02:51 +03:00
Pavel Kirpichenkov
1ef17c6f3a
Drop isErrorTypeAllowed flag from type system context
...
The flag was used exclusively during calculation of common super type.
This change relies on assumption, that common super type is
NOT calculated in IR type system context.
2020-07-22 11:41:42 +03:00
Denis Zharkov
41bd013796
Fix incorrect usages of @NotNull type parameters in project sources
...
^KT-36770 In progress
2020-07-22 10:16:14 +03:00
Dmitry Petrov
e84339a0d3
JVM_IR: fields for deprecated enum entries have ACC_DEPRECATED flag
...
'Deprecated' annotation can't be applied to field itself.
2020-07-21 22:25:44 +03:00
Roman Artemev
edab3e3ba9
[PLUGIN API] Add referenceTypeAlias API to IrPluginContext
...
- attempt to fix KT-40193
2020-07-21 18:38:33 +03:00
Roman Artemev
c4b4912a71
Revert "[PLUGIN API] Make referenceClass resolve type aliases too"
2020-07-21 18:38:32 +03:00
Anton Bannykh
cb15570d75
[JS IR BE] Fix validation errors (duplicate nodes and incorrect parent)
2020-07-21 18:25:17 +03:00
Roman Artemev
d7a0dbfae8
[PLUGIN API] Make referenceClass resolve type aliases too
...
- fix KT-40193
2020-07-21 15:36:31 +03:00
Roman Artemev
8c4930da2e
[KLIB] Drop API which is no longer used
2020-07-21 13:15:35 +03:00
Roman Artemev
bb20e4759b
[KLIB] Use queue to track classes required fake override resolve
...
- Avoid module visiting to prevent lazy bodies loading
2020-07-21 13:15:35 +03:00
Steven Schäfer
d62a6a2631
JVM IR: Do not create accessors for enum entry constructors
2020-07-20 22:37:49 +02:00
Alexander Udalov
71730696b2
JVM IR: rename JvmDeclarationFactory -> JvmCachedDeclarations
2020-07-20 22:26:11 +02:00
Alexander Udalov
c7f9dc1c40
IR: rename DeclarationFactory to InnerClassesSupport, move out of context
...
Methods of the common interface DeclarationFactory were only used in
lowerings in InnerClassesLowering, which were used in JVM and JS, not
Native. Therefore, it makes sense to have this as a separate interface
and pass its implementation to these lowerings directly, instead of
declaring it in the common context (which is not going to be implemented
in Native).
2020-07-20 22:26:11 +02:00
Alexander Udalov
cf884fb048
IR: remove JVM-specific methods from DeclarationFactory
2020-07-20 22:26:11 +02:00
Dmitry Petrov
2b9606becf
JVM_IR: field for suspend main parameter is synthetic
2020-07-20 20:04:31 +03:00
Dmitry Petrov
6bc44a366a
JVM_IR: fields for suspend lambda parameters are synthetic
2020-07-20 20:04:31 +03:00
Dmitry Petrov
fa75518bd7
JVM_IR: don't skip nullability annotations on private fields
...
Unfortunately, some annotation processors rely on those annotations.
2020-07-20 20:04:31 +03:00
Jim Sproch
a4a398239b
Fallback to fileEntry provided by irFile
2020-07-18 11:16:09 +03:00
Georgy Bronnikov
c901e82a55
IR: add IrSimpleFunction.isInfix
2020-07-18 11:03:33 +03:00
Jim Sproch
ccbb2eaba9
Make linker visible to compiler plugins
2020-07-17 21:18:07 +03:00
Igor Chevdar
8bbbee8ffd
[IR] Supported IrFunctionExpression in ClosureAnnotator
...
It may be encountered during local classes extraction from inline lambdas
2020-07-16 19:23:02 +05:00
Alexander Udalov
c9fdef8233
IR: use buildField where possible
2020-07-16 16:09:31 +02:00
Alexander Udalov
2d723f1c51
IR: use buildClass where possible
2020-07-16 16:09:31 +02:00
Alexander Udalov
5b1193407a
IR: use buildConstructor where possible
2020-07-16 16:09:31 +02:00
Alexander Udalov
6aa09f61d4
IR: use buildFun where possible
2020-07-16 16:09:30 +02:00
Alexander Udalov
39e38c7049
IR: introduce buildVariable, use where possible
2020-07-16 16:09:30 +02:00