Commit Graph

74 Commits

Author SHA1 Message Date
Vladiwostok a3c473650b
Replace libdparse in IfElseSameCheck (#81)
* Fix & extend IfElseSameCheck

* Enable debug session

* Revert "Enable debug session"

This reverts commit e703fbe58db4c2def038b5473b5b127c4a3773d0.

* Replace common code with template

* Investigate failing workflows

* Revert "Investigate failing workflows"

This reverts commit 11e1dbf4935e492c18bb837611822df8bbb12efd.

* Remove check extension

* Trigger assign error only for the ternary operator

* Fix assignment error
2024-03-18 11:13:54 +02:00
Vladiwostok a805955768
Use DMD in NumberStyleCheck (#88)
* Replace libdparse with DMD in NumberStyleCheck

* Fix re-lexing for windows (CRLF terminators) files

* Improve unit test
2024-03-05 10:53:12 +02:00
Vladiwostok 4301f6a67e
Delete DuplicateAttributeCheck (#79) 2024-02-22 11:40:22 +02:00
Eduard Staniloiu a71b406c26 Fix branch after rebase 2024-02-05 17:31:35 +02:00
Eduard Staniloiu e7fb552799 Fix branch after rebase 2024-01-29 18:00:16 +02:00
Vladiwostok 7f22d69b47 Use DMD in RedundantStorageClassCheck (#84) 2024-01-29 16:48:32 +02:00
Vladiwostok 28703e9304 Replace libdparse in AsmStyleCheck (#75) 2024-01-29 16:47:06 +02:00
Vladiwostok 467a1034a1 Add null terminator to string pointers (#77) 2024-01-29 16:45:51 +02:00
lucica28 c6b61cf1f0 replace libdparse in trust_too_much visitor (#70) 2024-01-29 16:45:49 +02:00
lucica28 e348cd5d01 delete float operator check (#71) 2024-01-29 16:43:50 +02:00
lucica28 73b8da8f67 replace libdparse in unused label check (#65) 2024-01-29 16:40:16 +02:00
lucica28 293a6a7a09 replace libdparse in exception check (#68) 2024-01-29 16:38:38 +02:00
lucica28 dd644fbfee replace libdparse in useless assert (#63) 2024-01-29 16:15:20 +02:00
lucica28 d9ee7c8203 replace libdparse in statif if else visitor (#56) 2024-01-29 16:09:51 +02:00
lucica28 50c4d3b9b6 replace libdparse in redundant parens check (#61) 2024-01-29 16:07:39 +02:00
lucica28 396bedcd10 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
2024-01-29 16:05:33 +02:00
lucica28 8750717321 replace libdparse in backwards range check (#58) 2024-01-29 15:38:46 +02:00
lucica28 57601895f8 replace libdparse in builtin properties visitor (#52) 2024-01-29 15:34:59 +02:00
lucica28 8467cf3055 replace libdparse in logic precedence visitor (#54) 2024-01-29 15:33:05 +02:00
lucica28 e1639b4b10 replace libdparse in auto ref assignment (#51) 2024-01-29 15:31:30 +02:00
lucica28 710c184259 replace libparse in opequals without tohash visitor (#53) 2024-01-29 15:28:38 +02:00
lucica28 82bc26b7be replace libdpase in assert without msg visitor (#50) 2024-01-29 15:26:14 +02:00
lucica28 18a5a09a23 replace libdparse in local imports visitor (#45) 2024-01-29 15:16:16 +02:00
lucica28 1ce09a0cbd replace libdparse in constructor check (#43) 2024-01-29 15:14:31 +02:00
lucica28 7a017e049b replace libdparse in alias style visitor (#38) 2024-01-24 14:43:33 +02:00
lucica28 761778b3f4 replace libdparse in explicitly annotated unittests check (#44) 2024-01-24 14:35:27 +02:00
lucica28 dd1ab872c1 replace libdparse in length subtraction visitor (#42) 2024-01-24 14:29:46 +02:00
lucica28 1cf2f30c32 replace libdparse in redundant attributes visitor (#40) 2024-01-24 14:26:00 +02:00
lucica28 b4884e3a3a replace libdparse in imports sortedness visitor (#35)
* replace libdparse in imports sortedness visitor

* minor refactor
2024-01-24 13:53:35 +02:00
lucica28 8f625c2747 replace libparse in incorrect infinite range visitor (#33) 2024-01-24 13:50:42 +02:00
lucica28 16b69e503a replace libparse in final attribute visitor (#34) 2024-01-24 13:46:18 +02:00
lucica28 664b9e25d5 replace libdparse in delete check (#21)
* replace libdparse in delete check

* delete comment
2024-01-24 13:28:29 +02:00
lucica28 34e4073105 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
2024-01-24 13:25:41 +02:00
Lucian Danescu 150643c4d3 Replace libdparse in enum array functionality 2024-01-24 13:14:35 +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