FenstonSingel
b7d8e879a6
[FIR] Support 4 diagnostics for pairs of modifiers
...
In particular, this commit includes:
* Attempt to abstract access to FirSourceElement via FirModifier
* Add more visit functions to DeclarationCheckersDiagnosticComponent
* Add messages+factories for 4 modifier-related errors and warnings
* Introduce FirModifierChecker
2020-03-27 12:34:29 +03:00
Mikhail Glukhikh
8884cbe415
Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed
2020-03-05 09:39:40 +03:00
Ilya Gorbunov
b1766b167f
Remove mod function usage from tests
...
#KT-26654
2020-01-23 19:28:23 +03:00
Dmitriy Novozhilov
2536fa0cd5
[FIR-TEST] Add new testdata generated after changes in previous commit
2019-12-12 16:11:46 +03:00
victor.petukhov
30762a450a
Wrap diagnostic parameters to double quotes and split by comma instead of semicolon
2019-02-14 12:31:42 +03:00
victor.petukhov
46bd5ba107
Add alphabetical sorting diagnostics with same ranges
2019-02-14 12:31:42 +03:00
Mikhail Zarechenskiy
7595cb23ab
Raise deprecation level for mod operators to ERROR in stdlib
...
#KT-25217 In Progress
2018-09-09 23:55:36 +03:00
Mikhail Zarechenskiy
4ebd11a7ae
Refactoring: rename parameter to argument for annotation diagnostics
2018-03-22 03:59:55 +03:00
Mikhail Zarechenskiy
8757298994
Add diagnostics to test data from NI
2017-11-29 02:54:26 +03:00
Mikhail Zarechenskiy
a71238bf94
Place !WITH_NEW_INFERENCE directive to diagnostics test data
2017-11-29 02:53:49 +03:00
Dmitry Petrov
488a825349
Specialize diagnostic message for nested classes not allowed
2017-09-11 09:42:18 +03:00
Mikhail Zarechenskiy
875fdef917
Add tests for obsolete issues
...
#KT-15913 Obsolete
#KT-12248 Obsolete
2017-03-01 14:07:09 +03:00
Denis Zharkov
d1b17f050b
Prohibit objects inside inner classes
...
#KT-16232 Fixed
2017-02-20 13:24:42 +03:00
Mikhail Zarechenskiy
d84c303029
Do not report 'const' inapplicability on property of error type
...
#KT-12477 Fixed
2017-02-08 15:42:48 +03:00
Mikhail Zarechenskiy
9f0403f72c
Fix exception at accidentally wrong annotation argument type
...
#KT-13740 Fixed
2017-02-07 14:07:13 +03:00
Mikhail Zarechenskiy
655cf82534
Copy compileTimeInitializer for const property descriptor
...
#KT-15802 Fixed
2017-02-07 14:07:06 +03:00
Mikhail Zarechenskiy
b0c3c7463b
Fix internal compiler error about arithmetic exception
...
#KT-8264 Fixed
2017-01-26 03:39:50 +03:00
Mikhail Zarechenskiy
160d43fe2e
Introduce new feature: division by zero in constant expressions
2016-12-02 17:42:56 +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
Valentin Kipyatkov
ec51076355
DescriptorRenderer to render annotations for all types + separate option to render annotation arguments + use it in IdeDescriptorRenderers
2016-10-11 23:38:54 +03:00
Nikolay Krasko
eee45e91ce
Add more tests for PropertyAccessorDescriptor.isDeafult() usages
2016-06-29 16:16:31 +03:00
Denis Zharkov
d0acb3674a
Fix rendered testData
...
New members in enum member scope
2016-05-16 15:38:13 +03:00
Alexander Udalov
1b8f934b54
Delete deprecated enum 'values' property
2016-02-19 22:28:44 +03:00
Ilya Gorbunov
4dde59368c
Fix tests not to duplicate array constructor definitions as they are available now in builtins.
2015-12-14 04:29:18 +03:00
Mikhail Glukhikh
c8b50eec1e
Enum.values: deprecation (warning) --> deprecation (error)
2015-12-11 11:11:42 +03:00
Michael Nedzelsky
9aae5e6457
fix KT-9553 Invalid const initializers must be compile-time errors
...
#KT-9553 Fixed
2015-11-27 14:29:44 +03:00
Mikhail Glukhikh
dc60c62781
Enum.values is now deprecated but Enum.values() is no more deprecated
2015-11-23 17:29:36 +03:00
Alexey Tsvetkov
dc27363452
Remove @annotation from test data
2015-10-19 20:45:01 +03:00
Denis Zharkov
1c02231cda
Regenerate rendered descriptors after transforming Enum.values to property
2015-10-17 17:46:16 +03:00
Alexander Udalov
ec1b4776fe
Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead
2015-10-14 20:45:25 +03:00
Mikhail Glukhikh
f8a356747e
Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated
2015-10-14 20:40:13 +03:00
Yan Zhulanow
dc8e796e49
getValue()/setValue() should be marked with 'operator'
2015-10-14 01:29:09 +03:00
Dmitry Petrov
5d9ee7efee
Java 8 rules for method overrides:
...
- base class method wins against a (default) interface method,
so an abstract base class method should always be implemented
in a derived class;
- interface methods clash regardless of abstract/default
with possibly undefined behavior at run-time,
so a class or interface should always define its own method
for methods inherited from multiple interfaces and not from base class;
- meaningful diagnostics for class inheriting conflicting JVM signatures.
Since no override will happen under Java 8 rules,
ACCIDENTAL_OVERRIDE is misleading for this case;
- update testData.
2015-10-12 14:12:31 +03:00
Yan Zhulanow
1f2b4e20fe
Replace get() and set() to getValue() and setValue() (property delegates)
2015-10-09 22:49:16 +03:00
Denis Zharkov
8d13f08271
Load static final fields of appropriate types from Java as const
2015-09-23 08:20:57 +03:00
Denis Zharkov
b2b76d16d0
Add checks for const modifier applicability
...
1. Must be initialized in-place
2. Can not be open/abstract
3. Can not be an override
4. Can not be delegated
5. Initializer must be a compile-time constant
6. No getters
7. `const` is not applicable to vars or locals
8. `const val` should be whether top-level property or object member
2015-09-23 08:20:56 +03:00