Commit Graph

308 Commits

Author SHA1 Message Date
Alexander Udalov f1cd2ee6fd Introduce PropertyDescriptor.isDelegated, write new flag to metadata
#KT-8384 In Progress
2017-01-23 12:25:34 +03:00
Dmitry Petrov b9f9894310 KT-15677 KT-15775
Update parser & descriptor renderer to handle parenthesized types and function types properly.
Resolve annotations in parenthesized types.

AnnotationsImpl.isEmpty() returned false for targeted annotations only
(e.g., 'fun @receiver:Ann C?.foo()').
Properly keep track of targeted annotations.
2017-01-19 09:53:17 +03:00
Mikhael Bogdanov 0a363fd1a5 Introduced test flag: JVM8_TARGET_WITH_DEFAULTS 2017-01-13 13:52:56 +01:00
Svyatoslav Scherbina d9023bdf70 backend: move some JVM lowering to common 2017-01-12 11:56:32 +07:00
Svyatoslav Scherbina 5a5f4fc224 backend: extract common lowering utils 2017-01-12 11:56:31 +07:00
Svyatoslav Scherbina f85538129d backend: introduce common backend context 2017-01-12 11:56:30 +07:00
Svyatoslav Scherbina 2e88dd0675 backend: fix minor bug in LocalFunctionsLowering
extension receiver parameter should be remapped too
(e.g. to support lambda with receiver)
2017-01-12 11:56:29 +07:00
Svyatoslav Scherbina e6c9a709b2 backend: fix minor bug in SharedVariablesLowering 2017-01-12 11:56:28 +07:00
Svyatoslav Scherbina bf3b5281a9 ir.tree: add trivial building utils 2017-01-11 14:54:13 +07:00
Svyatoslav Scherbina d0a166ffec psi2ir: move IR building utils to ir.tree 2017-01-11 14:54:12 +07:00
Svyatoslav Scherbina feb0dee563 psi2ir: untie IR building utils from PSI 2017-01-11 14:54:11 +07:00
Svyatoslav Scherbina 4c3fb9a21f psi2ir: improve backing field usage generation
Also update corresponding tests data.
2017-01-11 14:54:10 +07:00
Svyatoslav Scherbina 0189faec2e ir.tree: fix IrTry.transformChildren:
transform `finallyExpression` too.
2017-01-11 14:54:09 +07:00
Alexander Udalov 75a4958144 Introduce ClassDescriptor.getSealedSubclasses
#KT-12795 In Progress
2017-01-10 12:23:25 +03:00
Dmitry Petrov d9271b54fb Fix IR generation: temporary variable in 'hashCode()' for data class should be 'var' 2016-12-23 10:44:14 +03:00
Stanislav Erokhin 42440f50dc Remove soft keyword coroutine & isCoroutine from ValueParameterDescriptor. 2016-12-15 23:57:56 +03:00
Stanislav Erokhin 59efedf610 Rename platform to header. 2016-12-13 18:00:00 +03:00
Mikhail Zarechenskiy ef662a5679 Declare intrinsic rem operator for primitives 2016-12-13 16:33:33 +03:00
Alexey Andreev ba2443bcb3 Add external property to class and property descriptors 2016-12-08 15:41:38 +03:00
Mikhail Zarechenskiy 0134b8819b Optimize const vals by inlining them at use sites
#KT-11734 Fixed
 #KT-13570 Fixed
2016-12-05 22:11:33 +03:00
Alexander Udalov ce9691cd2b Support platform/impl modifiers for properties
Do not allow platform properties to have backing fields, initializers, be
delegated, lateinit or const, or have accessors with bodies
2016-11-25 20:50:18 +03:00
Alexander Udalov 6e2ef9b1d2 Add platform/impl soft keywords, add isPlatform/isImpl to MemberDescriptor 2016-11-25 20:50:17 +03:00
Michael Bogdanov fd2655fd4a Bridge support 2016-10-27 16:43:02 +03:00
Michael Bogdanov 7989a0ff25 Use original descriptor on delegating to DefaultImpls 2016-10-27 16:43:01 +03:00
Michael Bogdanov 4cbc5cc958 Remove variables from frame on block leaving 2016-10-27 16:43:00 +03:00
Alexander Udalov cdf6567375 Drop TypeConstructor.getAnnotations(), uninherit TypeConstructor from Annotated
The method was unused on TypeConstructor instances, and almost all
implementations returned EMPTY anyway
2016-10-24 15:30:38 +03:00
Dmitry Petrov 4fc135709e Inner classes lowering: remap old constructor parameters. 2016-10-21 10:05:41 +03:00
Dmitry Petrov 7dce1f438f Inner classes lowering. 2016-10-19 19:13:40 +03:00
Dmitry Petrov b5d81d8e31 Preparations to push to master branch.
Introduce tests-ir-jvm module (for IR-based JVM BE tests).
2016-10-18 09:15:19 +03:00
Michael Bogdanov 555f3e903e Rebase fixes 2016-10-18 09:10:20 +03:00
Michael Bogdanov 406fbfdba8 Synthetic accessors support 2016-10-18 09:10:20 +03:00
Michael Bogdanov 20c4f47253 Properly lower ImplicitClassReceiver 2016-10-18 09:10:19 +03:00
Dmitry Petrov a93f929615 Minor: IrElementVisitorVoid#visitGetVariable -> visitGetValue 2016-10-18 09:10:19 +03:00
Dmitry Petrov 703110c0e2 Update after rebase on master. 2016-10-18 09:10:18 +03:00
Dmitry Petrov 6c9b8792c7 Minor: cleanup, use PropertyDescriptorImpl.initialize(...) 2016-10-18 09:10:18 +03:00
Dmitry Petrov 8d7c201339 Refactor special descriptors. 2016-10-18 09:10:17 +03:00
Dmitry Petrov 9b1e87ec84 Minor fixes. 2016-10-18 09:10:17 +03:00
Dmitry Petrov a96aac090e Shared variables lowering: skip irrelevant variables. 2016-10-18 09:10:16 +03:00
Dmitry Petrov fb5298237a Shared variables lowering. 2016-10-18 09:10:16 +03:00
Dmitry Petrov fedfd3de16 Suggest names for captured receivers. 2016-10-18 09:10:15 +03:00
Michael Bogdanov 1658e110f2 Support default values for annotation properties 2016-10-18 09:10:15 +03:00
Michael Bogdanov 4b6ddc4a9d Initial annotation support 2016-10-18 09:10:15 +03:00
Michael Bogdanov 0bc3cc5e20 Object, enum processing on delegation generation 2016-10-18 09:10:14 +03:00
Michael Bogdanov 289cc8fed7 Added extension receiver procesing on interface lowering 2016-10-18 09:10:14 +03:00
Michael Bogdanov f0d09288a8 Initial KCallableNameProperty support 2016-10-18 09:10:13 +03:00
Michael Bogdanov b72d7557d1 KClassJavaProperty support 2016-10-18 09:10:13 +03:00
Dmitry Petrov 5ee2f87c4a Closure conversion: simple tests work. 2016-10-18 09:10:12 +03:00
Michael Bogdanov 6bd27e52bc Don't wrap return and error expressions into returns 2016-10-18 09:10:12 +03:00
Michael Bogdanov 72eb317164 Further try/catch/finally support 2016-10-18 09:10:11 +03:00
Michael Bogdanov f1ea31450e Remove private methods from interface on lowering 2016-10-18 09:10:11 +03:00