Commit Graph

71 Commits

Author SHA1 Message Date
Eduard Staniloiu 6b00b2e2ab Fix branch after rebase 2025-01-12 16:21:56 +02:00
Eduard Staniloiu b60171f00d Fix branch after rebase 2025-01-12 16:21:56 +02:00
Vladiwostok 274d0b301d Use DMD in RedundantStorageClassCheck (#84) 2025-01-12 16:21:54 +02:00
Vladiwostok 9250d2dc98 Replace libdparse in AsmStyleCheck (#75) 2025-01-12 16:21:51 +02:00
Vladiwostok fdab43bee7 Add null terminator to string pointers (#77) 2025-01-12 16:21:51 +02:00
lucica28 3bd9b5c8cd replace libdparse in trust_too_much visitor (#70) 2025-01-12 16:21:51 +02:00
lucica28 593b9c5d88 delete float operator check (#71) 2025-01-12 16:21:51 +02:00
lucica28 aa2e2d933e replace libdparse in unused label check (#65) 2025-01-12 16:21:49 +02:00
lucica28 e88ba52754 replace libdparse in exception check (#68) 2025-01-12 16:21:48 +02:00
lucica28 6a832f4411 replace libdparse in useless assert (#63) 2025-01-12 16:21:48 +02:00
lucica28 60fd082eb1 replace libdparse in statif if else visitor (#56) 2025-01-12 16:21:48 +02:00
lucica28 235e9d0884 replace libdparse in redundant parens check (#61) 2025-01-12 16:21:48 +02:00
lucica28 cb432bc651 update dmd and include the API needed for semantic analysis (#66)
* update dmd and include the API needed for semantic analysis

* update libparse + initial implementation for properly documented public functions

* test

* refactor

* update workflows

* delete unused code
2025-01-12 16:21:48 +02:00
lucica28 b90a8620ce replace libdparse in backwards range check (#58) 2025-01-12 16:21:48 +02:00
lucica28 d07ac30c6f replace libdparse in builtin properties visitor (#52) 2025-01-12 16:21:48 +02:00
lucica28 da10937067 replace libdparse in logic precedence visitor (#54) 2025-01-12 16:21:48 +02:00
lucica28 7faa2cbae3 replace libdparse in auto ref assignment (#51) 2025-01-12 16:21:48 +02:00
lucica28 00eaef95b6 replace libparse in opequals without tohash visitor (#53) 2025-01-12 16:21:48 +02:00
lucica28 e6af600921 replace libdpase in assert without msg visitor (#50) 2025-01-12 16:21:48 +02:00
lucica28 a3a5982e2c replace libdparse in local imports visitor (#45) 2025-01-12 16:21:46 +02:00
lucica28 010ac1d3b7 replace libdparse in constructor check (#43) 2025-01-12 16:21:45 +02:00
lucica28 07f97fb4c5 replace libdparse in alias style visitor (#38) 2025-01-12 16:21:45 +02:00
lucica28 65720ab41f replace libdparse in explicitly annotated unittests check (#44) 2025-01-12 16:21:45 +02:00
lucica28 50e992c219 replace libdparse in length subtraction visitor (#42) 2025-01-12 16:21:44 +02:00
lucica28 bf0c847384 replace libdparse in redundant attributes visitor (#40) 2025-01-12 16:21:43 +02:00
lucica28 bb16676c98 replace libdparse in imports sortedness visitor (#35)
* replace libdparse in imports sortedness visitor

* minor refactor
2025-01-12 16:21:43 +02:00
lucica28 a3efa880e8 replace libparse in incorrect infinite range visitor (#33) 2025-01-12 16:21:43 +02:00
lucica28 c63616f1d4 replace libparse in final attribute visitor (#34) 2025-01-12 16:21:43 +02:00
lucica28 6ae996fea6 replace libdparse in delete check (#21)
* replace libdparse in delete check

* delete comment
2025-01-12 16:21:42 +02:00
lucica28 500f3b30ea replace libdparse in objectconst functionality + unittests integration with dmd (#17)
* replace libdparse in objectconst functionality + unittests integration with dmd

* updated dmd

* run tests

* use templates

* visit aggregate declaration

* updated dmd

* solve linter seg fault

* get rid of dup + refactor

* fix typo
2025-01-12 16:21:38 +02:00
Lucian Danescu acf6814258 Replace libdparse in enum array functionality 2025-01-12 16:21:34 +02:00
WebFreak001 8612841365 fix compilation on old compilers 2023-10-25 08:49:37 +02:00
WebFreak001 42033dcc55 add BaseAnalyzerArguments to keep ctor changes sane
also immediately makes tokens a part of it

This struct can for example precompute token indices for line endings
2023-10-25 08:49:37 +02:00
Robert Schadek b43c8f45cf Always Check Curly
Check that if|else|for|foreach|while|do|try|catch
are always followed by a BlockStatement aka. { }

closer

can not get the test to work

try to get the AutoFix in place

maybe a fix

nicer messages

some formatting

more tinkering

still nothing

autofix work now

AutoFix name

message to message_postfix
2023-09-24 19:35:46 +02:00
WebFreak001 c1e051bfba fix infinite allocating in context formatter 2023-07-10 13:57:27 +02:00
Jan Jurzitza fed654441f
fix #916 autofix CLI, add integration test for it (#917) 2023-07-09 13:09:21 +02:00
WebFreak001 3345a1953a improve public auto fix API 2023-07-08 23:09:33 +02:00
WebFreak001 43caad72a8 add CLI API to get autofixes at location 2023-07-08 23:09:33 +02:00
WebFreak001 53c9536332 add startIndex, endIndex support to format string 2023-07-08 23:09:33 +02:00
WebFreak001 4194e6af0c add `dscanner fix` command 2023-07-08 23:09:33 +02:00
WebFreak001 48cec8a6f4 implement indentation aware autofixes 2023-07-08 23:09:33 +02:00
WebFreak001 93aae57469 add autofix testing API 2023-07-08 23:09:33 +02:00
WebFreak001 f12319d5a8 add autofix whitespace collapsing API 2023-07-08 23:09:33 +02:00
Christian Köstlin 35d2cf4177 feature: Provide predefined error format compatible with dmds output
an output parser that works with dmd / ldc just works (tm) witha
dscanner as well
2023-07-07 00:15:04 +02:00
WebFreak001 1201a68f66 Only call Win32 API to enable colored output once 2023-07-05 22:41:42 +02:00
WebFreak001 a676bb13fb fix selective imports 2023-07-02 13:33:11 +02:00
WebFreak001 78f2b5a420 add colored output option
also adds a simpler way to invoke D-Scanner for users that uses this new
UI by default: `dscanner lint FILES...`
2023-07-02 13:33:11 +02:00
WebFreak001 146fec75d8 add index and endIndex to JSON formats 2023-06-29 17:43:30 +02:00
WebFreak001 b115a6333a also add byte indices to diagnostic ranges
For tools wanting to read from the source file this makes it much easier
to look up the code.
2023-06-29 17:43:30 +02:00
WebFreak001 83eb9c5c2e add built-in report formats incl. GitHub Actions
use on ourself and enable unused variables test to do first test in CI
2023-06-29 14:57:32 +02:00