Commit Graph

82 Commits

Author SHA1 Message Date
Yan Zhulanow dc8e796e49 getValue()/setValue() should be marked with 'operator' 2015-10-14 01:29:09 +03:00
Yan Zhulanow 1f2b4e20fe Replace get() and set() to getValue() and setValue() (property delegates) 2015-10-09 22:49:16 +03:00
Mikhail Glukhikh a1e3471d92 "field": deprecated warnings introduced, compiler tests migrated to the new syntax 2015-09-21 15:48:00 +03:00
Denis Zharkov fc447e2d2f Parse some builtin annotations as modifiers
But still resolve them as annotations.
Mostly it's needed as begin of migration path, one day they become modifiers anyway

Some tests are dropped because they supposed that `annotation` should have parameter
2015-09-08 08:53:35 +03:00
Denis Zharkov 00a78fce0c Get rid of special logic when check receiver
Instead of manually checking nullability when reporing UNSAFE_CALL_ERROR
just check if receiver type is subtype of receiver parameter

Make it in two steps
1. Check subtype with respect to smart casts but ignoring nullability (if it's not satisfied -> ERROR)
2. Check subtype with respect to nullability and smartcasts (record latter if needed)
2015-08-28 18:50:25 +03:00
Valentin Kipyatkov 7edff172a2 KT-1273 Unused assignment - should highlight assignment instead of expression
#KT-1273 Fixed
2015-05-19 23:45:59 +03:00
Dmitry Jemerov 625096466e IDE testdata: s/trait/interface 2015-05-13 16:13:13 +02: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
Evgeny Gerashchenko 015da2f8ca More proper code to check if lambda is inlined. Parameter of inline function can be annotated with "noInline". 2015-04-08 15:14:15 +03:00
Stanislav Erokhin 4efb0dbf9a Fixed CAPTURED_IN_CLOSURE marker for primary constructor argument
#KT-7131 Fixed
2015-04-01 15:28:09 +03:00
Stanislav Erokhin 43e24f6b0d Fixed test data for new lambda syntax 2015-03-18 16:06:44 +03:00
Stanislav Erokhin 3b92cab9e0 Changed containing declaration for PropertyDeclarationInnerScope 2015-03-12 17:11:43 +03:00
Denis Zharkov f07566d30d Add warning for initializers with obsolete syntax
Expected 'init' keyword before class initializer
2015-03-11 17:45:26 +03:00
Evgeny Gerashchenko 897854b3dc KT-6671 Report unused constructor parameters
#KT-6671 fixed
2015-01-27 22:38:27 +03:00
Svetlana Isakova ce01c61811 Rename: auto cast -> smart cast 2014-10-01 18:52:52 +04:00
Alexey Sedunov 9fee8600cb Pseudocode: Do not generate implicit return instruction inside of
Unit-typed lambdas
 #KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Zalim Bashorov c767ffc3e7 Unit.VALUE -> Unit in testData 2014-07-25 17:16:40 +04:00
Alexander Udalov f7b6457139 Replace "jet" package name with "kotlin" in testData 2014-03-02 19:55:26 +04:00
Alexander Udalov 3dcd85bdb4 Add toString() to Any, fix all tests
#KT-4517 Fixed
2014-03-02 19:54:49 +04:00
Svetlana Isakova 4c1c9f8407 do not record smart cast to not nullable type separately 2014-02-12 12:48:14 +04:00
Svetlana Isakova 9063b3803e record smartcast to the most specific type 2014-02-12 12:48:14 +04:00
Svetlana Isakova 9ed57a5767 removed AutoCastReceiver
check subtype for receiver by AutoCastUtils.isSubTypeByAutoCast directly
 #KT-4403 Fixed
 #KT-4415 Fixed
2014-02-12 12:48:10 +04:00
Svetlana Isakova 5ef320173c generate pseudocode for functions in local classes
#KT-4405 In progress
 #KT-3501 Fixed
2014-02-11 21:07:10 +04:00
Svetlana Isakova 46b77f4472 don't report unnecessary smart cast on receiver 2013-12-11 19:53:50 +04:00
Nikolay Krasko 1675e45aee Enable basic spell check for Kotlin
#KT-4272 Fixed
2013-12-02 20:28:38 +04:00
Mikhael Bogdanov 868f4841be Inline keyword removal 2013-11-26 12:53:06 +04:00
Andrey Breslav 69cc11d035 Existing tests updated according to "'Else' is not required in 'when' if Unit is expected" 2013-09-13 22:05:37 +02:00
Evgeny Gerashchenko d502d45772 Disabled highlighting for variables which are captured in inlined closure. 2013-04-10 20:10:49 +04:00
Evgeny Gerashchenko 50b2f79b2e Removed tooltip for variable as function(-like) call. 2013-04-04 17:33:59 +04:00
Evgeny Gerashchenko f53af70ad6 Added separate highlighting keys for variables invoked as function and function-like. 2013-04-04 17:33:58 +04:00
Evgeny Gerashchenko b9e5704057 Updated test data and stdlib sources. 2013-02-13 18:08:37 +04:00
Evgeny Gerashchenko bbab0eebae Highlighting variable called as function. 2013-01-15 19:41:41 +04:00
Svetlana Isakova d0a6f6252d fixed: DEBUG_INFO_ERROR_ELEMENT should be visible in tests 2012-11-20 19:53:03 +04:00
Evgeny Gerashchenko 799a986812 Renamed *.jet to *.kt in test data of JetPsiCheckerTest. 2012-11-12 19:54:22 +04:00
Andrey Breslav 5eaa5b396b Removing usages of tuples from test data
(KT-2358 Drop tuples)
 #KT-2358 In progress
2012-09-18 20:27:09 +04:00
Evgeny Gerashchenko 2f89352d80 Added AUTOCAST mark when expression is used as for-loop iterable. 2012-09-14 16:12:16 +04:00
Andrey Breslav a267f65fa1 Front-end test data fixed to have no complex patterns
#KT-2359 In Progress
2012-09-05 14:18:40 +04:00
Svetlana Isakova b63d3905f9 KT-1256 Error highlighting in IDE should be less annoying
#KT-1256 fixed
2012-05-22 18:23:51 +04:00
Svetlana Isakova d4b816ef56 KT-1743 Analyze immutable local variables and parameters which are captured in closure
#KT-1743 fixed
2012-05-03 17:56:45 +04:00
Evgeny Gerashchenko 1123a4f438 Clarified error message for TYPE_MISMATCH_IN_BINDING_PATTERN. 2012-04-19 15:21:59 +04:00
Evgeny Gerashchenko 6a13510741 Replaced Diagnostic.getMessage() with DiagnosticRenderer.render() calls.
Made Diagnostic.getMessage() deprecated, introduced DiagnosticRender interface and default implementation for it.
2012-04-13 19:31:45 +04:00
Evgeny Gerashchenko 6b2e90126d Fixed highlighting for safe access dot. 2012-04-11 15:53:57 +04:00
Evgeny Gerashchenko 05fd46009d Replaced diagnostic factories so they show type FQ names instead of short names.
#KT-1137 fixed
2012-04-08 22:45:07 +04:00
Evgeny Gerashchenko c989b2e5ba Updated "Autocasts" test data in JetPsiCheckerTest. Replaced types with their FQ names. 2012-04-04 16:14:00 +04:00
Svetlana Isakova 9dc9e9984b KT-1572 Frontend doesn't mark all vars included in closure as refs. 2012-03-14 15:07:33 +04:00
Svetlana Isakova cc244fad94 KT-1191 Wrong detection of unused parameters
KT-1219 Incorrect 'unused value' error in closures
2012-02-24 12:09:02 +04:00
Stepan Koltsov 4b94eb5e2b rewrite owner when copying FunctionDescriptor from supertype scope
that fixes invocation:

>>> StringBuilder.length()

that was compiled to

>>> invokevirtual CharSequence.length()

and now compiles to

>>> invokevirtual StringBuilder.length()

Essentially patch rewrites FunctionDescriptor.containingDeclaration
when FunctionDescriptor is copied to subclass scope.

FunctionDescriptor now has kind field that can be
* DECLARATION (for "real" function, maybe abstract)
* DELEGATION
* FAKE_OVERRIDE (created for functions from supertypes)

All tests pass although some parts of code are buggy and ugly.

Random comments about this patch:

* FunctionDescriptor.overrides point to function descriptors of supertype scopes

* Filling of memberScope with supertypes is moved to OverrideResolver

* ExpressionCodegen.intermediateValueForProperty must be rewritten

* Patch adds not nice REDECLARATION reports (see compiler/testData/diagnostics/tests/*).
  Will be fixed later.
2012-02-10 20:36:40 +04:00
svtk becd713111 KT-234 Force when() expressions to have an 'else' branch
KT-973 Unreachable code
2012-01-18 13:31:42 +04:00
Andrey Breslav 3808bff1ce GreatSyntacticShift: Checker test data fixed 2011-12-21 11:24:04 +02:00
Andrey Breslav 8a93421ecb KT-597 Type inference failed
Resolution rules changed: now autocast and non-autocast candidates are judged together
2011-11-29 21:03:42 +03:00