Commit Graph

25431 Commits

Author SHA1 Message Date
Alexander Udalov babbbd0ff6 JVM IR: generate facade class for property accessors from dependencies 2019-08-05 21:27:20 +02:00
Alexander Udalov 28e2fd63ca IR: introduce WrappedProperty{G,S}etterDescriptor
This is needed in order to support wrapped properties properly in
KotlinTypeMapper (see the `is PropertyAccessorDescriptor` call in
`mapFunctionName`) which is still being used when mapping function call
signatures
2019-08-05 21:27:20 +02:00
Alexander Udalov cfd3d974d1 JVM IR: perform substitution in IrTypeSystemContext.getSubstitutedUnderlyingType 2019-08-05 21:27:20 +02:00
Alexander Udalov 908498a560 JVM IR: deduplicate exception message text in FunctionCodegen
See 37002748c8
2019-08-05 21:27:20 +02:00
Alexander Udalov 5f06c9e86c JVM IR: do not generate generic signature for $delegate field
See ee7bbbf530
2019-08-05 21:27:20 +02:00
Alexander Udalov 45f93521d9 JVM IR: add IrWriteSignatureTestGenerated 2019-08-05 21:27:20 +02:00
Alexander Udalov 26346d88cc JVM IR: take IrFunction in IrTypeMapper.mapFunctionName/mapReturnType 2019-08-05 21:27:20 +02:00
Alexander Udalov 8c1b2a7f20 JVM IR: record DELEGATED_PROPERTIES slice for correct metadata serialization
This is needed in order to get rid of CodegenAnnotatingVisitor in JVM IR
2019-08-05 21:27:19 +02:00
Ilmir Usmanov d9caeca249 JVM_IR: Copy suspend lambda's attributes 2019-08-05 20:25:31 +03:00
Steven Schäfer 9182fe887e Fix inline class handling in DefaultParameterInjector 2019-08-05 16:48:18 +03:00
Steven Schäfer 79f71f61d5 JVM BE: Add more tests for default arguments
- Inline class parameters should not be boxed.
- Empty vararg parameters should not allocate an empty array.
2019-08-05 16:48:18 +03:00
Mikhael Bogdanov 971d36837a JVM_IR. Don't generate annotations and signature on synthetic methods 2019-08-05 15:00:51 +02:00
Georgy Bronnikov 5d12603d73 JVM_IR: remove unused code 2019-08-04 01:35:05 +03:00
Georgy Bronnikov ce6e2621cf Unmute working tests 2019-08-04 01:35:05 +03:00
Georgy Bronnikov f9391ec790 Remove handling of default arguments from codegen 2019-08-04 01:35:05 +03:00
Georgy Bronnikov 4d50086d35 JVM_IR: reorder lowerings
Some lowerings have to come before DefaultParameterInjector.
2019-08-04 01:35:05 +03:00
Georgy Bronnikov 924fa6f9d3 JVM_IR: use DefaultParameterInjector 2019-08-04 01:35:05 +03:00
Simon Ogorodnik 7c24ad39ea Remove fir:lightTree test on kotlinx.coroutines as it caused problems in IDEA 2019-08-02 17:33:29 +03:00
Ilya Gorbunov 2e445ebad6 Enable test that uses Array.fill in JS and Native 2019-08-01 19:02:39 +03:00
Nikolay Krasko 83e422fc3b Workaround copied kotlin element happened to be outside the KtFile
Can be reproduced after revert with
IdeLightClassTestGenerated$Local.testDollarsInNameLocal test.
2019-08-01 18:21:13 +03:00
Nikolay Krasko 5614afed14 Fix over-caching content in light classes for local declarations (KT-32820)
Use combination of OOCB and file tracker for local classes.

