Mikhael Bogdanov
18cb734c58
Do not mangle internal @PublishedApi functions
2016-12-09 11:55:16 +01:00
Mikhael Bogdanov
f4259c5f82
Added deprecation for protected call within inline functions
2016-12-09 11:55:16 +01:00
Mikhael Bogdanov
038065e827
Updated NON_PUBLIC_CALL_FROM_PUBLIC_INLINE diagnostic to support @PublishedApi
2016-12-09 11:55:15 +01:00
Mikhael Bogdanov
7ea29d3397
Wrong @PublishedApi usage diagnostic
2016-12-09 11:55:15 +01:00
Mikhael Bogdanov
95a47e56f7
InlineExposed usages are changed to PublishedApi
2016-12-09 11:55:14 +01:00
Alexey Andreev
a2d45153ba
JS: prohibit dynamic on RHS of in and !in operators (see KT-6579)
2016-12-09 12:03:52 +03:00
Alexey Andreev
fc6eaa015f
JS: prohibit using more than one argument in indexed access with dynamic receiver (see KT-6580)
2016-12-09 12:03:51 +03:00
Mikhael Bogdanov
627dd66ed5
New ieee754 arithmetic, Fix for KT-14651: Floating point comparisons shall operate according to IEEE754
2016-12-09 09:48:46 +01:00
Mikhael Bogdanov
f9b40585cd
Partial fix for KT-14989: Missed null check for platform type
2016-12-09 09:46:38 +01:00
Alexander Udalov
513ebb9729
Suggest to use "-Xskip-metadata-version-check" on incompatible classes in classpath
2016-12-09 01:59:36 +03:00
Alexander Udalov
830d2f6603
Do not fail when deserializing incompatible metadata
...
Catch all exceptions when deserializing metadata with an incompatible version
to prevent the compiler from failing on discovering incompatible classes on the
classpath. Note that this is not the perfect solution: any invariant may be
broken in the incompatible metadata and it may result in a later exception
2016-12-09 01:59:36 +03:00
Alexander Udalov
b943ed26f3
Report incompatible metadata version error correctly
...
Similarly to pre-release classes, load metadata for the class anyway and allow
the resolution to select it as the result and prohibit its usage in the end
with the special diagnostic reported in MissingDependencyClassChecker
2016-12-09 01:59:36 +03:00
Alexander Udalov
d204fa91cc
Use "-Xskip-metadata-version-check" to load pre-release classes
2016-12-09 01:59:35 +03:00
Alexander Udalov
7de0cfde16
Report error on pre-release top level members
2016-12-09 01:59:34 +03:00
Alexander Udalov
11f975fe89
Add classifier usage checker for missing dependency classes
...
This has no effect for the original use case of mock class descriptors
(unresolved classes used in libraries), but is necessary for pre-release
classes in case the compiler is a release, because such classes end up in scope
and can be the result of the resolution
2016-12-09 01:59:33 +03:00
Alexander Udalov
4e99349f1f
Write "pre-release" flag to class files, do not allow usages in release
2016-12-09 01:59:33 +03:00
Ilya Gorbunov
d60fc7d9a8
Introduce ClosedComparableRange interface which inherits ClosedRange to provide special comparison operation for double and float.
2016-12-08 20:50:11 +03:00
Ilya Gorbunov
d91f3cba0b
Add additional invariant to check in Range.contains optimization tests.
...
Change expectations for double and float ranges according to #KT-4481
#KT-5044 #KT-4481
Custom 'rangeTo' might be unoptimized, but still 'in' should not diverge from 'contains'.
2016-12-08 20:47:25 +03:00
Ilya Gorbunov
e4ab3f3b93
Fix rendered descriptors in test data after enhancing signatures.
2016-12-08 20:34:59 +03:00
Ilya Gorbunov
459c5fed8c
Tweak checks and type parameter heuristics in LazyJavaClassDescriptor.getPurelyImplementedSupertype to support cases of UnaryOperator and BinaryOperator enhancements.
2016-12-08 20:34:55 +03:00
Ilya Gorbunov
c66b3b8ef9
Nullability for java.lang.ref.Reference.get
2016-12-08 20:22:17 +03:00
Ilya Gorbunov
84a7e3c032
Add tests for enhanced java signatures based on AbstractResolvedCallsTest.
...
Refactor AbstractResolvedCallsTest to support multiple carets (multiple methods being tested for resolve) in testdata file.
2016-12-08 20:22:17 +03:00
Alexey Andreev
abca774422
Support external modifier on classes in descriptor renderer. Regenerate test data.
2016-12-08 15:41:44 +03:00
Alexey Andreev
dadffebe97
Support external modifier in descriptor renderer. Update test data.
2016-12-08 15:41:43 +03:00
Alexey Andreev
7e37d5d6fa
Prohibit external modifiers on classes and properties in JVM target
2016-12-08 15:41:42 +03:00
Alexey Andreev
d0ffb5bd32
JS: add restrictions to external modifier according to KT-13893
2016-12-08 15:41:42 +03:00
Alexey Andreev
68412ae94f
JS: replace all usages of @native annotation with external modifier, in tests, stdlib, etc
2016-12-08 15:41:39 +03:00
Alexander Udalov
c811c1bea5
Reflection: add KAnnotatedElement.findAnnotation
...
#KT-12250 Fixed
2016-12-07 21:45:24 +03:00
Denis Zharkov
891a036b59
Change resolution priority level for SAM adapters
...
After this change SAM adapters are being resolved in the same group
as members, thus their overload resolution happens simultaneously.
But in the case of overload resolution ambiguity try to filter out all
synthetic members and run the process again.
See the issue and new test for clarification
#KT-11128 In Progress
2016-12-07 21:04:44 +03:00
Mikhail Zarechenskiy
0134b8819b
Optimize const vals by inlining them at use sites
...
#KT-11734 Fixed
#KT-13570 Fixed
2016-12-05 22:11:33 +03:00
Mikhail Zarechenskiy
8c1e165f18
Skip property accessors for constants
...
- Inline protected constants from Java at use sites
- Do not create accessors for private constants in Kotlin
#KT-11734 In Progress
2016-12-05 22:10:14 +03:00
Yan Zhulanow
fcafaf5500
Update LightAnalysisModeCodegenTests for Kotlin 1.1
2016-12-05 20:10:32 +03:00
Yan Zhulanow
e31a39386e
Minor: Fix testDeprecatedJvmOverloads test (Kotlin runtime is not enabled by default now in bytecode listing tests)
2016-12-05 19:58:06 +03:00
Yan Zhulanow
75aaf6e797
Minor: Update tests for light analysis mode (rebase)
2016-12-05 19:58:02 +03:00
Yan Zhulanow
328286ab14
Use box tests to check if the light analysis mode (without analyzing bodies when possible) produces the same result as the complete analysis. See also the next commit in which light analysis mode is applied. Note that no tests were changed.
2016-12-05 19:57:47 +03:00
Alexey Andreev
784fe31053
JS: fix translation of calls with aliased labeled lambda arguments. Fix KT-14999
2016-12-05 09:19:06 +03:00
Alexey Andreev
df88ebb1b3
KT-12877: don't throw exception when @JsModule annotation is improperly used
2016-12-03 17:15:11 +03:00
Alexey Andreev
d1820b42ef
KT-12877: fix code formatting in tests
2016-12-03 17:15:10 +03:00
Alexey Andreev
31a1d6ca66
KT-12877: add diagnostics on JsModule/JsNonModule:
...
1) for all cases of misusing of JsModule report on JsNonModule as well
2) report about non-top-level declarations with JsModule/JsNonModule
3) report about JsModule/JsNonModule declarations inside file marked with JsModule/JsNonModule
4) report about usages of declarations not marked with both JsModule and JsNonModule from UMD module
2016-12-03 17:15:08 +03:00
Alexey Andreev
0238b182cc
KT-12877: add JsNonModule with support on front-end
2016-12-03 17:15:07 +03:00
Alexey Andreev
3f2ec6871d
KT-12877: add some front-end diagnostics for JsModule
2016-12-03 17:14:30 +03:00
Mikhail Zarechenskiy
160d43fe2e
Introduce new feature: division by zero in constant expressions
2016-12-02 17:42:56 +03:00
Dmitry Petrov
e63abff7e8
Recognize possible generic property call chain ('a.b<T>.c') on '::' LHS.
2016-12-02 10:20:05 +03:00
Mikhail Zarechenskiy
25c3b43858
Support Infinity and NaN in constant evaluator
...
This allows to store infinities and NaNs inside const vals
2016-12-01 16:08:53 +03:00
Denis Zharkov
cbebb06574
Do not return star-projections during approximation
...
See comment in test for clarification
#KT-14453 Fixed
2016-12-01 13:39:38 +03:00
Denis Zharkov
b8e1ce7a05
Report error on non-tail suspend-calls
...
It only concerns calls inside another suspend function
#KT-14924 In Progress
2016-12-01 10:11:37 +03:00
Denis Zharkov
aa50f1d824
Report error when suspend call is illegal in the scope
...
Namely when it's not contained inside coroutine or another suspend function
#KT-14924 In Progress
2016-12-01 10:11:37 +03:00
Mikhail Zarechenskiy
240d82d167
Move reified type parameter checker to additional checkers to able turn it off by demand
2016-12-01 10:06:38 +03:00
Denis Zharkov
fcd9ee037e
Support coroutines stack-unwinding in JVM backend
...
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Denis Zharkov
27e4caf046
Temporary disable coroutine tests in JS backend
...
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00