Commit Graph

41078 Commits

Author SHA1 Message Date
Denis Zharkov 4e4bf31016 Fix loading JSR-305 nicknames for @CheckForNull annotation
For sake of working without jsr305.jar in the classpath `resolveTypeQualifierAnnotation`
may return javax.annotation.CheckForNull (although the latter is nickname itself)

 #KT-19985 Fixed
2017-08-31 15:13:26 +03:00
Denis Zharkov ed79891ee6 Fix type mapping for parameter of Collection<Int>::remove override
In the case the single parameter of override has `Integer` type instead
of `int` type (while in common case it would be just `int`)

See the comment inside forceSingleValueParameterBoxing for clarification

 #KT-19892 Fixed
2017-08-31 12:38:08 +03:00
Denis Zharkov 73c139d250 Minor. Drop unused ExpressionCodegen::expressionJetType 2017-08-31 12:35:41 +03:00
Denis Zharkov 6af91b8c97 Drop redundant tests erroneously added in c8d25c587a 2017-08-31 12:35:05 +03:00
Denis Zharkov 80a90572d6 Fix target for annotations/metadata on open suspend functions
Get rid of rewriting of vars in FunctionCodegen::generateMethod,
just extracted generateMethodBody instead

 #KT-19814 Fixed
2017-08-31 12:27:28 +03:00
Dmitry Petrov 742fecf69c Minor: readability improvements after code review 2017-08-31 11:28:08 +03:00
Dmitry Petrov 21e3051a78 Use Name instead of String for lateinit-related StackValues
to emphasize that this is a descriptor name, not a JVM name
2017-08-31 11:28:08 +03:00
Dmitry Petrov c8d25c587a Do not use reflection it local/top-level lateinit tests 2017-08-31 11:28:08 +03:00
Dmitry Petrov 638eb28692 Unify code for lateinit properties and local variables checking 2017-08-31 11:28:08 +03:00
Dmitry Petrov b12e20b2a3 Minor: move local lateinit tests to lateinit/local 2017-08-31 11:28:08 +03:00
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