From b038879c2282d1fd7f0f7cdb2b6c92f8f30905aa Mon Sep 17 00:00:00 2001 From: Axel Ricard Date: Fri, 6 Oct 2023 22:18:01 +0200 Subject: [PATCH] scan UDA to disable linting: handle useless_initializer check --- src/dscanner/analysis/useless_initializer.d | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/dscanner/analysis/useless_initializer.d b/src/dscanner/analysis/useless_initializer.d index c482db2..ea8121d 100644 --- a/src/dscanner/analysis/useless_initializer.d +++ b/src/dscanner/analysis/useless_initializer.d @@ -92,7 +92,24 @@ public: override void visit(const(Declaration) decl) { _inStruct.insert(decl.structDeclaration !is null); + + const msgDisabled = () { + foreach(attr; decl.attributes) + { + if(this.isCheckDisabled(attr)) + { + disableErrorMessage(); + return true; + } + } + return false; + }(); + decl.accept(this); + + if(msgDisabled) + reenableErrorMessage(); + if (_inStruct.length > 1 && _inStruct[$-2] && decl.constructor && ((decl.constructor.parameters && decl.constructor.parameters.parameters.length == 0) || !decl.constructor.parameters))