Commit Graph

388 Commits

Author SHA1 Message Date
Alexander Udalov 1a3209e1dc Drop traits with required classes
#KT-4771 Rejected
2015-06-17 16:23:58 +03:00
Denis Zharkov 70dbbd8fda Resolve constructors declared in traits and objects
It prevents exceptions and produces less red code

 #EA-68667 Fixed
2015-06-02 14:07:49 +03:00
Denis Zharkov eb80764d21 Introduce forceResolveLazyTypes into TypeResolutionContext
The main reason is to force type resolution when resolving
type arguments in class literal as annotation value argument:

@Ann(Array<String>::class) class Ann

`String` left unresolved unless this commit is applied.

Note, that currently forced calculations used only when bare types are allowed
as it's true for class literals resolution and currenlty it's enough.
2015-05-27 08:24:42 +03:00
Ilya Gorbunov 84ca26719d Deprecate meaningless or vague-defined operations with Char operands.
Change expected test output.
2015-05-27 00:58:35 +03:00
Denis Zharkov 89337ff51e Change deprecation rules for annotations in brackets
Also adjust quickfix for deprecated syntax
2015-05-20 09:24:56 +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
Andrey Breslav df6c20efa4 KT-7689 Wrong error message format for type of ... doesn't match to the type of overridden var-property
#KT-7689 Fixed
2015-05-18 19:26:29 +03:00
Valentin Kipyatkov 60b0236101 Corrected parser: incomplete code should never cause brace disbalance
Fixed KT-7539 fq name inserted when completing nested traits name

 #KT-7539
2015-05-16 17:15:12 +03:00
Mikhail Glukhikh 147bca3d22 Enum deprecated syntax detection implemented and integrated into DeclarationsChecker.
A lot of tests was changed to refactor deprecated syntax. Six new tests were added to check deprecated syntax detection.
Diagnostic for "enum entry uses deprecated super constructor": constructor is highlighted
Diagnostic for "enum entry uses deprecated or no delimiter".
One warning removed.
2015-05-15 16:13:34 +03:00
Dmitry Jemerov 625096466e IDE testdata: s/trait/interface 2015-05-13 16:13:13 +02:00
Denis Zharkov 849b8acbf8 Replace annotations with brackets in testData
Just in tests that changed after deprecation
2015-05-07 22:36:16 +03:00
Dmitry Jemerov 94071550e3 fix JetPsiCheckerTest 2015-04-29 16:33:38 +02:00
Dmitry Jemerov f374eec8f1 deprecating types after colon 2015-04-29 16:33:24 +02:00
Denis Zharkov 44a55e5bf6 Adjust testData to new labels syntax 2015-04-29 14:03:11 +03:00
Dmitry Jemerov 683d727c72 drop deprecated syntax for class objects 2015-04-27 15:14:33 +02:00
Mikhail Glukhikh a37ae6ba6d Test fixed accordingly with KT-3175 2015-04-16 20:48:48 +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
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
Evgeny Gerashchenko 9de5acf9a6 Removed indeterministic test. We have analogous test for diagnostics, so it is not a big problem. 2015-04-13 15:21:40 +03:00
Evgeny Gerashchenko 4ba0d2aba5 Updated quasi-indeterministic test data. After introducing new line marker provider, which invokes lazy resolution, diagnostic is reported on different element. 2015-04-08 21:15:28 +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
Pavel V. Talanov a986d913c3 Remove traces of class object constraints feature from parser, frontend, tests and psi 2015-04-01 20:09:34 +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
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Stanislav Erokhin 560c32c0f1 Added diagnostic error when in function declaration name was omitted 2015-03-12 17:11:44 +03:00
Stanislav Erokhin a33450395c Resolve parenthesized element as expression 2015-03-12 17:11:43 +03:00
Stanislav Erokhin 3b92cab9e0 Changed containing declaration for PropertyDeclarationInnerScope 2015-03-12 17:11:43 +03:00
Pavel V. Talanov 2987e72d29 Do not report redeclaration when outer class and default object's members clash
Previously we prohibited classes and properties with the same name (now it's unnecessary)
Add test for backends that they support qualified (by default object name) member references inside class body
2015-03-11 21:06:05 +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
Pavel V. Talanov 3cfcef9da4 Render warning on 'class object' as deprecated 2015-03-10 18:21:32 +03:00
Pavel V. Talanov 5540f09751 Report default object specific diagnostics on 'default' modifier 2015-03-06 19:37:02 +03:00
Pavel V. Talanov 59f192ef90 Replace 'class object' with 'default object' in renderers and test data
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Evgeny Gerashchenko 056daeaadb Don't mark parameters of get/set/propertyDelegated functions as unused.
#KT-5974 fixed
2015-03-05 18:42:16 +03:00
Pavel V. Talanov 48fbce9582 Refactor: process mentions of class object
Rename usages that refer to "default object" concept now
Test data file names are left as is
2015-03-03 20:57:08 +03:00
Stanislav Erokhin 57fd5cc84c Support local return in lambda without explicit return type 2015-02-24 14:14:49 +03:00
Evgeny Gerashchenko b1840ebd99 Suppressing unused parameter annotation when function is entry point. 2015-02-18 13:37:36 +03:00
Pavel V. Talanov 1972c2f177 Update test data for various tests
Due to slight semantic changes after class object refactor
2015-02-16 15:38:37 +03:00
Andrey Breslav 0e972acf8c == turned into a safe-call 2015-02-10 06:55:46 +01:00
Evgeny Gerashchenko 897854b3dc KT-6671 Report unused constructor parameters
#KT-6671 fixed
2015-01-27 22:38:27 +03:00
Valentin Kipyatkov 1f17d7adcd Changed language sematics: imports with '*' do not import packages anymore 2014-12-26 15:45:01 +03:00
Natalia Ukhorskaya 449ebc35ef Debugger: add ability to evaluate expressions on closing bracket 2014-12-23 14:40:25 +03:00
Natalia Ukhorskaya 73d62902d0 Debugger: use partialBodyResolve. Don't compete variables defined after context element 2014-12-12 13:42:35 +03:00
Denis Zharkov 654411a0b0 Refactored tests using Array constructor:
Some moved to tests with stdlib
Some changed to use arrayOfNulls
2014-12-11 16:04:03 +03:00
Zalim Bashorov 65ef7525ce Allow to use dynamic types for JS projects in IDEA. 2014-12-10 22:48:00 +03:00
Evgeny Gerashchenko a94f7f10b0 Testing highlight type for all "unused" diagnostics. 2014-12-08 17:30:48 +03:00
Evgeny Gerashchenko a3fdce8131 Highlighting "as Foo" for useless casts in gray.
#KT-6070 fixed
2014-12-08 17:30:47 +03:00
Alexander Udalov a7b88e9485 Make CharSequence.length a function instead of property
And String.length as well.

This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.

A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)

 #KT-3571 Fixed
2014-11-27 20:38:17 +03:00
Nikolay Krasko 722624f0a4 Add test about platform static checks in ide 2014-11-25 17:16:15 +03:00