victor.petukhov
46bd5ba107
Add alphabetical sorting diagnostics with same ranges
2019-02-14 12:31:42 +03:00
Mikhail Glukhikh
f3555daa60
Report UNUSED_PARAMETER on main parameter in 1.3+ #KT-26999 Fixed
2018-10-25 19:10:39 +03:00
Alexander Udalov
d1e1e274d9
Render property accessor annotations in .txt test data
...
If property accessor rendering is disabled in a test, render annotations
on accessors as use-site-targeted, as was done with
`@setparam:`-annotations. Otherwise they were lost
2018-10-24 18:17:12 +02:00
Anton Bannykh
d571d0ad51
JS: prohibit using experimental coroutines from 1.3
2018-09-10 14:18:44 +03:00
Alexander Udalov
fc87043cb3
Merge use-site targeted annotations into corresponding Annotations
...
Add PropertyDescriptor.backingField/delegateField to store annotations
on the field directly in an otherwise almost empty descriptor instance,
instead of storing them with use-sites in the corresponding property
descriptor. Instead of AnnotationWithTarget, create AnnotationDescriptor
instances in AnnotationSplitter. Change DescriptorRenderer to render
annotations on "related" declarations when needed, with the explicit
use-site target if applicable.
Most changes in diagnostic test data are related to the fact that
annotations which are known to have an incompatible use-site to the
declaration they're applied at (such as `@param:`-annotation on a
function), are now not loaded at all. It's fine because the code is
erroneous, so it doesn't really matter how do we load annotations with
invalid targets (some of this logic is also changed freely in subsequent
commits). Some changes are also explained by the fact that for example
an annotation on the property which is only applicable to FIELD is now
rendered with an explicit use-site target `@field:`, regardless of
whether it did have that use-site target syntactically or not.
Basically, after this change there's no point in calling
Annotations.getUseSiteTargetedAnnotations/getAllAnnotations anymore
because it's easier and more intuitive to just use Annotations of the
corresponding descriptor -- the backing / delegate field (introduced in
this commit) or the extension receiver / setter parameter (related
behavior was fixed in previous commits). Usages of
use-site-target-related methods will be refactored out in subsequent
commits
2018-09-06 19:13:11 +03:00
Ilmir Usmanov
2d04acba42
Update test data of compiler tests, except IR tests
2018-08-30 16:24:41 +03:00
Zalim Bashorov
b2d9254bfd
Fix testdata
2018-08-28 16:30:15 +03:00
Zalim Bashorov
589085369e
[JS FE] Unify how the compiler checks parameters and return types for external declarations
2018-08-21 17:09:33 +03:00
Zalim Bashorov
9d0b880f67
[JS FE] Prohibit inline classes as parameter type and return type of external declarations
...
#KT-26171 Fixed
2018-08-21 17:09:33 +03:00
Zalim Bashorov
839bce5236
[JS FE] Prohibit external inline classes
...
#KT-26138 Fixed
2018-08-21 17:09:33 +03:00
Mikhail Glukhikh
e76debb12b
Report UNUSED_PARAMETER in setter #KT-21129 Fixed
2018-05-04 18:04:57 +03:00
Alexander Udalov
71fe8c02a3
Fix rendering of type aliases
...
- render 'actual' modifier if it's present
- do not render a space after type parameter list
2018-02-05 13:38:06 +01:00
Kirill Rakhman
8bc020f31b
Fix modifier order in generated overriden functions
...
Fixes #KT-21600
2018-01-16 15:42:02 +01:00
Alexander Udalov
6f276c623b
Do not use IntelliJ extensions for uninitialized variable suppressor in JS
2017-11-13 13:04:54 +01:00
Alexey Andreev
e488cf13ad
JS: fix FE crashing when type argument count less than parameter count
...
See KT-20908
2017-10-30 13:10:35 +03:00
Alexey Andreev
a6e98c30d7
JS: fix crash when js function contains assignment with bad LHS
...
Fix KT-20905
2017-10-30 13:08:35 +03:00
Alexey Andreev
6adb62f3a2
JS: prohibit declaration names that clash with JS builtin functions
...
See KT-18095, KT-17475, KT-18105, KT-5259
2017-10-23 17:19:52 +03:00
Alexey Andreev
d9d565d8b0
JS: use 'external' word instead of 'native' in diagnostic messages
...
See KT-20639
2017-10-23 17:19:48 +03:00
Alexey Andreev
46526db8f0
JS: fix behaviour of char-returning functions with multiple inheritance
...
See KT-19772
2017-10-16 18:56:33 +03:00
Alexey Andreev
0269c3309a
JS: fix parsing of wrong delete operation in js function.
...
See KT-15294
2017-09-29 14:32:49 +03:00
Alexey Andreev
ca014468ee
JS: improve name clash checker to handle complicated cases
...
See KT-18010
2017-09-26 13:56:19 +03:00
Zalim Bashorov
30c7f633bd
KJS: don't load declarations marked by PlatformDependent annotation
...
#KT-17450 Fixed
2017-09-13 02:18:43 +03:00
Alexey Andreev
28c9d274ec
JS: prohibit illegal chars on dynamic call site
...
See KT-19540
2017-09-04 15:35:00 +03:00
Alexander Udalov
472959aca1
Improve rendering of modifiers in DescriptorRenderer
...
* Use bold font to render all modifiers
* Render 'external' according to the style guide, right after modality
2017-08-25 15:35:05 +03:00
Dmitry Petrov
83ec8aa918
typealias expansion fixes
...
- Exception on dynamic type in typealias argument expansion
#KT-18858 Fixed Target versions 1.1.5
- Wrong report location for repeated annotations in typealias arguments
#KT-18940 Fixed Target versions 1.1.5
- Don't drop type annotations for dynamic type
#KT-18944 Fixed Target versions 1.1.5
2017-07-11 10:33:39 +03:00
Mikhail Zarechenskiy
f5cd8c7e4d
Relax name shadowing warning on parameter names
...
#KT-17611 Fixed
2017-07-07 14:19:57 +03:00
Alexey Andreev
9375a1d984
Prohibit illegal identifiers in packages in JS BE
...
See KT-18032
2017-05-29 15:37:30 +03:00
Dmitry Neverov
cd24adac32
Detect redundant 'is' check
...
#KT-14187 Fixed
2017-05-15 11:24:35 +03:00
Mikhail Glukhikh
7271ca0b72
KT-13997 related: fix of JS relevant test
2017-05-05 11:17:52 +03:00
Mikhail Zarechenskiy
32f609ceee
Check lambda parameter for name shadowing
...
#KT-5160 Fixed
2017-04-17 17:12:44 +03:00
Mikhail Glukhikh
7a53b2f4c8
Introduce UNUSED_ANONYMOUS_PARAMETER for anonymous functions
...
It is not reported for 1.0 language version because
renaming to _ is not possible. It has weak warning severity
So #KT-8813 Fixed
So #KT-16875 Fixed
2017-04-04 14:23:30 +03:00
Anton Bannykh
fcffd190d0
JS: prohibited extension function arguments in external functions; removed extension receiver in jQuery declarations.
2017-03-03 20:37:59 +03:00
Alexander Udalov
bae955aafd
Serialize metadata for Cloneable and discard it during deserialization
...
#KT-16358 Fixed
2017-02-15 20:43:25 +03:00
Alexey Andreev
0f049a90aa
JS: prohibit nested classes, objects and enums in external interface. See KT-16012
2017-02-03 11:09:09 +03:00
Ilya Gorbunov
f4ef98c327
Remove test for named native
2017-01-30 19:21:41 +03:00
Alexey Andreev
06e8f7b328
JS: don't report error when FAKE function overrides external function with optional parameters. Report only when it overrides at least two such functions. See KT-15961
2017-01-30 17:26:07 +03:00
Ilya Gorbunov
3be1174824
Replace @native with external in tests
2017-01-27 01:29:15 +03:00
Alexey Andreev
ad4fb44827
JS: report about using of external interfaces in class literals
2017-01-25 18:09:22 +03:00
Alexey Andreev
deaac83e70
JS: report about wrong module usage in class literals. See KT-15253
2017-01-25 18:09:21 +03:00
Alexey Andreev
9000d54d8a
JS: when checking calls to JsModule declarations, check arguments passed to reified type parameters. See KT-15253
2017-01-25 18:09:20 +03:00
Alexey Andreev
8cbea903f4
JS: add checker that checks if JsQualifier has wrong format
2017-01-25 13:52:19 +03:00
Alexey Andreev
ba65e58fdd
JS: add checker to detect non-external declarations in files marked by JsModule or JsQualifier annotation
2017-01-25 13:52:19 +03:00
Alexey Andreev
26abc19aa6
JS: replace noImpl with definedExternally in diagnostics and their messages
2017-01-24 20:14:32 +03:00
Alexey Andreev
aedf8bd232
JS: replace noImpl with definedExternally in tests
2017-01-24 20:14:31 +03:00
Alexey Andreev
bc0550d7b7
JS: don't report about inline modifier on inline extension fun to external class
2017-01-24 12:27:02 +03:00
Alexey Andreev
245f23e7c2
JS: fix translation of references to external nested classes in files marked with @JsModule. See KT-15797
2017-01-19 16:30:57 +03:00
Alexey Andreev
daac24b62e
JS: prohibit referencing noImpl property from non-external declarations. See KT-15306
2017-01-19 13:09:06 +03:00
Alexey Andreev
199790276b
JS: prohibit dynamic values as handlers of property delegates. Prohibit delegation of classes by dynamic values. See KT-15283
2017-01-19 13:07:58 +03:00
Alexey Andreev
a4b2abc7d5
JS: prohibit spread operator and destructuring declaration in dynamic values. See KT-15283
2017-01-19 13:07:57 +03:00
Alexey Andreev
31d0e0b7c4
JS: prohibit .. operation on dynamic type. See KT-15184
2017-01-19 13:07:56 +03:00