Groovy Documentation

org.codenarc.rule.concurrency
Class VolatileLongOrDoubleFieldRule

java.lang.Object
  org.codenarc.rule.AbstractRule
      org.codenarc.rule.AbstractAstVisitorRule
          org.codenarc.rule.concurrency.VolatileLongOrDoubleFieldRule

class VolatileLongOrDoubleFieldRule
extends AbstractAstVisitorRule

This rule reports long or double fields which are declared as volatile. Java specifies that reads and writes from such fields are atomic, but many JVM's have violated this specification. Unless you are certain of your JVM, it is better to synchronize access to such fields rather than declare them volatile.


Property Summary
Class astVisitorClass

String name

int priority

 
Constructor Summary
VolatileLongOrDoubleFieldRule()

 
Method Summary
 
Methods inherited from class AbstractAstVisitorRule
shouldApplyThisRuleTo
 
Methods inherited from class AbstractRule
applyTo, createViolation, createViolation, createViolationForImport, createViolationForImport, getImportsSortedByLineNumber, getName, getPriority, packageNameForImport, setName, setPriority, sourceLineAndNumberForImport, sourceLineAndNumberForImport
 

Property Detail

astVisitorClass

Class astVisitorClass


name

String name


priority

int priority


 
Constructor Detail

VolatileLongOrDoubleFieldRule

VolatileLongOrDoubleFieldRule()


 

Groovy Documentation