Overview Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

net.sourceforge.pmd.rules
Class DoubleCheckedLocking

java.lang.Object
 extended by net.sourceforge.pmd.CommonAbstractRule
 extended by net.sourceforge.pmd.AbstractJavaRule
 extended by net.sourceforge.pmd.rules.DoubleCheckedLocking
All Implemented Interfaces:
JavaParserVisitor, Rule

public class DoubleCheckedLocking
extends AbstractJavaRule

void method() { if(x == null) { synchronized(this){ if(x == null) { x = new | method(); } } } 1. The error is when one uses the value assigned within a synchronized section, outside of a synchronized section. if(x == null) is outside of synchronized section x = new | method();

Very very specific check for double checked locking.

Author:
CL Gilbert (dnoyeb@users.sourceforge.net)

Field Summary
Fields inherited from interface net.sourceforge.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
Constructor Summary
DoubleCheckedLocking()
Method Summary
java.lang.Object visit(ASTClassOrInterfaceDeclaration node, java.lang.Object data)
java.lang.Object visit(ASTCompilationUnit compilationUnit, java.lang.Object data)
java.lang.Object visit(ASTFieldDeclaration fieldDeclaration, java.lang.Object data)
java.lang.Object visit(ASTMethodDeclaration node, java.lang.Object data)
Methods inherited from class net.sourceforge.pmd.AbstractJavaRule
addViolation, addViolation, addViolation, addViolationWithMessage, apply, getDeclaringType, importsPackage, isQualifiedName, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAll
Methods inherited from class net.sourceforge.pmd.CommonAbstractRule
addExample, addProperties, addProperty, addRuleChainVisit, asFixedMap, asFixedMap, end, equals, getBooleanProperties, getBooleanProperty, getBooleanProperty, getDescription, getDoubleProperties, getDoubleProperty, getDoubleProperty, getExample, getExamples, getExternalInfoUrl, getIntProperties, getIntProperty, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, getStringProperties, getStringProperty, getStringProperty, getTypeProperties, getTypeProperty, hashCode, hasProperty, include, propertiesByName, propertyDescriptorFor, setDescription, setExternalInfoUrl, setInclude, setMessage, setName, setPriority, setProperties, setProperty, setRuleClass, setRuleSetName, setSince, setUsesDFA, setUsesTypeResolution, start, usesDFA, usesRuleChain, usesTypeResolution
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

DoubleCheckedLocking

public DoubleCheckedLocking()
Method Detail

visit

public java.lang.Object visit(ASTCompilationUnit compilationUnit,
 java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class AbstractJavaRule

visit

public java.lang.Object visit(ASTClassOrInterfaceDeclaration node,
 java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class AbstractJavaRule

visit

public java.lang.Object visit(ASTFieldDeclaration fieldDeclaration,
 java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class AbstractJavaRule

visit

public java.lang.Object visit(ASTMethodDeclaration node,
 java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class AbstractJavaRule

Overview Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2011 InfoEther. All Rights Reserved.

AltStyle によって変換されたページ (->オリジナル) /