#KT-32820 Fixed
2019-08-01 18:16:36 +03:00
Nikolay Krasko ce3ad8f4da Use kotlin specific OOCB tracker for light classes inner cache
ClassInnerStuffCache from the platform caches everything with platform
OUT_OF_CODE_BLOCK tracker.
2019-08-01 18:16:35 +03:00
Mikhail Glukhikh f3b42507d9 Do not search for bad substrings inside compiler/fir/lightTree/testData
This folder is auto-generated and git ignored
2019-08-01 15:14:29 +03:00
Ivan Cilcic 00f880a5a0 Make all necessary refactoring after merge
1) Removed all unnecessary sessions
2) Added delegation converter
3) Moved property accessor initialization to apply block instead of constructor
4) Removed unnecessary AnotationContainer class
2019-08-01 15:14:29 +03:00
Ivan Cilcic f3a7db2428 Add auto test in gradle (light tree)
Additionally removed benchmarks from auto test because they require manual setting.
Instruction was also added.
2019-08-01 15:14:29 +03:00
Ivan Cilcic 2ca7978544 Remove duplicate code from convertIsExpresion and convertBinaryWithType 2019-08-01 15:14:29 +03:00
Ivan Cilcic d03b6cc014 Remove extra test methods (light tree) 2019-08-01 15:14:29 +03:00
Ivan Cilcic 250d86b692 Rename "MyKotlinParser" to "KotlinLightParser" 2019-08-01 15:14:28 +03:00
Ivan Cilcic 2e05fe9976 Remove extra method toFirExpression 2019-08-01 15:14:28 +03:00
Ivan Cilcic f3299c4636 Delete extra files with util methods (raw FIR) 2019-08-01 15:14:28 +03:00
Ivan Cilcic 01daa90f5c Extract bangbang and bindLabel methods (raw FIR) 2019-08-01 15:14:28 +03:00
Ivan Cilcic c5547a2229 Extract some information to separate Context class 2019-08-01 15:14:28 +03:00
Ivan Cilcic cad0dbf087 Rewrite RawFirBuilder and its utils to be able to reuse it in LightTree converter 2019-08-01 15:14:27 +03:00
Ivan Cilcic 084bad4c25 Fix bug in import directives converter (light tree to FIR) 2019-08-01 15:14:27 +03:00
Ivan Cilcic 1af7063a47 Made primary constructor wrapper to avoid recreating value parameter instances 2019-08-01 15:14:27 +03:00
Ivan Cilcic 2a60f95a32 Add FIR session argument to LightTree2Fir constructor 2019-08-01 15:14:27 +03:00
Ivan Cilcic c253ff7953 Write syntactically incorrect constructions processing (light tree to FIR) 2019-08-01 15:14:26 +03:00
Ivan Cilcic ef535a2d85 Resolve converter errors after merge (light tree to FIR) 2019-08-01 15:14:26 +03:00
Ivan Cilcic 86097bdcce Write method to test data from diagnostic test folder (light tree) 2019-08-01 15:14:26 +03:00
Ivan Cilcic b5293e7df7 Edit light tree to FIR benchmarks to support off stub mode 2019-08-01 15:14:26 +03:00
Ivan Cilcic c8c37fd86e Move object literal parsing, rewrite the determination that member is local 2019-08-01 15:14:26 +03:00
Ivan Cilcic 531ee03a92 Write if and when parsing (light tree to FIR) 2019-08-01 15:14:25 +03:00
Ivan Cilcic b7d57690c5 Write try expression parsing (light tree to FIR) 2019-08-01 15:14:25 +03:00
Ivan Cilcic a0e79449fd Write throw expression parsing (light tree to FIR) 2019-08-01 15:14:25 +03:00
Ivan Cilcic a714515527 Write break and continue parsing (light tree to FIR) 2019-08-01 15:14:25 +03:00
Ivan Cilcic e0a92c5ed5 Write local variable parsing (light tree to FIR) 2019-08-01 15:14:25 +03:00
Ivan Cilcic c0fdbec358 Write loops parsing (light tree to FIR) 2019-08-01 15:14:24 +03:00
Ivan Cilcic 26290746f3 Write object literal parsing (light tree to FIR) 2019-08-01 15:14:24 +03:00
Ivan Cilcic 8dd72a5cf2 Write lambda expressions and local members parsing (light tree to FIR) 2019-08-01 15:14:24 +03:00
Ivan Cilcic 50573066fe Write double colon suffix parsing (light tree to FIR) 2019-08-01 15:14:24 +03:00