Commit Graph

896 Commits

Author SHA1 Message Date
Sergey Bogolepov a46b28718e Add allScopes property to IrElementVisitorVoidWithContext 2018-09-05 09:56:48 +03:00
Svyatoslav Kuzmich 97717afec4 [JS IR BE] Choose actual declaration of COROUTINE_SUSPEND_NAME 2018-09-04 20:19:04 +03:00
Svyatoslav Kuzmich 5192783669 [JS IR BE] Workaround empty blocks in state machine builder 2018-09-04 20:19:03 +03:00
Svyatoslav Kuzmich e0237a4480 [JS IR BE] Check for unbound symbols in type operator lowering 2018-09-04 20:19:03 +03:00
Svyatoslav Kuzmich 437a68daca [JS IR BE] Check number of value arguments in toString 2018-09-04 20:19:03 +03:00
Svyatoslav Kuzmich a3afd101fa [JS IR BE] Delete expected enum classes 2018-09-04 20:19:03 +03:00
Svyatoslav Kuzmich dde1e9335e [JS IR BE] Don't copy type parameters in secondary ctor lowering 2018-09-04 20:19:03 +03:00
Roman Artemev 54e98fc014 [JS IR BE] Make coroutine compile separately from stdlib
* use accessors instead of direct field access
2018-09-04 12:43:39 +03:00
Mikhael Bogdanov e6b8ade096 JVM_IR. Reference fields 2018-08-31 15:34:18 +03:00
Mikhael Bogdanov 92ce50b22c JVM_IR. Cache defaultImpls function declarations 2018-08-31 15:34:18 +03:00
Mikhael Bogdanov 5c0cdac69f JVM_IR. Support generic constructors after "Roll back constructor type parameters" 2018-08-31 15:34:18 +03:00
Roman Artemev 0b926af203 Add KotlinType in WrappedClassDescriptor & WrappedTypeParameterDescriptor 2018-08-31 15:34:18 +03:00
Roman Artemev fec8065fd0 Fix code review
Minor fixes
Fix JVM IR BE
Fix NATIVE
2018-08-31 15:34:18 +03:00
romanart afcdcf8217 Partially reimplement KotlinType based util using IrType 2018-08-31 15:34:18 +03:00
Roman Artemev d1621b80cc Fake wrapped descriptors first working draft
get rid of descriptors in Bridge and Enum lowerings
Replace property accessors function type with IrSimpleFunction because they couldn't be constructors
get rid of descriptors in Callable reference lowering
refactored descriptor factory and inner class lowering
Add isReified property to IrTypeParameter declaration
keep getting rid of descriptors
Get rid of descriptors in Shared Variable Manager
LocalDeclarationLowering also uses no descriptors
Fix psi2ir
Fix nested classes names
Fix outer reference in inner classes
Fix name generator
get rid of descriptors in coroutines - something is working
Fix name generator
Fix unbound symbols in JVM BE
Rename DeclarationFactory members
2018-08-31 15:34:18 +03:00
Dmitry Petrov 4cf98fd3ce Fix IR generation for '!is' pattern 2018-08-31 09:12:44 +03:00
Denis Vnukov ddf92ef187 Creating IrLineNumberTestGenerated, adding line numbers for few common expressions
This PR enables LineNumberTestGenerated test on IR backend. The testing of
hardcoded sequence of line numbers is replaced with mere checks for set-like
checks for expected line numbers.
2018-08-29 12:52:20 +02:00
Alexander Udalov 896cf61443 Move JVM-specific annotation FQ names and utils to frontend.java 2018-08-27 23:37:06 +02:00
Alexander Udalov ab441dcd96 Drop PropertyDescriptorImpl.setType that takes KotlinType
Only use the other setType that takes an instance of
ReceiverParameterDescriptor. This will make sure that call sites can
use correct receiver annotations
2018-08-27 23:37:05 +02:00
Alexander Udalov 34c033bcaf Take ReceiverParameterDescriptor in FunctionDescriptorImpl.initialize
Instead of just KotlinType. This will allow to pass annotations on the
receiver at call sites
2018-08-27 23:37:04 +02:00
Alexander Udalov 8d44824875 Minor, use Annotations.EMPTY instead of empty AnnotationsImpl 2018-08-27 23:36:24 +02:00
Roman Artemev 2e5940e46d [JS IR BE] Fix object instance reference
* set it in primary constructor prior to constructor body
2018-08-24 15:49:13 +03:00
Roman Artemev 85a8af13cf [JS IR BE] Fix constructor parent 2018-08-24 15:49:13 +03:00
Georgy Bronnikov 30a2058f74 Fix JVM_IR backend crashes when compiling for Android
^KT-23963 Fixed
^KT-23968 FIxed
^KT-23972 Fixed
2018-08-24 15:46:44 +03:00
Roman Artemev 450ed63690 [JS IR BE] Implement primitive companion object 2018-08-24 14:58:42 +03:00
Georgy Bronnikov 50e8f7efc7 Track fake overrides for IrField 2018-08-24 13:41:52 +03:00
Ilmir Usmanov 0559cfb724 Move SuspendFunction{N} interfaces to kotlin.coroutines package
#KT-25824: Fixed
2018-08-22 16:21:30 +03:00
Zalim Bashorov c61d99fcff [JS IR BE] don't initialize instance storage for singletons explicitly, use default value (undefined) instead
It allows accessing to a singleton independent to the state of its storage.
2018-08-17 21:43:33 +03:00
Zalim Bashorov 0f6a77e700 [JS IR BE] take into account receiver's type when generate name for callables (including properties)
Also, add special markers for receiver type and generic types to avoid accidental clashes.
2018-08-17 20:31:06 +03:00
Georgy Bronnikov 00da193167 Introduce IrDeclarationWithVisibility 2018-08-15 16:56:16 +03:00
Svyatoslav Kuzmich ff70b837ee [JS IR BE] Support local delegated properties 2018-08-15 13:35:14 +03:00
Svyatoslav Kuzmich 392ad521fd [JS IR BE] Reflection support 2018-08-15 13:35:14 +03:00
Mikhael Bogdanov 6d915bd68c Use original descriptors on implicit coercion to unit generation 2018-08-15 10:26:03 +03:00
Georgy Bronnikov 1f7776981d Introduce correspondingProperty to IrField 2018-08-14 10:36:56 +03:00
Dmitry Petrov 56ad091534 Generate synthetic inline class methods in psi2ir 2018-08-14 10:00:21 +03:00
Dmitry Petrov de11d9164d Add IrClass.irInline 2018-08-14 10:00:21 +03:00
Mikhael Bogdanov ff3278828e Minor. Code clean 2018-08-13 15:10:21 +03:00
Mikhael Bogdanov cb31962b38 Generate old style lambda classes in jvm ir backend 2018-08-13 15:10:20 +03:00
Mikhael Bogdanov 08038d6de9 Convert object literals to classes inside JvmBackendContext 2018-08-13 15:10:18 +03:00
Mikhael Bogdanov 3c5a146c1f Support captured parameters in callable references 2018-08-09 16:30:28 +03:00
Leonid Startsev c9cb5a975c Support for multiple origins in irEquals builder
to preserve correct origin when it's called from irNotEquals
2018-08-09 16:16:10 +03:00
Leonid Startsev 28319a76df Access to ir and external symbol table 2018-08-09 16:16:10 +03:00
Leonid Startsev 87da6e2226 Add ir generation plugins to JS and JVM BE 2018-08-09 16:16:10 +03:00
Leonid Startsev 5d669ff671 Additional helpers in IR builders 2018-08-09 16:16:10 +03:00
Leonid Startsev ba9b7547b0 Generate IR for synthetic nested classes directly in class generator 2018-08-09 16:16:09 +03:00
Leonid Startsev c3f66cda65 Lowering extension point 2018-08-09 16:16:09 +03:00
Denis Vnukov 65c79ecfe9 Primitive support for LocalVariables for function parameters 2018-08-09 16:13:21 +03:00
Denis Vnukov 1a56af9bb0 Adding missing SourceFile attribute to classes generated with IR 2018-08-09 16:13:17 +03:00
Mikhael Bogdanov bbc5fa4705 Perform InnerClassLowerings after CallableReferenceLowering 2018-08-09 14:22:51 +03:00
Mikhael Bogdanov 813e1ffa39 Initial support of function callable references 2018-08-09 14:22:46 +03:00