Denis Zharkov
35cda83c8f
Refined merging logic #KT-5844 Fixed
...
If merging primitives of different integral types (e.g. I and Z) return
INT.
Else return UNINITIALIZED_VALUE
2014-09-26 12:37:04 +04:00
Alexander Udalov
c30aa7db84
Include package part name to top level closure names
...
#KT-4234 Fixed
#KT-4496 Fixed
2014-09-26 10:22:25 +04:00
Alexander Udalov
2ba9856a85
Calculate inner class access flags accurately
2014-09-26 10:22:23 +04:00
Alexander Udalov
c57441b51b
Use '$' instead of '-' in package part class names
...
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.
Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Natalia Ukhorskaya
0dfc793a45
Merge pull request #515 from dmekhanikov/master
...
Introduce propertyDelegated method in delegates
2014-09-24 18:50:56 +04:00
Michael Bogdanov
cde74504d4
Test for obsolete kt5307
2014-09-24 17:12:27 +04:00
Denis Zharkov
4ed744428b
Generate substatements as statements too
...
Preventing pushing on stack redundant Unit instances
#KT-5667 fixed
2014-09-24 15:51:43 +04:00
Denis Mekhanikov
c4bfa0edca
Introduce propertyDelegated method in delegates
2014-09-24 15:34:12 +04:00
Michael Bogdanov
432ec31daf
Support returns in nested finallies
2014-09-19 17:14:17 +04:00
max.kammerer
9564eaa6fd
Support finnaly blocks from inline fun in non-local returns
2014-09-19 17:14:17 +04:00
Nikolay Krasko
e796f88b38
Regenerate test data with constructed descriptors for diagnostics tests
2014-09-18 17:58:23 +04:00
Alexander Udalov
c0a8e8a4fc
Fix safe call on a static method in JVM back-end
...
#KT-5796 Fixed
2014-09-18 11:13:30 +04:00
Alexander Udalov
483232a3e5
Minor, add test for obsolete issue
...
#KT-5159 Obsolete
2014-09-17 21:20:57 +04:00
Natalia Ukhorskaya
655682ac97
Move regression tests from stdlib to compiler
...
#KT-5770 FIxed
2014-09-17 13:59:52 +04:00
Zalim Bashorov
30208d5532
Minor: drop semicolon in package declaration everywhere.
2014-09-16 19:32:37 +04:00
Alexander Udalov
e0ee890486
Move properties of enum class object to the enum class
...
Similar to how it's done for usual classes
2014-09-11 17:56:43 +04:00
Alexander Udalov
81004889eb
Fix initialization of object's INSTANCE$ field
...
Call object's constructor in <clinit> and ignore the result, but in the first
line of <init> save the current "this" to INSTANCE$
#KT-4516 Fixed
#KT-4543 Fixed
#KT-5291 Fixed
#KT-5523 Fixed
#KT-5582 Fixed
2014-09-11 17:56:43 +04:00
Michael Bogdanov
08e02f4176
Moving platformStatic annotation to kotlin.platform package
2014-09-10 17:35:59 +04:00
Andrey Breslav
b8b0316d97
Reporting ACCIDENTAL_OVERRIDE on jvm signatures that have no descriptors
...
(marking them SYNTHETIC)
2014-09-10 17:35:54 +04:00
Alexander Udalov
b52f337f7f
Drop enum class object hack
...
Place valueOf() and values() into the static scope of the corresponding enum
class
#KT-5580 Fixed
#KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Alexander Udalov
d86903ccd4
Minor, add codegen test on extension to nested class
2014-09-09 20:42:35 +04:00
Michael Bogdanov
e26d635633
Initial implementation of platformStatic
2014-09-09 16:28:28 +04:00
Michael Nedzelsky
25a0854dbd
fix KT-5645: 'continue' inside 'do...while' statement works as goto to the beginning of the loop (not checking loop condition)
...
#KT-5645 Fixed
2014-09-05 18:31:53 +04:00
Svetlana Isakova
9d366cb896
Prohibit local objects and enum classes
...
#KT-5402 Fixed
#KT-4838 Fixed
Resolve type of object inside local object as special, not supertype('Any').
Changed visibility of constructor of anonymous object to 'internal' to be able to resolve the following:
fun box(): String {
var foo = object {
val bar = object {
val baz = "ok"
}
}
return foo.bar.baz
}
The containing declaration of property initializers is constructor, so 'baz' was invisible inside private constructor.
2014-09-01 12:32:52 +04:00
Svetlana Isakova
7f33ad90a6
Report 'nested class accessed via instance reference' error
2014-09-01 12:32:50 +04:00
Svetlana Isakova
8289f13016
Introduced QualifierReceiver instead of PackageType
2014-09-01 12:32:49 +04:00
Svetlana Isakova
e4e09d6c70
Resolve invoke on class objects and enum entries
...
Added FakeCallableDescriptorForObject to make a resolved call
with object as variable in 'variable as function call'
#KT-4321 Fixed
#KT-4863 Fixed
2014-09-01 12:32:48 +04:00
Michael Bogdanov
83eb983e08
KT-5699 VerifyError in inlines
...
#KT-5699 Fixed
2014-08-29 14:02:52 +04:00
Alexander Udalov
2ea9a2cfc9
Generate annotations on enum entry constants in bytecode
...
#KT-5665 Fixed
2014-08-25 17:50:08 +04:00
Denis Mekhanikov
1533c0e9f3
Support more than 32 default arguments
...
#KT-4675 Fixed
2014-08-20 20:47:34 +04:00
Alexander Udalov
99d4f97aef
Fix access to top level delegated property from another property
...
#KT-5612 Fixed
2014-08-14 10:43:50 +04:00
Alexander Udalov
226bfe65f0
Don't make traits and annotations inherit from KObject
...
#KT-5609 Fixed
2014-08-13 17:19:56 +04:00
Alexander Udalov
47d5f83d04
Report unmet trait requirements
...
#KT-3006 Fixed
2014-08-13 17:19:55 +04:00
Alexander Udalov
415fe7a5e6
Initial support for classes in scripts and REPL
2014-08-13 15:13:22 +04:00
Alexander Udalov
9ae95c1e5c
Generate codegen tests on scripts
2014-08-13 15:13:17 +04:00
Denis Zharkov
e0ced7cbcf
Boxing values merge fix. #KT-5588 Fixed
...
When merging Boxed value and something else just return MIXED_VALUE
2014-08-05 13:54:42 +04:00
Svetlana Isakova
fb4c256d08
Added tests for choosing 'most specific' resolution candidate
...
Fixed test (while resolve with library on android): 'run' resolves to library function
2014-07-30 17:07:10 +04:00
Evgeny Gerashchenko
90b065e82b
+= tests fix
2014-07-29 12:06:36 +04:00
Denis Zharkov
b86affaa3a
Assignment operations test fix:
...
x is a byte, x += 2 translated to x = x+2, but type of (x+2) currently
is Int, so it's not compiled because Int can't be stored in Byte.
Maybe we need to think about what should be a result of sum of to
Bytes, but currently it's still Int
2014-07-28 22:00:15 +04:00
Denis Zharkov
c4746bc90f
Assignment operations test fix:
...
these methods used in expressions like a = a + b, so they need to return
NotNull when receiver is NotNull
2014-07-28 22:00:15 +04:00
Alexander Udalov
c24c799819
Fix NoSuchMethodError on private components of data classes
...
A follow-up to
https://github.com/JetBrains/kotlin/commit/d5681540ec47ee5c9a548ba56df8b4e20097549d
2014-07-26 01:31:11 +04:00
Alexander Udalov
98ffdb3e32
Minor, delete Object from some test data
2014-07-25 21:19:39 +04:00
Alexander Udalov
fb958897a9
Introduce kotlin.Cloneable
...
- Cloneable is a trait with a single protected member 'clone', which is mapped
to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
implementations. Also if you need your class to be Cloneable, most of the
time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic
#KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov
a79398fa00
Don't load Object as a supertype for Java classes
...
#KT-4890 In Progress
#KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Alexander Udalov
485f63e1cd
Rename object$ -> OBJECT$, instance$ -> INSTANCE$
...
According to Java code conventions, public static final constants should be
named with all capital letters
2014-07-25 21:15:13 +04:00
Zalim Bashorov
c767ffc3e7
Unit.VALUE -> Unit in testData
2014-07-25 17:16:40 +04:00
Denis Zharkov
18cb479ef3
When2Switch: tests for non-literal expression in when by integral
2014-07-21 17:13:57 +04:00
Denis Zharkov
8d8c3d2b9e
When2Switch: generate ifnonnull check for nullable values before *switch-opcode
2014-07-21 17:13:56 +04:00
Denis Zharkov
d4cb822ee8
When by String constants:
...
Generate TABLESWITCH/LOOKUPSWITCH bytecode operation for when operator by String constants
2014-07-21 17:13:56 +04:00
Denis Zharkov
5a1c995b5c
When by enum:
...
Generate TABLESWITCH/LOOKUPSWITCH bytecode command in case of "when" by enum entries
2014-07-21 17:13:55 +04:00