Commit Graph

60388 Commits

Author SHA1 Message Date
anastasiia.spaseeva 1ea5eb6850 [Spec tests] Add test for return expression 2020-01-09 17:16:10 +03:00
anastasiia.spaseeva dcfcc9c7b6 [Spec tests] Add tests for when-expression (p-3, 4) 2020-01-09 17:16:10 +03:00
anastasiia.spaseeva bd979a12de [Spec tests] Review fix tests for try-expression and if-expression 2020-01-09 17:16:10 +03:00
anastasiia.spaseeva e865327386 [Spec tests] Add tests for try-expression (paragraphs 1, 2, 5-9) 2020-01-09 17:16:10 +03:00
anastasiia.spaseeva 3aa3f0c50c [Spec tests] Add tests for character-literals 2020-01-09 17:16:10 +03:00
anastasiia.spaseeva 8187405dbd [Spec tests] fix test parser exceptions handler 2020-01-09 17:16:10 +03:00
anastasiia.spaseeva fdef51e8b7 [Spec tests] Add tests for boolean-literals (p-1 sentence 2) 2020-01-09 17:16:10 +03:00
anastasiia.spaseeva 744cc54dff [Spec tests] Add tests for if-expression 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva a41c4c84a6 [Spec-tests] Add tests for prefix increment expression 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva f95a03cba3 [Spec-tests] Add tests for abstract classes 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva 6c644448c2 [Spec tests] Add tests for abstract classes 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva 20ed66cd82 [Spec tests] Add remove link to the issue KT-27825 from all tests which are not related to the issue 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva 6accbf6284 [Spec tests] Add prefix increment expression codegen tests 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva 86d072e3aa [Spec tests] Add diag tests for abstract classes and prefix increment 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva 44d0a99875 [Spec tests] Add spec tests for kotlin.Nothing, kotlin.Unit, reference equality and cast expressions 2020-01-09 17:16:09 +03:00
anastasiia.spaseeva bf50edee17 [Spec tests] Add tests for kotlin.Nothing and kotlin.Unit built-in types 2020-01-09 17:16:08 +03:00
Mikhael Bogdanov 52ac8d788d Minor. Convert test 2020-01-09 14:00:13 +01:00
Mikhael Bogdanov 70d71f0f07 Don't generate type annotations on synthetic accessors
#KT-35843 Fixed
2020-01-09 14:00:12 +01:00
Mikhael Bogdanov 1032e3a17c Support field type annotations
#KT-35843 Fixed
2020-01-09 14:00:11 +01:00
Mikhael Bogdanov 2ed0cb2a89 Support type annotations
#KT-35843 Fixed
2020-01-09 14:00:11 +01:00
Alexander Udalov fde9b21a40 Fix syntheticMethodForProperty.kt for JDK 9+ and Android tests 2020-01-09 11:34:51 +01:00
Dmitriy Dolovov 5803fcdeb4 Bugfix: KotlinIdeaResolutionException on absent/corrupted KLIB artifact
Issue #KT-35839
2020-01-09 17:13:54 +07:00
Ilya Chernikov 995c6a32b8 Allow only single expression eval in cli compiler and kotlin runner
#KT-35740 fixed
also add tests and drop logger usage in the cli dependencies manager:
the logger is normally unitialized in the usage scenarios, but related
warnings are annoying.
2020-01-09 10:51:25 +01:00
Dmitriy Dolovov 7ffb64ec57 Minor: formatted code 2020-01-09 16:01:22 +07:00
Dmitriy Dolovov e0d90ccf4b [Commonizer] Log commonization stats into a single file 2020-01-09 16:01:16 +07:00
Dmitriy Dolovov f18aa3e0be [Commonizer] Re-organize commonizer CLI 2020-01-09 16:01:09 +07:00
Dmitriy Dolovov 805ac2d307 [Commonizer] Re-organize utilities 2020-01-09 16:01:03 +07:00
Nicolay Mitropolsky ed4e73c8e9 Uast: the returnType support for light methods for reified functions (KT-35610) 2020-01-09 11:55:22 +03:00
Nicolay Mitropolsky c04ba009e6 Uast: properly handling annotations on destructured variables (KT-35673, EA-220128) 2020-01-09 11:55:22 +03:00
Ilya Chernikov 9da536c202 [minor] "fix" fir testdata for KT-30245 test, todo: fix problems in fir accordingly 2020-01-09 08:08:45 +01:00
Ilya Chernikov caa677e6d2 [NI] Convert extension lambda to the non-extension one, if needed
#KT-30245 fixed
2020-01-09 08:08:45 +01:00
pyos ef5fe0675a JVM_IR: refactor suspendFunctionView
fixing the check for DescriptorWithContainerSource in the process
(containerSource *may* be null).
2020-01-08 19:52:20 +01:00
Mark Punzalan 137ef26723 [JVM IR] Fix issue with destructuring declaration in parameter for
suspend lambda.

