Alexander Udalov
266a8dae3f
Fix KClassValue behavior for reified type parameter literals
...
#KT-27799 Open
2018-10-25 16:27:23 +02:00
Alexander Udalov
c1ab08c8ce
Refactor KClassValue to store ClassLiteralValue internally
...
Only invariant array projections and non-null element types will be
supported soon (see KT-26568), so it makes no sense to store the
complete type in KClassValue. What we need is only the ClassId of the
class, and the number of times it's wrapped into kotlin/Array, which is
exactly what ClassLiteralValue represents.
This change helps in decoupling annotation values from
descriptors/types. The only constant value that depends on descriptors
is now AnnotationValue.
#KT-26582 Fixed
2018-10-25 16:27:23 +02:00
Alexander Udalov
bad30a4b99
Add module to ExperimentalMarkerDeclarationAnnotationChecker
...
Will be used in a subsequent commit
2018-10-25 16:27:22 +02:00
Alexander Udalov
2ab33026fb
Move ClassLiteralId to 'descriptors', rename to ClassLiteralValue
2018-10-25 16:27:22 +02:00
Alexander Udalov
19c79b906f
Minor, add utility to get class name from StringTable via ClassId
2018-10-25 16:27:22 +02:00
Alexander Udalov
9183d7ca27
Add ModuleDescriptor to AnnotationCodegen
2018-10-25 16:27:22 +02:00
Roman Artemev
ffdfec4815
[JS IR BE] Minor refactoring
2018-10-25 15:49:33 +03:00
Roman Artemev
080e1ad5b5
[JS IR BE]
...
* Fix type parameters for callable references
* Visit IrCallableReference tree as well
2018-10-25 15:49:22 +03:00
Roman Artemev
fb499def59
Update tests
2018-10-25 15:49:21 +03:00
Roman Artemev
04bf93c1bc
[JS IR BE] Refact CallableReferenceLowering
...
* fix cross-module references
* make it incremental
2018-10-25 15:49:20 +03:00
Roman Artemev
43d14ed954
[JS IR BE] Put closure function declaration in container (factory function)
2018-10-25 15:49:20 +03:00
Roman Artemev
9515de0b7e
[JS IR BE] Fix name clash between top-level fields
2018-10-25 15:48:42 +03:00
Roman Artemev
91ea377622
[JS IR BE] Fix translation for float literals
2018-10-25 15:48:42 +03:00
Roman Artemev
59b1743c37
Add tests
2018-10-25 15:48:42 +03:00
Roman Artemev
7cb202934c
Update tests
2018-10-25 15:48:42 +03:00
Roman Artemev
276000a974
[JS IR BE] Fix exceptions
...
* set message property in the correct way
* set proper name for each Throwable successor
2018-10-25 15:48:42 +03:00
Roman Artemev
6a05b1eee5
[JS IR BE] Add noWhenBranchMatchedException
...
* refact exception helpers
2018-10-25 15:48:42 +03:00
Roman Artemev
3bea3eca2b
[JS IR BE] Support external enum classes
...
* add lowering pass
* fix EQEQ operator
2018-10-25 15:48:42 +03:00
romanart
eed22b0485
[JS IR BE] Add isTopLevel property to IrFunction
2018-10-25 15:48:42 +03:00
Roman Artemev
fced46ffaf
[JS IR BE] Fix block decomposer
2018-10-25 15:48:42 +03:00
Mikhael Bogdanov
612ca87aa3
Support coroutines in Android box tests
2018-10-25 13:34:29 +02:00
Mikhael Bogdanov
afc78be58e
Explicitly specify test dist dependencies
2018-10-25 11:55:22 +02:00
Mikhael Bogdanov
35fc629305
Move custom JDK tests into separate module
2018-10-25 09:15:03 +02:00
Mikhael Bogdanov
2f2d056aff
Add stdlib and reflect to Android test dependencies
2018-10-25 09:15:02 +02:00
Mikhael Bogdanov
1b2145af22
Fix test data
2018-10-25 09:12:26 +02:00
Mikhael Bogdanov
e5ef5d096e
Fix test data
2018-10-25 09:10:40 +02:00
Yan Zhulanow
713dc589e0
Debugger: Allow to evaluate private properties from companion objects (KT-26795)
2018-10-24 20:12:24 +03:00
Alexander Udalov
1ee1d15b91
Support annotations on property accessors in JS/common metadata
...
#KT-14529 Fixed
2018-10-24 18:17:12 +02:00
Alexander Udalov
d1e1e274d9
Render property accessor annotations in .txt test data
...
If property accessor rendering is disabled in a test, render annotations
on accessors as use-site-targeted, as was done with
`@setparam:`-annotations. Otherwise they were lost
2018-10-24 18:17:12 +02:00
Mikhael Bogdanov
e326b8755f
Fix method inlining problems in 191 branch related to asm upgrade to 7.0
...
'visitAnnotableParameterCount' is propagating copying node state to
destination one that corrupts its state
2018-10-24 17:07:10 +02:00
Alexander Udalov
9394caf9cf
Use access to backing field on overridden property with private setter
...
#KT-27772 Fixed
2018-10-24 12:53:50 +02:00
Nikolay Krasko
8e1bff0e37
Additional diagnostic for internal state during jvm codegen
2018-10-24 13:04:49 +03:00
Nikolay Krasko
5fdb0df3fa
Fix backend for working with asm-7.0 beta (KT-27540, KT-27774)
...
Reset labels infos before moving instructions, otherwise list of
instructions is corrupted.
For more information:
https://gitlab.ow2.org/asm/asm/issues/317858
https://gitlab.ow2.org/asm/asm/commit/dc8acb48450bbb4aa461fb103916378cd226a6f6#5e3df072b61d74b2fd71d97a1d99188ccc46c1da_235_233
#KT-27540 Fixed
2018-10-24 13:04:48 +03:00
Nikolay Krasko
3b5dfba73a
191: Add com.intellij.util.ui.UIUtilities to proguard exception
2018-10-24 13:04:45 +03:00
Nikolay Krasko
77be4a9e85
Remove warnings in createByPattern.kt
2018-10-24 13:04:43 +03:00
Dmitry Savvinov
339c55505a
Refactor logic of reporting errors in contracts
...
Rename 'doCheckContract' into 'parseContractAndReportErrors',
emphasizing that it works with definitely call to 'contract' from
stdlib.
In particular, it means that it should either return non-null
value or report some errors.
Note that this commit doesn't change behavior of this code (modulo cases
when something in 'parseContract' throws exception), but just refactors
the code to be more clear and easy to reason about.
2018-10-24 12:03:04 +03:00
Dmitry Savvinov
3dd4e9f04f
Minor: use try-finally for setting LazyContractProvider
...
It conveys meaning of the code more celearly (because that's what we
want to do here: set LazyContractProvider no matter how code finished),
and also defends from several corner-cases (like, make sure that we
properly set LazyContractProvider even if doCheckContract has throw an
exception)
2018-10-24 12:03:04 +03:00
Mikhail Zarechenskiy
bae3ff5211
Don't try parsing contract-like function not from kotlin package
...
Returning `null` from `doCheckContract` functions means that we
have failed to parse contract function and should report an error, but
if the called function isn't true contract, we shouldn't evaluate that code
at all.
#KT-27758 Fixed
2018-10-24 12:03:04 +03:00
Mikhael Bogdanov
d82ca9ccd0
Rearrange repositories in android build script
2018-10-24 09:45:39 +02:00
Mikhael Bogdanov
d77175b7e4
Minor. Reformat
2018-10-23 16:27:53 +02:00
Mikhael Bogdanov
0288a1bd2d
Restructure android test module, update dependencies
2018-10-23 16:27:52 +02:00
Mikhael Bogdanov
78fe9d8eee
Move 'compileKotlinAgainstKotlin' java 8 tests to common
2018-10-23 16:27:51 +02:00
Mikhael Bogdanov
c6b4bae81f
Move 'bytecodeText' java 8 tests to common
2018-10-23 16:27:50 +02:00
Mikhael Bogdanov
4284c19a16
Move 'writeFlags' java 8 tests to common
2018-10-23 16:27:50 +02:00
Mikhael Bogdanov
2131a314b0
Add file content to parsing errors
2018-10-22 16:32:57 +02:00
Mikhael Bogdanov
9c3b367b93
Skip JVM_TARGET and SKIP_JDK6 tests on android
2018-10-22 16:32:56 +02:00
Mikhael Bogdanov
ce1d6e7217
Fix test in JDK independent way
2018-10-22 16:32:56 +02:00
Mikhael Bogdanov
a4206a543a
Skip test on JDK 6
2018-10-22 16:32:55 +02:00
Mikhael Bogdanov
db25343f90
Run tests on different JDKs via different suites and custom test runner
2018-10-22 16:32:54 +02:00
Mikhael Bogdanov
55880ef013
Fix delegateFilter reinitialization
...
Otherwise IDEA marks all test as skipped
2018-10-22 16:32:54 +02:00