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