Evgeny Gerashchenko
7660ae7f20
Simplified code.
2013-06-27 17:09:15 +04:00
Mikhael Bogdanov
8cd1880805
KT-3722: Write correct generic type information for generated fields
...
#KT-3722 Fixed
2013-06-27 15:59:48 +04:00
Evgeny Gerashchenko
f2458f62c2
Prioritized super constructor calls.
2013-06-26 21:04:11 +04:00
Evgeny Gerashchenko
2cb4c7edbb
Test with SAM adapter for method inherited/overriding other from Kotlin.
2013-06-25 20:17:48 +04:00
Evgeny Gerashchenko
525af972d3
Replaced ref object usage with custom class.
2013-06-25 20:17:47 +04:00
Evgeny Gerashchenko
b77fbf37b6
Using more specific class.
2013-06-25 20:17:47 +04:00
Evgeny Gerashchenko
104f15adc4
Moved Java-related keys to JavaBindingContext.
2013-06-25 20:17:47 +04:00
Evgeny Gerashchenko
eef380a5c3
Extracted SAM constructor and adapter recording methods.
2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
939bab67f0
Removed useless parameter.
2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
caf25ad4eb
More direct resolving function group from Java.
2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
b4ce39aeb1
Test with calling abstract wrapper which is implemented in Kotlin.
2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
1f2676becd
Ignoring SAM adapters when checking for unimplemented methods or methods to override.
2013-06-25 20:17:45 +04:00
Evgeny Gerashchenko
fd7b29ad48
Added tests with SAM adapter overridden in Kotlin class.
2013-06-25 20:17:45 +04:00
Evgeny Gerashchenko
f4c3a89408
Added tests with SAM adapter inherited in Kotlin class.
2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
5c3577dfed
Added tests with SAM adapter overridden in Java class.
2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
c77559fac9
Attaching stdlib in load java tests more directly.
2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
63dbfcb81c
Added test with vararg parameter in SAM interface.
2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
906f900b28
Added test with inherited SAM adapter.
2013-06-25 20:17:43 +04:00
Evgeny Gerashchenko
8e49eb135a
Correctly processing inherited methods when checking for SAM interface.
2013-06-25 20:17:43 +04:00
Evgeny Gerashchenko
63c17bd0b2
Green code.
2013-06-25 20:17:43 +04:00
Evgeny Gerashchenko
eb7dc87225
Ignore SAM adapters when finding abstract members.
2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
d78f36a780
Minor. Renamed test.
2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
ee9fcff9ca
Supported non-literal arguments for SAM adapters.
2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
2e2061d9b6
Clarified comment.
2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
be02943675
Considering SAM interface FQ name in hash.
2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
7ef4c8cfa8
Generating SAM wrapper class per source file.
2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
0fbf203ff7
Extracted method.
2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
7d514bf081
Simplified code.
2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
8a9ec0f3ce
Added comment.
2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
ba2dae4db7
Removed obsolete comment.
2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
0f067f042f
Using more specific class.
2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
fe77c3edb9
Replaced signed decimal with hex. Eliminated querying canonical path.
2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
e8d0022406
Typo.
2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
cfc99b941a
Added test for ambiguous SAM adapters within one class.
2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
4980dacd33
Supported calls of SAM adapters for constructors.
2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
5e2c3fcb50
Loading SAM adapters for constructors.
2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
50eb14c525
Rendering member kind for constructor.
2013-06-25 20:16:20 +04:00
Alexander Udalov
fea85476b7
Cast int to byte/short/char in for loop generation
...
Similar to the previous commit, don't use iinc or iadd+istore where the value
can overflow the byte/short/char limits. This fixes Android tests
2013-06-25 18:48:28 +04:00
Alexander Udalov
356c32893b
Don't use 'iinc' instruction on byte/short/char variables
...
Android run-time verifier complains when there's any possibility that a
byte/short/char local variable could contain a value not fitting into the
type's limits.
2013-06-25 18:48:28 +04:00
Alexander Udalov
db41329e67
Exclude KT-3574 from Android tests due to jet.Nothing bug
2013-06-25 18:48:27 +04:00
Alexander Udalov
68b0ad53c4
Regression test for KT-24
...
#KT-24 Obsolete
2013-06-25 18:48:20 +04:00
Alexander Udalov
9a6979aa6c
Minor, rename method
2013-06-20 22:23:02 +04:00
Alexander Udalov
aea8f3bcee
Fix and test ProgressionUtil
...
Arithmetical modulo implementation was incorrect (-10 mod 1 == 0, but was 1)
2013-06-20 22:23:02 +04:00
Alexander Udalov
53cc582040
Minor, use incrementType in for-progression codegen
...
This doesn't fix anything, just makes it easier to figure out values of what
types are used where. Progression increment is of its own type, which may be
different from asmElementType in case of Byte, Char, Short progressions
2013-06-20 22:23:02 +04:00
Alexander Udalov
d85ca47184
Generate optimized bytecode for 'for' in progression
...
Instead of checking for overflow at the end of each iteration, calculate the
actual final loop parameter value before the loop, save it to the local
variable and at the end of the iteration check if the loop parameter is exactly
equal to this final value.
ProgressionUtil.getProgressionFinalElement() credits go to @geevee
2013-06-20 20:19:54 +04:00
Alexander Udalov
8a14b62a23
KT-3574 Assertion error when using ?: in for range
...
#KT-3574 Fixed
Do not assert that resolvedCall is non-null, since getRangeAsBinaryCall can
return a BinaryCall that doesn't represent a range at all (as specified by the
comment in getRangeAsBinaryCall)
2013-06-20 16:03:00 +04:00
Alexander Udalov
3ff5acd69c
Minor, ignore android dependencies when looking for @author
2013-06-20 16:03:00 +04:00
Alexander Udalov
e22947281c
Minor, cut down unnecessary 'load' in for-progression codegen
2013-06-20 16:03:00 +04:00
Alexander Udalov
ee80e0b8ca
Fix loops over progressions near to MAX_VALUE/MIN_VALUE
...
#KT-492 Fixed
For Byte, Char and Short ranges, promote the type of the loop parameter to int
to avoid overflows. For Int and Long ranges at the end of the loop over a
progression we now check if the new (incremented) value of the loop parameter
is greater than the old value iff increment > 0
2013-06-20 16:03:00 +04:00
Alexander Udalov
33d6347876
Fix loop over a range literal up to MAX_VALUE
...
#KT-492 In Progress
For Byte, Char and Short explicit casting from Int is removed -- loop parameter
is already stored in an Int anyway. For Int and Long comparison "i < end" at
the beginning of the loop is replaced to "i != end" at the end of the loop + a
special check for an empty loop
2013-06-20 16:02:59 +04:00