Valentin Kipyatkov
4e16d67321
KT-12427 Completion doesn't work for "@receiver:" annotation target
...
#KT-12427 Fixed
2016-06-20 16:19:01 +03:00
Valentin Kipyatkov
1413a3fe63
KT-12328 Qualified function name inserted when typing before "if"
...
#KT-12328 Fixed
2016-06-20 16:19:01 +03:00
Valentin Kipyatkov
2ec81f44bf
Fixed extension properties not completed after "get"
2016-06-20 16:19:01 +03:00
Valentin Kipyatkov
88bf7f883e
No need to specially handle extensions from current file anymore (since searchScope for KotlinIndicesHelper includes current file)
2016-06-20 16:19:01 +03:00
Valentin Kipyatkov
568195bb34
Smart cast to not null should affect flexible types too
2016-06-20 16:19:00 +03:00
Denis Zharkov
5ee33e6ad5
Generate last expression in coroutine block even for Unit expected type
2016-06-19 12:50:54 +03:00
Denis Zharkov
96eb3f411d
Minor. Simplify 'async' tests
2016-06-19 12:50:54 +03:00
Denis Zharkov
72eb87f5d0
Support inline suspend functions
...
A lot of additional work was required to support them:
- Suspension points are being identified by two markers
instead of one pointing to suspend function call
- Approach with replacing return type of suspend function does not work anymore.
So we decode suspension return type as an argument for begin marker
- It became necessary to perform variables liveness analysis
(see comment in org.jetbrains.kotlin.codegen.coroutines.CoroutineTransformerMethodVisitor.spillVariables)
2016-06-19 12:50:54 +03:00
Denis Zharkov
5c3e554240
Minor. Remove redundant import
2016-06-19 12:50:53 +03:00
Denis Zharkov
99511cbf65
Minor. Replace Exception with Throwable in the root catch clause
2016-06-19 12:50:53 +03:00
Denis Zharkov
e7b9564699
Support coroutine lambda parameters in JVM backend
2016-06-19 12:50:53 +03:00
Denis Zharkov
5bac2fd5c9
Make mutable continuation fields volatile
2016-06-19 12:50:53 +03:00
Denis Zharkov
1431e2a06d
Fix variables spilling for coroutines
...
Skip variables that conflict with local variable table info
Otherwise DEX rejects generated code
2016-06-19 12:50:53 +03:00
Denis Zharkov
07dcc6c616
Support 'handleException' operator in JVM backend
2016-06-19 12:50:53 +03:00
Denis Zharkov
6795393989
Introduce 'handleException' operator and relevant checks
2016-06-19 12:50:52 +03:00
Alexander Udalov
0e881daba3
Update diagnostic tests ReadMe, explain tests with diagnostic arguments
2016-06-19 12:45:22 +03:00
Alexander Udalov
456ba79793
Consider callable reference's LHS when resolving RHS
...
Previous resolution sequence (static scope, nested classes scope, receiver) and
a check against type parameters only made sense when there's a type, not an
expression, on the LHS of a callable reference. Also TransientReceiver is
incorrect in such case because private-to-this visibility check only works for
ExpressionReceiver values
2016-06-19 12:45:22 +03:00
Alexander Udalov
6562a2db19
Type-check reference to property with invisible setter to KProperty
...
#KT-12337 Fixed
2016-06-19 12:45:22 +03:00
Ilya Gorbunov
c5a208f3eb
Rearrange stdlib unit tests across packages.
...
Rearrange JS stdlib unit tests.
2016-06-18 16:50:32 +03:00
Ilya Gorbunov
d266f546f4
Remove obsolete and not relevant to stdlib tests
2016-06-18 16:50:32 +03:00
Nikolay Krasko
43407f1c74
Remove old hack: Idea doesn't expect increasing modification count during highlighting (KT-12526)
...
addImport() is called from ImportAllMembersIntention.isApplicableTo() and increasing modification count during highlighting ruins Idea expectations.
#KT-12526 Fixed
2016-06-18 16:06:37 +03:00
Alexey Tsvetkov
d4494d605a
Exclude resources dir from surefire test search
2016-06-17 20:00:46 +03:00
Valentin Kipyatkov
1b16ff6c82
KT-11975 Invert if-condition intention does not simplify "is" expresssion
...
#KT-11975 Fixed
2016-06-17 18:09:07 +03:00
Alexander Udalov
3fa87fe4de
Move get-protobuf later in update_dependencies
...
It invokes kotlinc, so should happen after the bootstrap compiler is downloaded
2016-06-17 17:23:19 +03:00
Mikhail Glukhikh
5ccbf47531
Elvis / if / when now infer error type in case of ErrorType + Nothing #KT-6665 Fixed
...
(cherry picked from commit 9a50a0b)
2016-06-17 16:43:24 +03:00
Mikhail Glukhikh
49fb9ff424
Sealed class hierarchies are now correctly processed in when (by checking possible smart casts to nested sealed classes) #KT-10648 Fixed
...
(cherry picked from commit 2eaaf9c)
2016-06-17 15:22:15 +03:00
Stanislav Erokhin
01430b4b99
Create hack for exception about "Empty intersection for types".
...
Hackaround for KT-11266, EA-79963, EA-72093, EA-79976.
2016-06-17 01:39:44 +03:00
Nikolay Krasko
490ff621b6
Implement isInheritor method with utility method that has special behaviour for anonymous classes
2016-06-16 18:50:40 +03:00
Nikolay Krasko
784fd963cd
Implement copy methods for anonymous and enum entry light classes
2016-06-16 18:50:39 +03:00
Nikolay Krasko
29b94f650c
Make Kotlin light class more like PsiAnonymousClassImpl
...
Avoid delegating to cls delegate in more places
2016-06-16 18:50:39 +03:00
Nikolay Krasko
9359d0aab4
Compare anonymous classes with psi only to avoid counting qualified name
2016-06-16 18:50:38 +03:00
Alexander Udalov
de986ed051
Do not skip synthesized members when generating bridges
...
The condition here is obsolete since SAM adapters can no longer be overridden:
they are now extensions in another scope
#KT-12708 Fixed
2016-06-16 16:51:18 +03:00
Alexander Udalov
af9883bccf
Add test on accidental redeclaration of final members from java.lang.Enum
...
This is working because of the additional built-ins members added in 1.1
2016-06-16 16:51:18 +03:00
Alexander Udalov
79ecc9751b
Report error on accidentally "overriding" wait/notify
...
Hard-code only Object members because diagnostics are reported for all other
classes out of the box in 1.1
#KT-7174 Fixed
2016-06-16 16:51:18 +03:00
Alexander Udalov
da332d1a27
Validate "-jvm-target" value in CLI, improve message
2016-06-16 16:51:18 +03:00
Alexander Udalov
02fd5371aa
Update metadata version to 1.1.2 and bytecode version to 1.0.1
...
This is needed for the upcoming 1.1 EAP: it'll be easier to diagnose problems
arising from new language features and bytecode modifications
2016-06-16 16:51:18 +03:00
Alexander Udalov
b4f81d4bb5
Use 'JVM_TARGET: 1.8' directive in codegen tests on 1.8 target
2016-06-16 16:51:18 +03:00
Mikhail Glukhikh
ac03d98cb2
Inspection "can be primary constructor property" with relevant quick-fix #KT-8477 Fixed
...
(cherry picked from commit 2db7562)
2016-06-16 16:24:43 +03:00
Dmitry Petrov
9240c82934
KT-12733 'rangeTo' as a non-qualified call is not optimized in 'for'
...
Use ResolvedCall corresponding to 'for' loop range expression
for optimized "for-in-range-literal".
Cleanup.
2016-06-16 11:30:05 +03:00
Alexey Tsvetkov
5e21af7bdd
Ensure direcory for class file stubs always exists
...
This fixes the warning "classpath entry does not exist"
#KT-12352 fixed
2016-06-15 20:28:47 +03:00
Alexey Tsvetkov
af10c13ef1
Set friend modules for android gradle test tasks
...
This fixes the following issues:
1. When product flavors were used, android unit tests could not refer
to internal symbols from main source set.
2. Android instrumentation tests could not refer
to internal symbols from main source set
#KT-11166 fixed
2016-06-15 20:28:47 +03:00
Zalim Bashorov
0e428ca10c
JPS: don't consider that production target of module "B" is depends on test target of module "A" when "B" depends on "A"
...
#KT-12595 Fixed
2016-06-15 15:01:32 +03:00
Dmitry Petrov
a17b0dd1b5
KT-5075 Optimize array/collection indices usage in 'for' loop
...
Use specialized 'for' loop code generation strategy for loops over array indices and collection indices.
2016-06-15 14:01:18 +03:00
Mikhael Bogdanov
3a8591a729
Support 'jvm-target' in CLI
2016-06-15 13:43:29 +03:00
Mikhael Bogdanov
1c3ce93275
Generate same delagation structure as in jvm 6 target until new binary compatibility design
...
We need to make some decision about binary compatibility beetwen targets and semantics, so now old logic is used
2016-06-15 13:43:29 +03:00
Mikhael Bogdanov
bb59638039
Support bridges in interfaces. Fix for KT-12416: Missed bridges in js backend
...
#KT-12416 Fixed
2016-06-15 13:43:28 +03:00
Mikhael Bogdanov
c778af518b
isJvm6Interface -> isAnnotationOrJvm6Interface
2016-06-15 13:43:28 +03:00
Mikhael Bogdanov
16159c483d
Generate defaults methods on extending jvm6 interfaces
2016-06-15 13:43:27 +03:00
Mikhael Bogdanov
331341bd4d
Don't generate delegates on overriding jvm8 interfaces
2016-06-15 13:43:27 +03:00
Michael Bogdanov
01aa89b1ea
Generate delegation body for default interface methods, calculate proper abstractness for them
2016-06-15 13:43:26 +03:00