Svetlana Isakova
3cc02c57fc
Refactoring: moved methods to call util
2014-07-30 17:07:10 +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
Svetlana Isakova
eca2c7beea
Added tests on resolved calls
...
for annotation entry, delegator to super call, array access
2014-07-30 17:07:10 +04:00
Svetlana Isakova
22624186f6
Added tests for 'super' resolved calls
2014-07-30 17:07:09 +04:00
Svetlana Isakova
11ea241efb
Render candidate and resulting descriptors in resolved call tests
2014-07-30 17:07:09 +04:00
Evgeny Gerashchenko
90b065e82b
+= tests fix
2014-07-29 12:06:36 +04:00
Denis Zharkov
76845a76b9
Fixed KT-4814: check type when a += b is a = a+b
...
In cases when a += b is a = a + b, check that (a+b) can be safely casted to a
2014-07-28 22:00:14 +04:00
Alexey Sedunov
9cbcabffa4
Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis
2014-07-28 13:07:37 +04:00
Alexey Sedunov
2a19016d58
Pseudocode: Add test for parenthesized call in selector
2014-07-28 13:07:34 +04:00
Alexey Sedunov
85bb4f9b8e
Pseudocode: Generate read instructions on call expression (instead of
...
callee)
2014-07-28 13:07:33 +04:00
Alexey Sedunov
77bbf8f73b
Pseudocode: Generate fake values for Unit/Nothing-typed expressions
2014-07-28 13:07:29 +04:00
Alexey Sedunov
d07deeb5fb
Pseudocode: Generate UNSUPPORTED_ELEMENT for misplaced returns
2014-07-28 13:04:02 +04:00
Alexey Sedunov
e11ffb8542
Pseudocode: Replace UnsupportedElementInstruction with UNSUPPORTED_ELEMENT magic.
...
Generate UNSUPPORTED_ELEMENT for assignments with unresolved left-han side
2014-07-28 13:04:00 +04:00
Alexey Sedunov
c32d112e67
Pseudocode: Generate magics for cast expressions
2014-07-28 13:03:12 +04:00
Alexey Sedunov
4f54d833d3
Pseudocode: Generate instructions for callable reference expressions
2014-07-28 13:03:05 +04:00
Alexander Udalov
de0f751207
Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project
2014-07-26 00:21:05 +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
f3309d1fa7
Don't ignore methods of Object in tests
...
Ignore methods of kotlin.Any instead
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
Svetlana Isakova
8c13a76805
KT-5527 Double TYPE_MISMATCH diagnostic when returns object
...
#KT-5527 Fixed
2014-07-25 21:17:31 +04:00
Zalim Bashorov
a811de9bbd
Minor: Unit.VALUE -> Unit in Java code.
2014-07-25 21:03:10 +04:00
Zalim Bashorov
4a8519615a
Unit.VALUE -> Unit in code.
2014-07-25 17:16:40 +04:00
Alexander Udalov
19b80f57cf
Support "-d" option in kotlinc-jvm
...
The intent is to unify "-output" and "-jar" options into the one "-d"
(destination)
2014-07-23 21:24:40 +04:00
Alexander Udalov
de0fd3818c
Drop "-src" in kotlinc-jvm
...
Free arguments should be used instead
2014-07-23 21:24:39 +04:00
Alexander Udalov
125c5e2942
Drop "-printArgs"
2014-07-23 16:01:12 +04:00
Alexander Udalov
5003a2f570
Send compiler output to stderr instead of stdout
...
Test only stderr in kotlinc test now and move the '-script' test to integration
tests where both stdout and stderr is tested
2014-07-23 16:01:11 +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
Alexander Udalov
70adb0f4e2
Temporarily prohibit non-local returns for some stdlib functions
...
Make InlineUtil work with FQ names, not descriptors
#KT-5496 Fixed
#KT-5497 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov
540b87a1dc
Support object array annotation arguments in deserialization
2014-07-19 02:13:26 +04:00
Alexander Udalov
d5681540ec
Fix NoSuchMethodError for data classes with private parameters
...
Introduced in a07909bb52
2014-07-19 02:13:26 +04:00
Alexander Udalov
65c21561a4
Fix super constructor calls of anonymous objects and local classes
...
If a class inherits from another class which captures something (outer class
instance, receiver parameter, local variables, etc.), the constructor of the
former class should contain all the parameters of the super constructor as its
own parameters, so that it could make a proper super call. All such parameters
are now replicated in the derived constructor with kind = SUPER_CALL_PARAM,
except an instance of the outer class (kind = OUTER), which can be taken from
the derived's own OUTER when it has one, to prevent multiple passing of the
same argument.
Previously it worked only when inheriting from inner classes via a special hack
(ConstructorFrameMap).
Also reuse recently introduced ArgumentGenerator to automatically take care of
default and vararg arguments of super constructor
#KT-3581 Fixed
#KT-5342 Fixed
#KT-5343 Fixed
2014-07-18 16:26:46 +04:00
Alexander Udalov
a07909bb52
Don't generate unnecessary accessors for private class properties
2014-07-17 19:18:05 +04:00
Alexander Udalov
4bdf7e3426
Use direct field access to trivial class properties
...
#KT-3845 Fixed
2014-07-17 19:18:05 +04:00
Denis Zharkov
0b2b8ba816
Fixed KT-5493: NPE fix
2014-07-17 18:43:44 +04:00
Denis Zharkov
0e683b0b99
Added "optimize" flag to settings everywhere
2014-07-15 21:34:32 +04:00
Denis Zharkov
0f5e29df9b
tests added
2014-07-15 21:26:53 +04:00
Pavel V. Talanov
7269e383cf
Rewrite JetPsiFactory to kotlin, make project a property
...
Instead of passing to every function
All static methods are now member functions
2014-07-15 16:41:12 +04:00
Alexey Sedunov
d636d362b7
Pseudocode: Generate proper instructions for when conditions. Eliminate unnecessary magics
2014-07-11 19:13:46 +04:00
Alexey Sedunov
0a8fa404bf
Pseudocode: Generate additional returns for implicit return values (lambdas, functions with expression bodies)
2014-07-11 19:13:26 +04:00
Alexey Sedunov
1c75a5f642
Pseudocode: Generate instructions for superclass constructor calls. Consume value of delegate expression in the by-clause
2014-07-11 19:13:21 +04:00
Alexey Sedunov
02342fce5d
Pseudocode: Store lazily computed value usage map in the pseudocode
2014-07-11 19:13:18 +04:00
Evgeny Gerashchenko
708816f09c
Fixed generating method calls from same module when inlining.
2014-07-11 14:54:12 +04:00
Alexander Udalov
947c9fb1bf
Minor, rename "inner" -> "nested" in tests
2014-07-10 20:30:45 +04:00
Evgeny Gerashchenko
c4573b8c5a
Got rid of ModuleDescription intermediate entity.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
86d2565700
Added test for KT-4827 UOE at PackageType.throwException()
...
#KT-4827 obsolete
#EA-53605 obsolete
2014-07-10 15:05:18 +04:00
Pavel V. Talanov
16aefae602
Move descriptorToDeclaration utilities family to a separate util class DescriptorToSourceUtils
2014-07-09 19:07:26 +04:00
Pavel V. Talanov
d988256831
Refactor: Remove context parameter from BindingContextUtils.descriptorToDeclaration utilities family
2014-07-09 18:19:36 +04:00