Skip to content

Commit

Permalink
Add SuppressionAnnotationFilter. #1340
Browse files Browse the repository at this point in the history
  • Loading branch information
attatrol committed Feb 5, 2016
1 parent 4095edb commit 5d6dde1
Show file tree
Hide file tree
Showing 11 changed files with 1,122 additions and 1 deletion.
1 change: 1 addition & 0 deletions eclipsecs-sevntu-plugin/src/checkstyle_packages.xml
Expand Up @@ -20,5 +20,6 @@
<package name="whitespace"/>
</package>
<package name="grammars"/>
<package name="filters"/>
</package>
</checkstyle-packages>
3 changes: 2 additions & 1 deletion sevntu-checks/import-control.xml
Expand Up @@ -3,7 +3,7 @@
"-//Puppy Crawl//DTD Import Control 1.1//EN"
"http://www.puppycrawl.com/dtds/import_control_1_1.dtd">

<import-control pkg="com.github.sevntu.checkstyle.checks">
<import-control pkg="com.github.sevntu.checkstyle">

<allow pkg="antlr"/>
<allow pkg="org.antlr.v4.runtime"/>
Expand Down Expand Up @@ -67,6 +67,7 @@

<subpackage name="filters">
<allow pkg="java.lang.ref"/>
<allow class="com.github.sevntu.checkstyle.checks.DetailAstRootHolder" local-only="true"/>
</subpackage>

<subpackage name="gui">
Expand Down
@@ -0,0 +1,61 @@
////////////////////////////////////////////////////////////////////////////////
// checkstyle: Checks Java source code for adherence to a set of rules.
// Copyright (C) 2001-2016 the original author or authors.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
////////////////////////////////////////////////////////////////////////////////

package com.github.sevntu.checkstyle.checks;

import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;

/**
* Holds the link to the root of AST.
* Copy of FileContentsHolder.
* @author Mike McMahon
* @author Rick Giles
* @author attatrol
* @see com.puppycrawl.tools.checkstyle.checks.FileContentsHolder
*/
public class DetailAstRootHolder extends Check {
/** Weak reference on the root of the current AST. */
private static final ThreadLocal<DetailAST> ROOT = new ThreadLocal<>();

/**
* @return weak reference on the root of the current AST.
*/
public static DetailAST getASTRootReference() {
return ROOT.get();
}

@Override
public int[] getDefaultTokens() {
return new int[0];
}

@Override
/**
* Creates new weak reference on the root of AST.
*/
public void beginTree(DetailAST rootAST) {
ROOT.set(rootAST);
}

@Override
public void destroy() {
ROOT.remove();
}
}
@@ -0,0 +1,23 @@
////////////////////////////////////////////////////////////////////////////////
// checkstyle: Checks Java source code for adherence to a set of rules.
// Copyright (C) 2001-2016 the original author or authors.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
////////////////////////////////////////////////////////////////////////////////

/**
* Contains the checks that are bundled with the main distribution.
*/
package com.github.sevntu.checkstyle.checks;

0 comments on commit 5d6dde1

Please sign in to comment.