Jinseong Jeon
e8028e7825
FIR checker: report nullable/non-class LHS of class literals
2021-03-04 17:09:52 +03:00
Mikhail Glukhikh
d7a6fc80b0
FIR: don't report CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT on variables
2021-03-04 16:13:50 +03:00
Br0mm
dd3bc1a964
FIR: Introduce CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT diagnostic
2021-03-04 16:13:50 +03:00
Jinseong Jeon
f1fa290d49
FIR checker: report val reassignment
2021-03-03 12:27:11 +03:00
Tianyu Geng
bdeecfc188
FIR: check multiple vararg param and forbidden vararg type
2021-02-24 13:50:46 +03:00
Mikhail Glukhikh
34c90aab3b
FIR: introduce & use REFERENCE_BY_QUALIFIER positioning strategy
2021-02-19 18:24:46 +03:00
Mark Punzalan
2f450549ab
FIR IDE: Update FIR diagnostic test data for
...
INAPPLICABLE_LATEINIT_MODIFIER.
2021-02-15 19:37:14 +01:00
Mikhail Glukhikh
0ee4f1f393
FIR: more exact nullability determination in potential UNSAFE_CALL check
2021-01-29 16:55:09 +03:00
Jinseong Jeon
e72ddbcbfe
FIR checker: differentiate UNSAFE_CALL from INAPPLICABLE_CANDIDATE
...
To do so, inside the root cause of inapplicable candidate errors,
we will record expected/actual type of receiver, if any.
That will help identifying inapplicable calls on nullable receiver.
2021-01-29 16:54:23 +03:00
Jinseong Jeon
fa0b933bc8
FIR checker: add diagnostics for missing/ambiguous component calls
2021-01-21 16:06:10 +03:00
Jinseong Jeon
de592f4f67
FIR checker: introduce FunctionChecker alias
...
and use it to add support diagnostic FUNCTION_DECLARATION_WITH_NO_NAME
2021-01-21 16:06:09 +03:00
Jinseong Jeon
f1d8a6e5d1
FIR checker: introduce DECLARATION_SIGNATURE_OR_DEFAULT positioning strategy
...
and fix CONFLICTING_OVERLOADS to use it
2021-01-21 16:06:09 +03:00
Mikhail Glukhikh
6cee4e968e
[FIR] Don't call componentX for anonymous destructuring entry
2021-01-18 08:28:15 +03:00
Jinseong Jeon
39df3e2b0a
FIR checker: introduce member function checker
2021-01-15 14:38:35 +03:00
Jinseong Jeon
03cb0c3cd1
FIR checker: introduce PropertyChecker alias
...
and use it to add diagnostic
ININITIALIZER_REQUIRED_FOR_DESTRUCTURING_DECLARATION
2021-01-15 12:45:25 +03:00
Dmitriy Novozhilov
e6b5cb5216
[TD] Update diagnostics test data due to new test runners
...
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00
Jinseong Jeon
5167d69b7c
FIR checker: introduce member property checker
2020-12-04 16:58:30 +03:00
Denis Zharkov
f97cc0b62d
FIR: Rework receivers processing in resolution
...
- Put extensionReceiver to candidate even if it's explicit (for sake of clarity)
- Split CheckReceiver (dispatch part should only check nullability)
2020-11-16 15:50:39 +03:00
Dmitriy Novozhilov
419f54259c
[TEST] Change semantics of CHECK_TYPE directive and update testdata
...
Previously helpers from checkType.kt was in special package, and
if directive was enabled then test runner (`AbstractDiagnosticTest`)
injected additional imports to test files and removed them after test
was completed.
It's very hard to support such behavior in new test infrastructure so
there was a decision about changing `CHECK_TYPE`:
1. All helpers from `checkType.kt` now stays in default package
2. `CHECK_TYPE` only adds `checkType.kt` to set of analyzed files
and don't modify their content
For test which are written in default package (most of tests actually)
there are no changes. On the other hand if there is a test where dev
want to use checkType functions in testfile with some package then he
should explicitly import functions which he needed (`checkSubtype`,
`checkType`, `_`)
2020-11-13 10:36:12 +03:00
Dmitriy Novozhilov
67b262aa34
[FIR] Move tracking candidate applicability from CheckerSink to Candidate
2020-11-11 09:52:56 +03:00
Jinseong Jeon
bf918e6184
FIR: hide local types if needed
2020-09-03 14:24:31 +03:00
Nick
7e1c2cfd36
[FIR] Add diagnostic INAPPLICABLE_LATEINIT_MODIFIER + some builtin types
2020-08-24 11:06:06 +03:00
Nick
091e12c093
[FIR] Add diagnostic CONFLICTING_PROJECTION
2020-08-24 11:06:04 +03:00
Nick
4669e019d1
[FIR] Add diagnostic CONFLICTING_OVERLOADS & REDECLARATION
2020-08-10 10:09:37 +03:00
Nick
0f213e58db
[FIR] Add diagnostic for primary constructor not called
2020-08-04 22:28:48 +03:00
Nick
889324e972
[FIR] Ignore failing test, improve DiagnosticKind, fix UPPER_BOUND
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
551bdd267d
[FIR] Introduce WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostic
2020-08-02 18:19:44 +03:00
Mikhail Glukhikh
0804c6a0f3
[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
...
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
Nick
26e3a111d6
[FIR] Add diagnostics for object related problems
2020-07-31 19:34:55 +03:00
Dmitriy Novozhilov
f283f2db43
[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible
...
Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
2020-07-28 20:46:56 +03:00
Alexander Udalov
ba948cda38
Report warning on characters which can cause problems on Windows
...
As soon as we fix KT-17438, this warning will be turned into an error.
2020-07-02 21:19:28 +02:00
Dmitriy Novozhilov
87859b0faa
[FIR] Introduce new algorithm for building CFG for declarations
2020-06-19 15:53:00 +03:00
Mikhail Glukhikh
4b819aa028
Remove incorrect comment from old FE diagnostic test
2020-04-20 18:40:48 +03:00
Nick
c4b7ac994b
[FIR] Support diagnostic ABSTRACT_SUPER_CALL
2020-04-20 18:33:40 +03:00
simon.ogorodnik
f573719cc1
[FIR] Fix missing receiver type if anonymous function without label
2020-04-08 14:56:17 +03:00
Mikhail Glukhikh
036b6c63f6
[FIR] During resolve, set correctly property reference type in delegate
2020-04-03 13:18:47 +03:00
Mikhail Glukhikh
b27152f903
Replace some FIR syntax errors with more proper diagnostics
2020-03-27 16:46:59 +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
Mikhail Zarechenskiy
4542f3b720
[NI] Finish analysis for coerced last lambda expressions if needed
2020-02-17 10:29:45 +03:00
Dmitriy Novozhilov
5ceb68f19f
[FIR-TEST] Update some testdata
2020-02-10 10:54:04 +03:00
Simon Ogorodnik
13132e69a3
[FIR] Start enum entries reworking
2020-01-10 10:23:50 +03:00
Mikhail Glukhikh
a8a50fa657
Fix raw FIR building with parenthesized expression as selector
2019-12-27 09:57:34 +03:00
Dmitriy Novozhilov
e83941a98e
[NI] Don't resolve delegates twice
...
#KT-31219 Fixed
#KT-31679 Fixed
#KT-32249 Fixed
2019-12-26 10:54:06 +03:00
Dmitriy Novozhilov
2536fa0cd5
[FIR-TEST] Add new testdata generated after changes in previous commit
2019-12-12 16:11:46 +03:00
Mikhail Zarechenskiy
a83225218f
[NI] Fix checks for infix/operator conventions
2019-09-20 17:56:06 +03:00
Mikhail Zarechenskiy
bcc8802014
[NI] Avoid constraints from expected type for effectively empty system
...
Expression will be checked against expected type later.
Theoretically, this is not very good, but it aligns with the old
inference, plus it helps avoiding multiple type mismatch diagnostics.
2019-04-17 12:55:12 +03:00
Dmitriy Novozhilov
f186c83b15
KT-25383 fix
2019-02-21 12:04:23 +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
958aeff94b
Prohibit type parameters for local variables in LV >= 1.4 & -progressive
...
#KT-8341 Fixed
2018-12-24 12:47:58 +03:00