|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sourceforge.pmd.CommonAbstractRule
net.sourceforge.pmd.AbstractJavaRule
net.sourceforge.pmd.AbstractRule
net.sourceforge.pmd.rules.DoubleCheckedLocking
public class DoubleCheckedLocking
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.
| 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(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, visitAll |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DoubleCheckedLocking()
| Method Detail |
|---|
public java.lang.Object visit(ASTClassOrInterfaceDeclaration node,
java.lang.Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRule
public java.lang.Object visit(ASTMethodDeclaration node,
java.lang.Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRule
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||