Toshiaki Kameyama
d02867a831
Add "Wrap with array literal" quick fix for annotation parameters
...
#KT-28969 Fixed
2019-01-09 12:12:27 +03:00
Toshiaki Kameyama
53b0aa5813
"Wrap element with arrayOf() call": don't suggest for annotation parameters
...
#KT-28969 Fixed
2019-01-09 12:12:27 +03:00
Nicolay Mitropolsky
41b6bcf8c3
Converting object literal to class allows to choose a name (KT-19254)
2019-01-09 11:12:47 +03:00
Alexander Udalov
a9afee77d7
Add tests for obsolete codegen issues
...
#KT-8203 Obsolete
#KT-15950 Obsolete
2019-01-08 20:43:46 +01:00
Mikhael Bogdanov
9a059809bf
Add test for Obsolete issues
...
#KT-15956 Obsolete
#KT-15751 Obsolete
#KT-16417 Obsolete
#KT-21787 Obsolete
2019-01-08 13:52:47 +01:00
Mikhael Bogdanov
6a19e45e27
Avoid ConcurrentModificationException
...
#KT-26384 Fixed
2019-01-08 13:52:46 +01:00
Mikhael Bogdanov
8ce7112123
New tests for TYPE_USE annotations in enums and inner classes
...
Main test data (testName.txt) a not totally valid cause of IDEA-205039.
Javac test data (testName.javac.txt) a not valid
cause of type annotations support absence.
Runtime tests are disabled cause reflection support absence.
2019-01-08 13:52:45 +01:00
Mads Ager
57489febf0
JVM IR: simplify chains of negations in if conditions.
...
Introduce lowering phase that turns !!exp -> exp for the boolean
'not' builtin. This makes sure that code such as
```
if (!!!!!booleanValue) {
doStuff()
}
```
generates only one branch.
2019-01-08 12:09:23 +01:00
Mikhael Bogdanov
90c787e102
Minor. Reformat code
2019-01-07 15:49:27 +01:00
Mikhael Bogdanov
cfc21ffa56
Test for obsolete KT-16496
...
#KT-16496 Obsolete
2019-01-07 15:49:26 +01:00
Nikolay Krasko
c968a362f6
Fix test data after file rename
2019-01-06 01:08:25 +03:00
Toshiaki Kameyama
827e04ae3e
Keyword completion: add "class/interface/object + filename" completion for top level (KT-28394)
...
#KT-28394 Fixed
2019-01-05 19:06:22 +03:00
Toshiaki Kameyama
ed9d53acaa
Keyword completion: do not add braces after 'companion object' (KT-27915)
...
^KT-27915 Fixed
2019-01-05 19:00:25 +03:00
Toshiaki Kameyama
18ed031e7e
Fix completion for back-ticked name (KT-19863, KT-19864)
...
^KT-19863 Fixed
^KT-19864 Fixed
2019-01-05 18:52:26 +03:00
Mads Ager
864b90f8c0
JVM_IR: Do not materialize negated boolean for branches.
...
Instead, flip the branch targets. This generates java byte code
such as:
L2
IFNE L3
ALOAD 0
INVOKEVIRTUAL A.getX ()F
GOTO L4
L3
instead of:
L2
IFNE L3
ICONST_1
GOTO L4
L3
ICONST_0
L4
IFEQ L5
ALOAD 0
INVOKEVIRTUAL A.getX ()F
GOTO L6
L5
2019-01-03 08:21:31 +01:00
Mikhael Bogdanov
02d9c526e2
Proper resort variables on inlining lowered ir closures
...
Original problem is that lowered ir closures doesn't meet inliner expectations
about captured variable position in inlining method.
E.g.: Call 'foo(valueParam) { capturedParam }' to
inline function 'foo' with declaration
inline fun foo(valueParam: Foo, inlineParamWithCaptured: Bar.() ->) ....
is reorganized through inlining to equivalent call foo(valueParam, capturedParam1, cp2 ...).
But lowered closure for lambda parameter has totally different parameters order:
fun loweredLambda$x(extensionReceiver, captured1, cp2..., valueParam1, vp2...)
So before inlining lowered closure should be transformed to
fun loweredLambda$x(extensionReceiver, valueParam1, vp2..., captured1, cp2..)
#KT-28547 Fixed
2019-01-03 07:57:36 +01:00
Mikhael Bogdanov
fcf8ea44b2
Update copyright in generated FIR related stuff
2019-01-03 07:45:16 +01:00
Mikhael Bogdanov
dfee1787e5
Regenerate builtins
2019-01-02 14:47:48 +01:00
Mikhael Bogdanov
e963c52c80
Update copyright in generated non-compiler tests
2019-01-02 13:34:03 +01:00
Mikhael Bogdanov
e0bcba5c0e
Add test for obsolete KT-17431 issue
...
#KT-17431 Obsolete
2019-01-02 12:37:07 +01:00
Mikhael Bogdanov
cf47bc0130
Update copyright in generated compiler tests
2019-01-02 12:37:06 +01:00
Mikhael Bogdanov
6bf70a5dd2
Properly find invoke method on default lambda inlining
...
In general case parameter type could differ from actual default lambda type.
E.g.: fun inlineFun(s: (Child) -> Base = { a: Base -> a as Child}),
where type of default lambda is '(Base) -> Child'.
In such case we should find somehow actual invoke method in bytecode knowing
only name, number of parameters and that's actual invoke is non-synthetic
regardless of bridge one.
#KT-21946 Fixed
2019-01-02 12:37:06 +01:00
Toshiaki Kameyama
3040a2b145
Add quickfix for RETURN_TYPE_MISMATCH_ON_OVERRIDE
...
#KT-27972 Fixed
2018-12-29 10:41:14 +03:00
Vyacheslav Gerasimov
683ed4eb95
Build: Add asm-7 sources
...
#KT-29044 Fixed
2018-12-28 21:18:33 +03:00
Vyacheslav Gerasimov
ad85707a2d
Build: move buildscripts & versions from root directory to ./gradle
...
javaInstrumentation.gradle.kts
report.gradle.kts
versions.gradle.kts
and all versions.properties
2018-12-28 21:18:33 +03:00
Nikita Katkov
4db9174b4d
Error on calling suspend functions inside Lock.withLock body
...
See SuspensionPointInsideCriticalSectionChecker
2018-12-28 19:56:26 +03:00
Ilmir Usmanov
1d52fb2e26
Fix test data
2018-12-28 19:51:59 +03:00
Vyacheslav Gerasimov
343560c533
181: Fix QuickFixTestGenerated$TypeMismatch.testParamTypeLambdaMismatch
2018-12-28 19:01:39 +03:00
Nicolay Mitropolsky
19108d8821
InterpolatedStringInjectorProcessor in functional-style
2018-12-28 15:12:54 +03:00
Ilmir Usmanov
8a01da6ec6
Support val initialization in non-inline function with EXACTLY_ONCE effect
...
by generating a box for the value.
#KT-26126 Fixed
2018-12-28 15:09:11 +03:00
Ilmir Usmanov
a52f430d8f
Put default value (null or zero) to slot for uninitialized values
...
This way range of the variable is correct in LVT.
#KT-24672 Fixed
2018-12-28 15:09:07 +03:00
Alexander Udalov
8ab9226805
Fix loading default Java annotation values in actual typealias from binary classes
...
#KT-22704 Fixed
2018-12-28 13:02:15 +01:00
Alexander Udalov
3fee84b966
Use fast .class file reading implementation in boxAgainstJava tests
...
Since these tests compile Kotlin code against compiled Java code, it's
only reasonable to use the same .class file reading implementation as is
used in production for the same purpose
2018-12-28 12:53:10 +01:00
Ilmir Usmanov
871134cff8
Update test data
...
#KT-28309
2018-12-28 14:18:39 +03:00
Ilmir Usmanov
666fec41b9
Do not spill fake variables
...
#KT-28309
2018-12-28 14:18:39 +03:00
Ilmir Usmanov
ab472793ed
Add continuation parameter of suspend lambda's invoke to frame map
...
thus it will not overlap with $i$a and $i$f fake variables.
#KT-28309
2018-12-28 14:18:38 +03:00
Ilmir Usmanov
a107b5d6b6
Set type of inliner's fake variable slots to int by storing 0
...
Otherwise, D8 drops the whole LVT.
#KT-28309 Fixed
2018-12-28 14:18:37 +03:00
Nicolay Mitropolsky
55404ea00d
191: Making MockExternalAnnotationsManager not throwing exceptions in non action-required cases
2018-12-28 11:56:08 +03:00
Nicolay Mitropolsky
5d2002c742
Fixes to be compatible with IDEA 191
2018-12-28 11:54:30 +03:00
Simon Ogorodnik
cfb446df9e
Move FIR tests to fir modules
2018-12-27 21:32:22 +03:00
Mikhail Glukhikh
95af0268b8
FIR: add transformer consistency test
2018-12-27 21:32:22 +03:00
Mikhail Glukhikh
cdc536b147
Add visitor consistency test
2018-12-27 21:32:21 +03:00
Mikhail Glukhikh
5716bda15d
Raw FIR builder: add performance test to build FIR for all Kotlin
...
#KT-24086 Fixed
2018-12-27 21:32:21 +03:00
goodsauce
72be9ef738
#KT-27670 Add quick fix: wrap expression in a lambda if compatible functional type is required ( #2010 )
2018-12-27 20:12:10 +03:00
Mikhail Glukhikh
ed8d9be483
Fix EA-125880
2018-12-27 20:10:05 +03:00
Mikhail Glukhikh
8de2ff2163
Improve expect / actual markers on one line
...
Before this commit, only one-line enums and annotation classes were
considered. Now we can have enum header on one line and
some entries on another lines, and it still works.
Same with primary constructor parameters.
#KT-22637 Fixed
2018-12-27 19:45:28 +03:00
Mikhail Glukhikh
cdef811c55
Do not report "redundant arrow" with parameters without expected type
...
#KT-29049 Fixed
Part of KT-29005
2018-12-27 19:21:34 +03:00
Nicolay Mitropolsky
ebd6caaa71
Light-annotations: fix for reading class-literal varargs (KT-29027, IDEA-204252)
2018-12-27 16:04:05 +03:00
Alexander Udalov
bcb220b919
Minor, uncomment previously non-working code in test data
2018-12-27 13:12:38 +01:00
Dmitriy Dolovov
af4c2b8030
Fix: Rebuild common or native module with Delegate to gradle does nothing
...
Issues #KT-27295:fixed, #KT-27296:fixed
2018-12-27 18:24:43 +07:00