Ilya Chernikov
4eb557724c
Convert compiler projects to the new intellij deps
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Alexander Udalov
543db380d2
Use isJvmInterface in JVM back-end instead of isInterface
...
To support const vals and proper initialization order for companions of
annotations (since 1.3+) as well as interfaces
#KT-16962 Fixed
2018-01-24 15:54:35 +01:00
Alexander Udalov
907f53e539
Refactor ConstantValue implementations
...
Remove KotlinBuiltIns and take a ModuleDescriptor instance in getType
instead. This will allow to create constant values in contexts where
there's no module or built-ins accessible (such as, deserialization of
module annotations during indexing of .kotlin_module files in IDE).
Note that some values (KClassValue, EnumValue, AnnotationValue) still
take module-dependent objects (KotlinType, ClassDescriptor and
AnnotationDescriptor respectively). This is to be refactored later
2018-01-18 12:49:38 +01:00
Dmitry Petrov
6cb68531ae
Minor: add missing "'"
2018-01-17 12:31:07 +03:00
Dmitry Petrov
1f841e35bc
Formatting: psi2ir
2018-01-17 12:31:07 +03:00
Dmitry Petrov
432c743771
Formatting: ir.tree and some common code
2018-01-17 12:31:07 +03:00
Dmitry Petrov
4d54036d21
Use declaration properties in RenderIrElementVisitor
2018-01-17 12:31:07 +03:00
Dmitry Petrov
7dc15b15bb
Add basic properties to IR declarations
2018-01-17 12:31:07 +03:00
Mikhael Bogdanov
b539adf105
Support simple capturing in IR inliner
2018-01-16 11:53:25 +01:00
Mikhael Bogdanov
ca22bc57fd
Don't capture primary constructor variables
2018-01-16 11:53:25 +01:00
Mikhael Bogdanov
28f4cc5b18
Generate parameter name in assertion for lateinit properties
2018-01-16 11:53:24 +01:00
Mikhael Bogdanov
e58558dffd
Support mapped companions
2018-01-16 11:53:24 +01:00
Mikhael Bogdanov
e57efc7233
Support external functions
2018-01-16 11:53:23 +01:00
Mikhael Bogdanov
c1a1a7f9fb
Code clean
2018-01-16 11:53:22 +01:00
Mikhael Bogdanov
9d7eca1376
Support throwNpe intrinsic
2018-01-16 11:53:22 +01:00
Mikhael Bogdanov
d62a7cc9d1
Unwrap fake override on field access
2018-01-16 11:53:21 +01:00
Mikhael Bogdanov
dfbe92344f
Skip setter accessors for val
2018-01-16 11:53:21 +01:00
Mikhael Bogdanov
2b95e6bc0d
Generate proper vararg array
2018-01-16 11:53:20 +01:00
Mikhael Bogdanov
724f3bf714
Return proper type after coercion
2018-01-16 11:53:20 +01:00
Mikhael Bogdanov
77b93ab7ad
Add classType property in IrClassReference, support class references in codegen
2018-01-16 11:53:19 +01:00
Mikhael Bogdanov
b2970ef771
Skip noinline lambdas during inline
2018-01-16 11:53:19 +01:00
Mikhael Bogdanov
ab96e0102a
Support IrGetClass
2018-01-16 11:53:18 +01:00
Mikhael Bogdanov
9a1f484771
Fix equals
2018-01-16 11:53:18 +01:00
Mikhael Bogdanov
3e1f471121
Rollback change in 'usesDefaultArguments'
2017-12-20 10:58:35 +01:00
Mikhael Bogdanov
32b90a1cae
Generate type checker barriers in bridges
2017-12-20 10:48:52 +01:00
Mikhael Bogdanov
be18cb9b16
Fix default methods visibility
2017-12-20 10:48:51 +01:00
Mikhael Bogdanov
9365d1d859
Remove redundant extra default mask for function with N*32 parameters
2017-12-20 10:48:51 +01:00
Mikhael Bogdanov
ef5c3512cd
Skip FAKE_OVERRIDE fields
2017-12-20 10:48:50 +01:00
Mikhael Bogdanov
aeb74f7e70
Skip bridge generation for non real declaration on first step they would be processed later
...
~
~
2017-12-20 10:48:50 +01:00
Mikhael Bogdanov
4657ae06f4
Don't cast receiver to super type on super calls
2017-12-20 10:48:49 +01:00
Mikhael Bogdanov
a936f75423
Fix empty vararg processing in intrinsics
2017-12-20 10:48:49 +01:00
Mikhael Bogdanov
420b9fdaa9
Support interface companion object lowering
2017-12-20 10:48:48 +01:00
Mikhael Bogdanov
24336113a2
Support class companion object lowering
2017-12-20 10:48:48 +01:00
Mikhael Bogdanov
224adfabc5
Support synthetic accessors for constructors
2017-12-20 10:48:47 +01:00
Mikhael Bogdanov
5cbfdf6024
SyntheticAccessorLowering refactoring
2017-12-20 10:48:47 +01:00
Mikhael Bogdanov
7da847e943
Fix coercion after call
2017-12-20 10:48:46 +01:00
Mikhael Bogdanov
4df0a1bb1f
Fix parameter indices on lowering
2017-12-20 10:48:46 +01:00
Mikhael Bogdanov
0729566458
Support javaClass for Void type
2017-12-20 10:48:45 +01:00
Mikhael Bogdanov
f7968e1b61
Fix inner class lowering: don't try to process nested classes on processing outer
2017-12-20 10:48:45 +01:00
Mikhael Bogdanov
dde0535c5a
Fix cast for IMPLICIT_NOTNULL
2017-12-20 10:48:44 +01:00
Mikhael Bogdanov
05b56b0c4a
Update ArrayConstructor to support inline
2017-12-20 10:48:44 +01:00
Mikhael Bogdanov
665a697093
Support simple function inlining in ir
2017-12-20 10:48:43 +01:00
Mikhael Bogdanov
4711e2f9da
Don't use kind for static check
...
Lowers should perform proper transformations
2017-12-20 10:48:42 +01:00
Mikhael Bogdanov
3432014971
Add 'generateModule' method to CodegenFactory
2017-12-20 10:48:41 +01:00
Mikhael Bogdanov
06fd996266
Switch LocalFunctionLowering to LocalDeclarationLowering
2017-12-20 10:48:41 +01:00
Mikhael Bogdanov
1f053be289
Support default function lowering
2017-12-20 10:48:40 +01:00
Mikhael Bogdanov
83710a8ed6
HACK: process unbound symbols
2017-12-20 10:48:40 +01:00
Mikhael Bogdanov
5032064bf0
Enable tailrec lower
2017-12-20 10:48:39 +01:00
Mikhael Bogdanov
84e960b3a4
Enable lateinit lowering
2017-12-20 10:48:39 +01:00