Michael Bogdanov
ca9e8fc5a7
Fix for KT-5910: Can't call Throwable() in Kotlin
...
#KT-5910 Fixed
2015-12-17 14:09:15 +03:00
Michael Bogdanov
7a1d789e9a
Added InliningLambdaContext
2015-12-17 09:52:28 +03:00
Michael Bogdanov
ebbc68dfae
isInlineFunction renamed to isInlineMethodContext
2015-12-17 09:52:27 +03:00
Michael Bogdanov
9cad1a912a
Choose proper context for accessor generation: skip inline ones; Fix for KT-6102: Bypass synthetic accessor when inlining lambda which calls private member
...
#KT-6102 Fixed
2015-12-17 09:51:41 +03:00
Michael Bogdanov
033698c51d
Added crossinline field to MethodContext
2015-12-17 09:50:54 +03:00
Michael Bogdanov
b0a7706812
Test for obsolete KT-5445: Bad access to protected data in getfield
...
#KT-5445 Obsolete
2015-12-17 09:50:39 +03:00
Alexander Udalov
0ba0ea5e1f
Report 'unsupported' on synthetic Java property references
...
#KT-8575 Open
2015-12-16 19:50:15 +03:00
Alexander Udalov
dc84445e2e
Inherit KProperty interfaces from function types
...
To be able to write the following: listOfStrings.map(String::length)
2015-12-16 19:48:28 +03:00
Mikhail Glukhikh
f25f0db10e
Fixed long / double / float value merge in OptimizationBasicInterpreter #KT-7401 Fixed
2015-12-16 17:45:38 +03:00
Stanislav Erokhin
c725ed47f5
Replaced ReceiverValue.NO_RECEIVER to null.
2015-12-15 23:09:20 +03:00
Stanislav Erokhin
3692318c38
Minor. Removed ReceiverValue.IRRELEVANT_RECEIVER.
2015-12-15 23:08:41 +03:00
Pavel V. Talanov
56cd29dff2
Increase file size limit of compiler to 20 (was 2.5) megabytes (compiler will not read files larger than that)
...
Current IDEA api makes it possible to increase that to a higher value only by passing system property on compiler startup
2015-12-15 20:24:11 +03:00
Pavel V. Talanov
8d5d1b7dcc
LightClassUtil: files can no longer "belong to builtIns"
2015-12-15 20:22:14 +03:00
Zalim Bashorov
976fbf32ba
Minor: use List instead of Array as container in chained scopes
2015-12-15 20:07:37 +03:00
Zalim Bashorov
5008a66a5b
ChainedScope -> ChainedMemberScope
2015-12-15 20:07:36 +03:00
Zalim Bashorov
674a15daa1
Disable test until KT-10405 not fixed
2015-12-15 20:07:35 +03:00
Zalim Bashorov
8fa2e28729
Add usages of inherited static members from nested object
2015-12-15 20:07:33 +03:00
Zalim Bashorov
e201268f46
Remove unnecessary scopes
2015-12-15 19:41:18 +03:00
Zalim Bashorov
51a8d5b9f0
Allow to use static members from companion object's parents
2015-12-15 19:41:15 +03:00
Zalim Bashorov
69c2668530
Don't allow to use own members when resolve super constructor call in (companion) object
2015-12-15 19:41:14 +03:00
Zalim Bashorov
e9ea4cc953
Don't allow to use own nested classes when resolve header of (companion) object
2015-12-15 19:41:13 +03:00
Zalim Bashorov
38522f60ea
Minor: add helper function createLazyValue with onRecursion
2015-12-15 19:41:12 +03:00
Denis Zharkov
7756644eb1
Introduce KClass<T>.javaPrimitiveType and KClass<T>.javaObjectType
...
#KT-6319 Fixed
2015-12-15 16:18:31 +03:00
Denis Zharkov
154657a374
Fix wildcards for invariant arguments
...
See test with Java, we want preserve the invariant that if return type and
value parameter types are same in Kotlin, than we can use such return-value
as argument for that parameter
2015-12-15 16:18:31 +03:00
Denis Zharkov
b4bb92d136
Fix overload resolution ambiguity for types intersection
...
There are two different forms of types intestion:
1. Type parameters with multiple bounds
2. Smart casts
The problem was that when member scope of type intersection contained
effective duplicates and that lead to overload resolution ambiguity in
strange cases like `x.hashCode()`
For first type we do effectively the same thing as when building member
scope for class extending several interfaces: group all descriptors by
both-way-overridability relation and then choose most-specific in each
group.
For smart casts we do basically the same thing but with special
treatments:
1. From all descriptors that _equal_ to most specific we choose
the one that works without smartcast if possible (i.e. we choose first from candidates list)
2. If smart-cast value seems to be unstable we use only member scope
of receiver type + all descriptors from smart cast possible types
that has incompatible signature. If we'd include all of them and
choose one as more specific, and it would lead to false
SMART_CAST_IMPOSIBLE (see test unstableSmartCast.kt)
#KT-3996 Fixed
#KT-10315 Fixed
2015-12-15 16:18:31 +03:00
Denis Zharkov
8d0c3281cd
Choose first non-flexible when selecting most specific
2015-12-15 16:18:31 +03:00
Alexey Sedunov
3dfb9d2e5e
Inline Variable: Move string template processing to InlineValHandler as it violates contract of the PsiElement.replace()
2015-12-15 13:31:35 +03:00
Alexey Sedunov
ffb382e3bc
PSI: Delete succeeding semicolon along with KtElement
...
#KT-5487 Fixed
2015-12-15 13:31:33 +03:00
Mikhail Glukhikh
49e7417741
"as" in binary / unary expressions now checked only for original type conversion #KT-10384 Fixed
...
Also #KT-10386 Fixed
2015-12-15 12:02:33 +03:00
Mikhail Glukhikh
233e8e58e8
Code cleanup: get rid of unnecessary !! / as, fake warning comments and issues
2015-12-15 12:00:58 +03:00
Stanislav Erokhin
cd80d9408d
Extension function wins against function with no receiver
2015-12-14 16:49:29 +03:00
Dmitry Jemerov
a7503303d5
diagnostics for EA-73611
2015-12-14 13:28:45 +01:00
Mikhail Glukhikh
d2fce9b16d
CFA classes rename: remove 'Kotlin' prefix
2015-12-14 15:25:43 +03:00
Dmitry Jemerov
8db3fb03f9
remove support for "package.foo.bar" syntax inside files
2015-12-14 13:22:54 +01:00
Mikhail Glukhikh
19084b8182
Additional codegen test for KT-10107
2015-12-14 12:52:43 +03:00
Mikhail Glukhikh
fdc9e9d7f5
Delegated properties never require backing field #KT-10107 Fixed
2015-12-14 12:26:37 +03:00
Ilya Gorbunov
c23c2dbe85
FileTreeWalk: correct usage not to filter out subdirectories
2015-12-14 05:15:52 +03:00
Ilya Gorbunov
58e93d5e1b
Update testData for LoadBuiltinsTest and BuiltInDecompilerTest
2015-12-14 04:29:28 +03:00
Ilya Gorbunov
59a9e2549c
Fix tests: codegen, completion, decompiler consistency, quickdoc, intentions, navigation, reference resolver, quick fixes
2015-12-14 04:29:25 +03:00
Ilya Gorbunov
4dde59368c
Fix tests not to duplicate array constructor definitions as they are available now in builtins.
2015-12-14 04:29:18 +03:00
Ilya Gorbunov
5aff07561d
Move jvm annotations and class mapping intrinsics to runtime.jvm module to kotlin.jvm package.
...
Make annotationClass to be a property.
Deprecate with error javaClass property on KClass<T>
2015-12-14 03:51:07 +03:00
Ilya Gorbunov
ae3135c770
For migration: Make an option "Xmultifile-facades-open" for compiler to generate open multifile facade classes.
2015-12-14 03:49:51 +03:00
Alexander Udalov
477e25ae2f
Remove Intrinsic annotation from *arrayOf functions
2015-12-14 03:49:41 +03:00
Ilya Gorbunov
42565129ee
Add packages kotlin.collections, kotlin.ranges, kotlin.sequences, and kotlin.text to default imports.
2015-12-14 01:07:49 +03:00
Alexander Udalov
65c5c99c68
Render decompiled annotations on enum entries
2015-12-13 17:49:44 +03:00
Alexander Udalov
6f347f351a
Load annotations on compiled Kotlin enum entries
...
#KT-10339 Fixed
2015-12-13 03:52:42 +03:00
Alexander Udalov
3e2eb8c1a0
Serialize/deserialize annotations on enum entries
...
#KT-10338 Fixed
2015-12-13 03:52:41 +03:00
Alexander Udalov
5e421b4024
Improve type parameter bound diagnostic location
...
If there's only one erroneous bound (vast majority of cases), report it on the
bound; otherwise (to avoid reporting it several times) report on the type
parameter declaration
2015-12-13 02:06:07 +03:00
Michael Bogdanov
39d9b35e27
Force resolve companion in light class generation
2015-12-12 11:41:37 +03:00
Michael Bogdanov
a849f3f5d4
Fixed filtering error
2015-12-12 11:41:37 +03:00