Dmitry Petrov
bbf9bf91fc
Check language feature support for local and top-level lateinit vars
2017-08-31 11:28:08 +03:00
Dmitry Petrov
01cce59c35
Make sure lateinit top-level properties work in JVM BE
2017-08-31 11:28:08 +03:00
Dmitry Petrov
d951e957ea
Support lateinit modifier on top-level properties
...
Allow lateinit modifier on top-level properties.
Modifiers 'lateinit' and 'header' are incompatible.
2017-08-31 11:28:08 +03:00
Dmitry Petrov
78b69cad77
Support lateinit local vars in redundant null check elimination
...
Lateinit local vars are guaranteed to be non-null after store.
So we mark such stores as storing non-null value
(could be useful for some other constructs, too),
and optimize null checks accordingly.
2017-08-31 11:28:08 +03:00
Dmitry Petrov
d0b0fdd732
Ignore lateinit local vars tests in JS and Native
2017-08-31 11:28:08 +03:00
Dmitry Petrov
c5b9d500bc
Support lateinit local vars in JVM BE
2017-08-31 11:28:08 +03:00
Dmitry Petrov
53961e8df0
Check lateinit applicability for local variables
...
TODO probably should be refactored together with DeclarationsChecker
2017-08-31 11:28:08 +03:00
Dmitry Petrov
3bae430d49
Resolve lateinit variables
...
Do not report UNINITIALIZED_VARIABLE on lateinit variables
Provide delegating constructors for descriptors for compatibility.
2017-08-31 11:28:08 +03:00
Dmitry Petrov
f88cd5ed3d
Allow 'lateinit' modifier on local variables
2017-08-31 11:28:08 +03:00
Pavel V. Talanov
352071dc4a
Avoid creating ModuleSourceInfo instances with empty content
...
This is overall desirable because it means less ModuleDescriptor
instances which is good for IDE analysis performance
2017-08-30 19:22:30 +03:00
Dmitry Jemerov
a623fb5312
Cleanup
2017-08-30 15:37:03 +02:00
Toshiaki Kameyama
29d2482b62
J2K RemovePartsFromPropertyFix
2017-08-30 15:36:58 +02:00
Toshiaki Kameyama
350cea7afd
move RemovePartsFromPropertyFix.java to RemovePartsFromPropertyFix.kt
2017-08-30 15:36:26 +02:00
Toshiaki Kameyama
be64a6feeb
INAPPLICABLE_LATEINIT_MODIFIER should have a quickfix to remove initializer #KT-18826 Fixed
2017-08-30 15:36:25 +02:00
Dmitry Jemerov
a68312379e
Update ReadMe.md ( #1274 )
2017-08-30 15:25:48 +02:00
Denis Zharkov
aef5911c7e
Obtain original suspend function view for inline codegen
...
It's necessary for generic inline suspend as a codegen
for it uses binding slice SUSPEND_FUNCTION_TO_JVM_VIEW
to generate fake continuation parameter, so all the
descriptors that are used for body generation must be
obtained from the SUSPEND_FUNCTION_TO_JVM_VIEW
#KT-19528 Fixed
2017-08-30 16:19:43 +03:00
Alexander Udalov
abb07ced6d
Minor, improve kdoc on JvmStatic
2017-08-30 15:51:30 +03:00
Alexander Udalov
fb4bf4e5b8
Report error if Java 9 module "kotlin.stdlib" is not found in the graph
...
Use "-Xallow-kotlin-package" to suppress this error
#KT-19176 Fixed
2017-08-30 15:47:54 +03:00
Alexander Udalov
f47093dc45
Allow to access unexported package of named module in unnamed module in IDE
...
#KT-19492 Fixed
2017-08-30 15:45:45 +03:00
Alexander Udalov
290deb6ba4
Minor, improve test on Java 9 modules
...
Test that unnamed module does not read unexported package of a named
module
2017-08-30 15:45:45 +03:00
Alexander Udalov
09c1115ff9
Report errors on usages of unnamed module from named modules in IDE
...
#KT-19493 Fixed
2017-08-30 15:45:45 +03:00
Denis Zharkov
0d7c0d4e5e
Add auto-generated tests after d6fbb084b1
2017-08-30 15:07:31 +03:00
Mikhael Bogdanov
b231bf0207
Switch custom jre path for run configuration from 9-ea to 9 jdk
2017-08-30 13:18:43 +02:00
Mikhael Bogdanov
ce0fb60ff4
Switch custom jre path for run configuration from 9-ea to 9 jdk
2017-08-30 12:52:44 +02:00
Denis Zharkov
d6fbb084b1
Use the same temporary trace for analyzing all candidate calls
...
Otherwise, when completing all the unsuccessfull candiates,
resolution of each lambda-arguments starts repeatedly for each candidate
that leads to exponential time
NB: Changes in `completeArguments` are necessary because otherwise
nested lambdas will be analyzed twice:
once for the main resolved call, and then for all candidates
that again leads to exponential complexity
#KT-16672 Fixed
#KT-19457 Fixed
2017-08-30 12:51:29 +03:00
Mikhael Bogdanov
84c2e01161
Update changelog for 1.1.4-3
2017-08-30 10:43:11 +02:00
Mikhael Bogdanov
68522b9f1e
Use lazy logging in lowers
2017-08-30 10:41:55 +02:00
Dmitry Jemerov
dce6cb0cfc
Highlight Kotlin files in build output
...
#KT-12246 Fixed
2017-08-30 10:18:00 +02:00
Pavel V. Talanov
4ada692421
Provide correct resolve scope to binaries in script dependencies
...
#KT-16760 Fixed
2017-08-29 20:55:20 +03:00
Pavel V. Talanov
a120130069
Workaround NonClasspathClassFinder not supporting inner classes
...
Explicitly split qualified names, can be removed once platform is fixed
#KT-19310 Fixed
2017-08-29 20:54:25 +03:00
Toshiaki Kameyama
a6c2135851
Counter loop in Java is transformed to less effective loop in Kotlin #KT-19337 Fixed
2017-08-29 17:37:58 +02:00
Dmitry Jemerov
eefc6ebcc9
Add missing read action in KotlinBuildScriptManipulator
2017-08-29 17:33:42 +02:00
baratynskiy
67fdd9f76e
javac-wrapper: fixes after rebase and review
2017-08-29 18:01:36 +03:00
baratynskiy
2dc0c55e76
javac-wrapper: get rid of TreePath because it is slow
2017-08-29 18:01:36 +03:00
baratynskiy
1b0d7ff5be
javac-wrapper: constant evaluator
2017-08-29 18:01:36 +03:00
baratynskiy
4f180e1292
javac-wrapper: identifier resolver
2017-08-29 18:01:36 +03:00
baratynskiy
01883a41cb
javac-wrapper: refactoring, fixes and tests
2017-08-29 18:01:36 +03:00
baratynskiy
8494e54608
javac-wrapper: -Xuse-javac -> -Xuse-javac and -Xcompile-java
2017-08-29 18:01:36 +03:00
Nicolay Mitropolsky
2224720a90
findClass is nullable in IDEA 171, so !! added
2017-08-29 17:40:53 +03:00
Nicolay Mitropolsky
108a40261b
KtLightAnnotationForSourceEntry fix for reading unnamed java-annotation parameter
2017-08-29 17:32:07 +03:00
Sergey Igushkin
e1924e0d2f
(minor) Modify warning logic for separate classes dirs opt-out flag
...
(cherry picked from commit 0dfe1a1)
2017-08-29 14:39:17 +03:00
Sergey Igushkin
0e28d612e7
Add a test for the opt-out flag for disabling separate classes directory
...
(cherry picked from commit 393966d)
2017-08-29 14:39:17 +03:00
Sergey Igushkin
0263919dbd
Provide an opt-out flag for separate classes dirs with Gradle 4.0+
...
Issue #KT-19774 Fixed
(cherry picked from commit 2aa6f5a)
2017-08-29 14:39:17 +03:00
Dmitry Jemerov
843a9871b1
Detect library kind field based on type, not name
2017-08-29 10:29:22 +02:00
Dmitry Jemerov
106db13a6a
Add missing read action (EA-105188 - assert: FileManagerImpl.findFile)
2017-08-29 10:16:35 +02:00
Dmitry Jemerov
f37cc9c8ef
Start read action at correct time (EA-105045)
2017-08-29 10:16:35 +02:00
Dmitry Jemerov
f7f3bacc8e
Add missing write action (EA-102929)
2017-08-29 10:16:34 +02:00
Dmitry Jemerov
cc5d23440e
Correctly check for project disposed (EA-103064)
2017-08-29 10:16:33 +02:00
Alexey Tsvetkov
ac3beabf43
Update 'idea.plugins.compatible.build' in KotlinCoreEnvironment
...
When compiler test was run before Intellij tests,
KotlinCoreEnvironment set the 'idea.plugins.compatible.build'
system property to '171.9999', which then prevented
Kotlin plugin from loading in Intellij tests (so all these tests failed),
because Kotlin plugin has 'sinceBuild' set to '172.1'.
2017-08-29 04:28:10 +03:00
Alexey Tsvetkov
cb1ffdccd7
Add test where unused file is removed
2017-08-29 04:28:10 +03:00