The Name for the special destructuring declaration parameter was
incorrectly turned into a regular/non-special Name when the parameter
was moved to a field.
2020-01-08 19:51:16 +01:00
Mark Punzalan 36c4df6d99 [JVM IR] Use names of local functions in names of local classes.
This undoes changes in
https://github.com/JetBrains/kotlin/commit/fbe66c3496d082d2d487b2c39673f0cd4ac5b70a
which broke calculation of the simple name of local classes in
reflection (the enclosing method was not a substring of the name of the
local class).
2020-01-08 18:45:40 +01:00
Mark Punzalan 70b304e6e4 [JVM IR] Support target templates in
AbstractCheckLocalVariablesTableTest and fix
`checkLocalVariablesTable/localFun.kt` for JVM IR.

Also improved diagnosability of CheckLocalVariablesTableTest failures.
2020-01-08 18:45:40 +01:00
Alexander Udalov 152d88e747 Mute generated FIR tests after 929fb5c8 2020-01-08 18:06:07 +01:00
Steven Schäfer 929fb5c82b Mute FIR tests containing broken function calls 2020-01-08 13:20:00 +01:00
Steven Schäfer 5309e774ac JVM IR: Remove FAKE_OWNER from MethodSignatureMapper
FAKE_OWNER is a hack for when we encounter IrFunctions with non-class
parents during codegen. This can only happen for unhandled intrinsic
functions and resolving them to FAKE_OWNER can cause codegen to succeed
while producing broken bytecode.
2020-01-08 13:20:00 +01:00
Steven Schäfer 5ffbf9264a JVM IR: Implement the enumValues and enumValueOf intrinsics
These were previously handled in the inliner.
2020-01-08 13:20:00 +01:00
Steven Schäfer bd74e976c9 JVM IR: Lower calls to the emptyArray intrinsic in VarargLowering
There are two array intrinsics which are handled in the inliner on the
JVM backend: arrayOf and emptyArray. In the IR backend we are already
lowering arrayOf as part of VarargLowering and this commit adds support
for lowering emptyArray as well.
2020-01-08 13:20:00 +01:00
Mads Ager 1b1dff9191 JVM_IR: fix default argument stub visibility.
Match the rules from the old backend:

1. Private and inline only methods get package private default
   argument stubs.

2. Everything else is public.
2020-01-08 13:19:14 +01:00
Steven Schäfer 7f319c18de JVM IR: Mark Enum.$VALUES field as synthetic (#2957) 2020-01-08 13:17:58 +01:00
pyos 6b5d92a693 IR: work around a bug in interface delegation descriptors
interface I {
        fun f(x: Int = 1)
    }
    class C(val y: I) : I by y {
        // implicit `override fun f(x: Int) = y.f(x)` has a default value for `x`
    }

-- the only case where a function with overridden symbols has defaults.
2020-01-03 17:09:31 +01:00
Mads Ager 98f5c5aa95 JVM_IR: Preserve annotations on inline class replacement methods. 2020-01-03 16:44:50 +01:00
Mads Ager e7835fecfc JVM_IR: fix a couple of inline class reflection issues.
1. Postpone the computation of the signature for property
   reference getters for extension properties until codegen time.

2. Generate metadata for static replacement functions instead
   of the original functions.
2020-01-03 16:38:53 +01:00
Mads Ager 2ebb797e61 JVM_IR: Remove accessor for internal inline class properties. 2020-01-03 15:29:34 +01:00
Dmitry Petrov d27593aeda PSI2IR: SAM conversion in method arguments of out-projected Java classes
It uses the same logic as an old back-end
(see SamType#createByValueParameter and genericSamProjectedOut.kt),
split into two parts:

1. When inserting SAM casts, use SamType#createByValueParamerer to get
the target SAM type.

2. When inserting implicit casts, cast SAM conversions as arguments of
methods of out-projected types to the original type of value parameter
instead of 'Nothing'.
2020-01-03 15:32:44 +03:00
Alexander Udalov a55bce801e Update year in the license to 2020 2020-01-03 13:09:43 +01:00
Alexander Udalov e0b9ffa780 Regenerate builtins sources 2020-01-03 13:09:43 +01:00
Alexander Udalov d73e6c855b Regenerate FIR tree 2020-01-02 10:59:24 +01:00