Commit Graph

1360 Commits

Author SHA1 Message Date
Dmitry Jemerov 683d727c72 drop deprecated syntax for class objects 2015-04-27 15:14:33 +02:00
Svetlana Isakova 4f0d541493 Resolve function references independently of target type
KT-7564 AbstractDiagnosticsTest.checkAllResolvedCallsAreCompleted() fails on tests with function references
 #KT-7564 Fixed
2015-04-27 13:32:47 +03:00
Michael Bogdanov 39fabda611 New diagnostic for Java default method call via super in trait 2015-04-24 18:54:09 +03:00
Ilya Ryzhenkov 288e1baa87 Tests, messages and infra for deprecated symbol reporting 2015-04-24 15:44:32 +03:00
Ilya Ryzhenkov c2b3bcc95f SymbolUsageValidator infrastructure 2015-04-24 15:44:28 +03:00
Mikhail Glukhikh 525b9e63ae Refactoring: checkType && checkImplicitCast returned to DataFlowUtils, PROCESSED unboxing returned, StringTemplateVisitor made local 2015-04-23 18:25:52 +03:00
Denis Zharkov 1b42e2fdcc Deprecate calls of annotations' methods 2015-04-23 08:27:43 +03:00
Denis Zharkov 6ca7d2aad7 Regenerate test data
Add properties for Java annotations
2015-04-23 08:27:41 +03:00
Mikhail Glukhikh 27625b04e1 Refactoring of JetTypeInfo / BindingContext. Loop data flow analysis corrected.
Now BindingContext includes expression type info instead of jump out possible, data flow info and expression type.
getType() was added into BindingContext, getType() and recordType() were added into BindingTrace.
JetTypeInfo now includes also jump possible flag and jump point data flow info.
Old TypeInfoWithJumpInfo deleted.
TypeInfoFactory introduced to create JetTypeInfo instances.
A pack of extra tests for break / continue in loops added.
2015-04-21 15:29:07 +03:00
Dmitry Jemerov 14b92404cd add test for private-to-this visibility in traits 2015-04-21 14:13:30 +02:00
Dmitry Jemerov 8d922dda4d private members of traits are not open by default
#KT-4171 Fixed
2015-04-21 14:13:29 +02:00
Alexander Udalov 6f8694976d Fix test data 2015-04-20 23:30:05 +03:00
Denis Zharkov 7325a459e5 Ignore diagnostic on tests supposed to be dropped soon 2015-04-17 18:52:16 +03:00
Denis Zharkov f53baebf89 Show warning on usages of javaClass<T>() in annotations loaded from Java 2015-04-17 18:50:37 +03:00
Denis Zharkov 482b4e3688 Minor, split and clean tests
Tests that are using javaClass supposed to be deleted soon
while other ones just check that annotation loaded correctly
and shold use class literals
2015-04-17 17:40:41 +03:00
Svetlana Isakova d40fd440b0 KT-7433 Type inference pushes Unit inside generic function with lower bound constraint
#KT-7433 Fixed
 #KT-7351 Fixed
2015-04-16 21:02:42 +03:00
Mikhail Glukhikh 109e0abb6d Review fixes for mutable variable smart casting (mostly refactoring).
DataFlowValue.isPredictable() introduced instead of isStableIdentifier().
Parenthesized assignments are treated correctly.
2015-04-16 20:11:03 +03:00
Mikhail Glukhikh e97e792674 Review fixes for smart casts in / out loops.
LoopTypeInfo became TypeInfoWithJumpInfo rewritten in Kotlin.
Fixed a bug with break inside Elvis inside a loop, a pack of related tests added.
isTrueConstant moved to JetPsiUtil.
2015-04-16 20:11:01 +03:00
Mikhail Glukhikh d5aed62410 Smart casts for local variables not captured in a closure and not changed in a loop, see #KT-3175.
isLocalVariable added. Assignment / initialization analysis.
Control whether a variable is changed in a loop at the beginning and at the end of the loop.
Control whether a variable is captured in a closure. #KT-3175  Fixed. #KT-2266  Fixed.
Tests for variable null safety and for variables is/as operations.
Loop / closure / variable property tests are included.
Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
2015-04-16 20:10:58 +03:00
Denis Zharkov 97e4a899cf Add specific warning when KClass literal expected 2015-04-16 10:40:20 +03:00
Denis Zharkov 98ffa3b475 Render Class-constant as javaClass<T>() 2015-04-16 10:40:20 +03:00
Denis Zharkov 294eb1dceb Load annotation parameter's type for ctr as contravariant
See comment in code
2015-04-16 10:40:20 +03:00
Denis Zharkov 8f0e290dec Create additional constructor for java annotation with Class-parameter
One of them with KClass<*> parameters and other with java.lang.Class<*>.

