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
9668360df3
Not showing "empty if" when it has comment inside.
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
9b3115a10b
Fix EA-47308
...
Don't always cast PsiFile to JetFile, first check if it really is a Kotlin
source
2013-06-25 18:22:20 +04:00
Nikolay Krasko
69dffe8358
Optimize searching for kotlin classes
2013-06-25 17:33:09 +04:00
develar
7f1f2aa641
Dropped get_hasNext (hasNext property) from js library files.
2013-06-22 01:34:38 +04:00
Zalim Bashorov
9d1e319f0f
JS backend: implemented PrimitiveHashMap#putAll.
2013-06-22 01:34:38 +04:00
develar
fa10a3289d
Use PrimitiveHashMap and PrimitiveHashSet when possible.
...
Kotlin.AbstractList splitted to AbstractCollection and AbstractList.
2013-06-22 01:34:37 +04:00
develar
9cd22942e2
Translate when as if-else instead for loop.
2013-06-22 01:34:36 +04:00
develar
bc043fb964
Used convenient JsNameRef ctor instead setQualifier for create JsNameRef with name and qualifier.
2013-06-22 01:34:36 +04:00
develar
d64a896c12
Used idea SmartList and SingletonList in some cases instead ArrayList.
...
Removed unused imports.
2013-06-22 01:34:36 +04:00
Zalim Bashorov
2cce4c575a
Fixed the comment of the native vararg test.
2013-06-22 01:34:36 +04:00
Alexey Sedunov
8f7d623682
Rename: Fix spelling mistake
2013-06-21 19:32:20 +04:00
Alexey Sedunov
d019c23395
Implement general expresion remover
2013-06-21 19:32:14 +04:00
Alexey Sedunov
0b634cc918
Implement Unwrap/Remove for try expressions
2013-06-21 19:32:09 +04:00
Alexey Sedunov
9d46c90165
Implement Unwrap/Remove for lambdas
2013-06-21 19:32:03 +04:00
Alexey Sedunov
8964e0e152
Implement Unwrap/Remove for conditionals and loops
2013-06-21 18:18:08 +04:00
Alexey Sedunov
fa01d59ef8
Fixed moving of classes without body
2013-06-21 18:18:07 +04:00
Alexander Kirillin
07ede8898b
EA-46365
2013-06-21 16:58:26 +04:00
Alexander Kirillin
9b9c85cdca
EA-46366
2013-06-21 16:58:26 +04:00
Alexander Kirillin
7e628a6d02
EA-46007
2013-06-21 16:58:26 +04:00
Alexander Udalov
33bcee7d6d
Fix iterators for one-element progressions
...
In case of start==end hasNext was always false, which resulted in iterators
over one-element progressions not iterating that element
2013-06-20 23:27:11 +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
980e409768
Optimize integer progression iterators
...
With the help of ProgressionUtil hasNext and next* consist now of only several
bytecode instructions
2013-06-20 22:20:39 +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