Allon Mureinik has posted comments on this change.

Change subject: core: Add no-argument constructor check
......................................................................


Patch Set 1:

(3 comments)

Sorry for the delay, went completely under my radar.

Re: patterns/filters:
After rethinking it, I suggest we just drop the entire filtering concept and 
opt for simplicity - EVERYTHING under common or compat should adhere to this 
checkstyle, and this way we save ourselves the bugs of someone writing a class 
called MyParms instead of MyParameters and breaking GWT.
If we opt to leave the filtering, I accept that FilteringAPI is not the right 
way to go (as commented by Vojtec), but we should definitely fail the build if 
given an illegal regex, as agreed inline.

Regardless, I have a couple mote implementation comments, inline, but nothing 
there seems to major.

....................................................
File 
build-tools-root/ovirt-checkstyle-extension/src/main/java/checks/NoArgConstructorCheck.java
Line 44:     }
Line 45: 
Line 46:     @Override
Line 47:     public void visitToken(DetailAST classDef) {
Line 48:         if (!isClass(classDef) || !shouldCheckClass(classDef)) {
IIUC, the isClass check is redundant since  getDefaultTokens() already ensures 
you're only visiting CLASS_DEF items.
Line 49:             return;
Line 50:         }
Line 51: 
Line 52:         final DetailAST objBlock = 
classDef.findFirstToken(TokenTypes.OBJBLOCK);


Line 58:             if (child.getType() == TokenTypes.CTOR_DEF) {
Line 59:                 hasExplicitCtor = true;
Line 60:                 DetailAST ctorParams = 
child.findFirstToken(TokenTypes.PARAMETERS);
Line 61:                 if (ctorParams.getChildCount() == 0) {
Line 62:                     hasNoArgCtor = true;
I'd just return here. But I guess it's a matter of personal style.
Line 63:                     break;
Line 64:                 }
Line 65:             }
Line 66:             child = child.getNextSibling();


Line 77:         return classDef.findFirstToken(TokenTypes.LITERAL_CLASS) != 
null;
Line 78:     }
Line 79: 
Line 80:     boolean shouldCheckClass(DetailAST classDef) {
Line 81:         return filterPattern != null ? 
filterPattern.matcher(getFullyQualifiedClassName(classDef)).matches() : true;
filterPattern should never be null (after you change the build to fail if the 
pattern does not compile), so the ternary expression here can be ommited.
Line 82:     }
Line 83: 
Line 84:     String getFullyQualifiedClassName(DetailAST classDef) {
Line 85:         String prefix = resolvePackagePrefix(classDef);


-- 
To view, visit http://gerrit.ovirt.org/20274
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia4f9a00d6289374b433ed4419552420a3337da50
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Vojtech Szocs <vsz...@redhat.com>
Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com>
Gerrit-Reviewer: Einav Cohen <eco...@redhat.com>
Gerrit-Reviewer: Vojtech Szocs <vsz...@redhat.com>
Gerrit-Reviewer: Yair Zaslavsky <yzasl...@redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to