It's needed just for backward compatibility, and second one is deprecared.
2015-04-16 10:40:20 +03:00
Denis Zharkov f5111180c3 Load Class<?> as KClass<*> for Java annotations parameters 2015-04-16 10:40:20 +03:00
Denis Zharkov 82674e56b9 Frontend: Allow using KClass as annotation parameter type 2015-04-16 10:40:19 +03:00
Ilya Gorbunov a20f1bdb6e Change the expected diagnostic output after reduce signature has been changed. 2015-04-15 17:34:09 +03:00
Mikhail Glukhikh 1544755838 Test refactoring 2015-04-14 19:11:26 +03:00
Mikhail Glukhikh 8184bccda1 Extended loop data flow analysis was implemented. #KT-6283 Fixed. #KT-6284 Fixed.
A local descendant of JetTypeInfo added to save separately current data flow info and jump point data flow info together with jump opportunity.
Now data flow analysis know about loop bodies that must be executed at least once (do...while, while(true) until the first break/continue).
A set of tests for smart casts in and after loops.
Existing DoWhile and WhileTrue resolve tests corrected in accordance.
2015-04-14 19:11:22 +03:00
Dmitry Jemerov 900a16a315 deprecate required classes for traits 2015-04-13 16:22:22 +03:00
Dmitry Jemerov 991db29731 drop covariant specialisation for supertypes 2015-04-13 15:28:50 +03:00
Alexander Udalov 92fa107471 Delete three diagnostic tests which rendered parts of JRE
- PackageLocalClassNotImportedWithDefaultImport.kt goes to codegen multi-file
  tests. File in java.lang moved to kotlin.jvm, which seems irrelevant to the
  test, because java.lang is prohibited by the VM
- MergePackagesWithJava.kt (KT-689, Java and Kotlin in the same package) and
  kt955.kt (Unable to import from default package) are considered too obsolete
  to even test and are thus deleted

Also check that there's no more than 1000 lines in the .txt file in diagnostic
tests.
2015-04-10 20:35:18 +03:00
Michael Bogdanov 67c2f7105b Fix for KT-6863: Internal compiler error folding functions
#KT-6863 Fixed
2015-04-10 08:59:27 +03:00
Alexander Udalov 6182b3ff5c Prohibit Array::class, require type arguments for reified parameters 2015-04-09 19:46:47 +03:00
Evgeny Gerashchenko eeeb741d42 Added test for obsolete bug and removed workaround in code. 2015-04-08 15:14:16 +03:00
Denis Zharkov 1324667bc9 Prohibit use of positioned value arguments for java annotation 2015-04-07 19:31:30 +03:00
Denis Zharkov a29c0ff9a3 Use default value if annotation vararg argument is empty 2015-04-07 19:31:30 +03:00
Denis Zharkov 9b1443954f Refine loading annotation parameters from java
- Parameter named `value` is always first
- Array parameter represented as vararg iff its name is `value` and all
  other parameters have default values

 #KT-2576 Fixed
 #KT-6641 Fixed
 #KT-6220 Fixed
 #KT-6652 Fixed
2015-04-07 19:31:29 +03:00
Mikhail Glukhikh 27b1f1ddad Test and implementation for KT-6819. Now when entry condition data flow information is used for subsequent conditions. #KT-6819 Fixed 2015-04-07 19:03:34 +03:00
Mikhail Glukhikh cd206fc97b Test for KT-3711. Passes already in M11 or even earlier 2015-04-07 19:03:31 +03:00
Mikhail Glukhikh 221501c0d9 Tests for KT-2865. Passes already in M11 or even earlier 2015-04-07 19:03:29 +03:00
Mikhail Glukhikh 39e01f4df2 Tests for KT-3899. Passes already in M11 or even earlier 2015-04-07 19:03:27 +03:00
Mikhail Glukhikh f49c79f4f0 Tests for KT-3224 and KT-3244. Both pass already in M11 or even earlier 2015-04-07 19:03:24 +03:00
Nikolay Krasko 2946c1d6a8 KT-7271 Accessing an extension property of Char.Companion leads to ClassNotFoundException in runtime
#KT-7271 Fixed
2015-04-07 15:59:05 +03:00
Mikhail Glukhikh 88441814b9 Test for KT-5502 (works after KT-4450 / KT-5907 fix) 2015-04-06 18:32:19 +03:00
Mikhail Glukhikh d92ccad35d Implementation and tests for KT-5840 and newly created KT-7204. Now a safe call provides not-null receiver state *inside* argument list. It works also for ?. chains. #KT-5840 Fixed.
On the other hand, argument states do not propagate to successor statements for a safe call. #KT-7204 Fixed. A few additional comments.
2015-04-06 18:29:52 +03:00
Dmitry Jemerov 252c4118eb report 'break' and 'continue' inside 'when' as errors (even if 'when' is nested in a loop) 2015-04-05 00:33:14 +03:00
Alexander Udalov 4474005183 Fix codegen tests and overloads diagnostic test 2015-04-03 01:38:31 +03:00
Dmitry Jemerov 7b507276ed frontend diagnostics for kotlin.jvm.overloads
#KT-7203 Fixed
2015-04-02 20:30:36 +02:00
Dmitry Jemerov 39828bfd32 Implement kotlin.jvm.overloads annotation for generating all overloads of a method that has default parameter values.
#KT-2095 Fixed

fix backend-side issues with kotlin.jvm.overloads: support the annotation on constructors, generate nullablity annotations on parameters, generate generic signatures, add various tests
2015-04-02 20:30:26 +02:00
Ilya Ryzhenkov 2f02024c24 checkLValue for array indexing expression should resolve set method #KT-7218 Fixed 2015-04-01 21:02:05 +03:00