Zalim Bashorov
f002e6030a
IR BE common: use another ctor of IrGetValueImpl in LocalDeclarationsLowering
...
(cherry picked from commit 7e34d6e)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
d5906dd584
IR BE common: fix InnerClassesLowering
...
(cherry picked from commit 4239a5f)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
072804af52
ir.tree: uncomment and fix IrFunction.createParameterDeclarations
...
(cherry picked from commit af8b4be)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
6bc86bd42f
IR: add ClassifierDescriptor.toIrType and KotlinType.toIrType
...
(cherry picked from commit 3e09659)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
fa51b962b8
IR: return original KotlinType from IrTupe.toKotlinType() when it possible instead of creating new one
...
(cherry picked from commit e3b921a)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
1c2ac364c7
IR: add more predicates on IrType
...
(cherry picked from commit 5cf136c)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
17454d3f9c
ir.tree: fix return type of IrMemberAccessExpression.getTypeArgumentOrDefault
...
(cherry picked from commit 9e7661f)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
576dfda3a8
IrTypes: fix translating for Dynamic type
...
(cherry picked from commit bd04b46)
2018-06-29 11:24:46 +03:00
Mikhael Bogdanov
ecb5d29130
Add additional IrFunction constructor with custom visibility and modality
...
(cherry picked from commit 0664d77)
2018-06-29 11:24:46 +03:00
Mikhael Bogdanov
3063de82aa
Fix JVM BE IR part
...
(cherry picked from commit 5e55040)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
1d67cd3b97
IR: add ir.backend.common to jvm backend dependencies
...
(cherry picked from commit 0776e3d)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
9bcc3cae79
IR Tree: add overloads for irCall and IrGetValueImpl
...
(cherry picked from commit 1420fc5)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
80b6d84c72
Add dependency: backend.js -> ir.backend.common
...
(cherry picked from commit a8b02f8)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
7e9cf64754
KJS: don't use onlyIf from ir/backend.common
...
(cherry picked from commit 34574a9)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
49f2598907
IrTypes: fix ir2cfg
...
(cherry picked from commit cf162c7)
2018-06-29 11:24:46 +03:00
Zalim Bashorov
ea7b344b80
Use IrType in IrSuspensionPointImpl and IrSuspendableExpressionImpl
...
(cherry picked from commit 06e1728)
2018-06-29 11:24:46 +03:00
Dmitry Petrov
d5286874bd
Fix circular dependency: TypeTranslator <-> ConstantValueGenerator
...
TODO proper DI?
2018-06-29 11:24:46 +03:00
Dmitry Petrov
ede3a34baa
Temporary fix for IR2CFG: use originalKotlinType
2018-06-29 11:24:46 +03:00
Dmitry Petrov
15eafc1513
IrTypes: IrSuspensionPoint, IrSuspendableExpression update
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
b11abeed6a
IrTypes: migrate some code from backend.common
...
(cherry picked from commit 3788130)
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
f1bdb48a76
IrTypes: comment backend.common code to be migrated by someone else
...
(cherry picked from commit 0491fc4)
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
25d0c57194
backend.common: remove obsolete lowerings
...
(cherry picked from commit 5d6b9c7)
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
17312a305b
psi2ir: fix type for IrGetField(delegate) when generating delegation
...
(cherry picked from commit 7601cc2)
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
56fdf2c735
psi2ir: fix null support in 'promoteToPrimitiveNumericType'
...
(cherry picked from commit 9b2a637)
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
0b4d9513eb
psi2ir: fix generating fake override for property with type parameters
...
(cherry picked from commit 2051177)
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
be413e4fab
psi2ir: don't generate accessor type parameter supertypes twice
...
(cherry picked from commit 22e6d5f)
2018-06-29 11:24:46 +03:00
Dmitry Petrov
a9d0e6d3da
IrTypes: generateAnnotationConstructorCall -> ConstantValueGenerator
2018-06-29 11:24:46 +03:00
Dmitry Petrov
3a11767fae
IrTypes: use proper scope for type parameters in stub generation
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
f837537cb6
IrTypes: fix multiple issues in psi2ir
2018-06-29 11:24:46 +03:00
Svyatoslav Scherbina
35cf7c4db3
Expose transformAnnotations from DeepCopyIrTree
2018-06-29 11:24:46 +03:00
Dmitry Petrov
d1b6e8901a
Minor: IrTypes: fix after rebase
2018-06-29 11:24:46 +03:00
Dmitry Petrov
2d9ae6e93e
IrTypes: approximate only non-denotable Kotlin types
2018-06-29 11:24:46 +03:00
Dmitry Petrov
93f4a4da10
IrTypes: star projections
...
Initial implementation, mostly to avoid infinite recursion in cases such
as 'Enum<*>'.
2018-06-29 11:24:46 +03:00
Dmitry Petrov
5b3947da11
IrTypes: Fix type arguments mapping for properties
2018-06-29 11:24:46 +03:00
Dmitry Petrov
7497372f65
IrTypes: IrProperty has no type of its own
...
Within the current scheme, type parameters for IrProperty become type
parameters for getter and setter (and, since only extension properties
can have type parameters, backing field's type can't depend on type
parameters; see also KT-24643). Either properties themselves can have
type parameters of their own (for the sake of representing the property
type), or properties don't have types and don't have type parameters.
2018-06-29 11:24:46 +03:00
Dmitry Petrov
ad65fa8c45
IrTypes: IrTypeParameter.superTypes can depend on type parameters
...
IrTypeParameter.superTypes can depend on type parameters and thus should
be initialized with type parameters in scope.
2018-06-29 11:24:46 +03:00
Dmitry Petrov
eb6f652763
IrTypes: IrClass.superTypes can depend on type parameters
...
IrClass.superTypes can depend on type parameters of a class and thus
should be initialized after type parameters are in put in scope.
2018-06-29 11:24:46 +03:00
Dmitry Petrov
8ae17ecbcb
IrTypes: IrFunction.returnType can depend on type parameters
...
Function return type can depend on function type parameters and should
be initialized with type parameters in scope.
2018-06-29 11:24:46 +03:00
Dmitry Petrov
847223683e
Minor: IrTypes: fix after rebase
2018-06-29 11:24:46 +03:00
Dmitry Petrov
0ffef64428
IrTypes: IrClass.superTypes, IrTypeParameter.superTypes
2018-06-29 11:24:46 +03:00
Dmitry Petrov
353076f596
compiler/ir/backend.common is NOT a part of compiler/backend-common
2018-06-29 11:24:46 +03:00
Dmitry Petrov
25a66916a6
IrTypes: minor: pass generator context where required
2018-06-29 11:24:46 +03:00
Dmitry Petrov
6649ef2740
IrTypes required to declare symbol
2018-06-29 11:24:46 +03:00
Dmitry Petrov
609a6ca9bb
IrTypes: dummy implementation of IrType.render
2018-06-29 11:24:46 +03:00
Dmitry Petrov
4eb2fc66d0
IrTypes: deep copy with symbols
...
Preliminary implementation of type remapper (does nothing).
2018-06-29 11:24:46 +03:00
Dmitry Petrov
062c4bf41d
IrTypes: make old DeepCopy compile
...
Lots of TODOs, should figure out proper type mapping strategy
(or simply drop this frankenstein code, finally).
2018-06-29 11:24:46 +03:00
Dmitry Petrov
62a42130c8
Add dependency: ir.tree -> intellij
...
AnnotationGenerator looks into PsiElement
2018-06-29 11:24:46 +03:00
Dmitry Petrov
c22f6dee4a
IrTypes: update minor utilities
2018-06-29 11:24:46 +03:00
Dmitry Petrov
e8fe788df6
IrTypes: Implicit casts, take 1
...
Keep KotlinType along with IrTypes created by psi2ir.
2018-06-29 11:24:46 +03:00
Dmitry Petrov
54e9a2bb7b
IrTypes in psi2ir: generators (seem to be) complete
2018-06-29 11:24:46 +03:00