org.codehaus.groovy.transform.stc

## Class SharedVariableCollector

- java.lang.Object
- - org.codehaus.groovy.ast.CodeVisitorSupport
  - - org.codehaus.groovy.ast.ClassCodeVisitorSupport
    - - org.codehaus.groovy.transform.stc.SharedVariableCollector

All Implemented Interfaces:
  GroovyClassVisitor, GroovyCodeVisitor

    public class SharedVariableCollector
    extends ClassCodeVisitorSupport

A visitor which collects the list of variable expressions which are closure shared.

### Constructor Summary

Constructors
Constructor and Description
`SharedVariableCollector(SourceUnit unit)`

### Method Summary

Methods
`java.util.Set<VariableExpression>` `getClosureSharedExpressions()`
`protected SourceUnit` `getSourceUnit()`
`void` `visitVariableExpression(VariableExpression expression)`

### Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport

`addError, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop`

### Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport

`visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SharedVariableCollector

    public SharedVariableCollector(SourceUnit unit)

### Method Detail

#### getSourceUnit

    protected SourceUnit getSourceUnit()

Specified by:
  `getSourceUnit` in class `ClassCodeVisitorSupport`

#### getClosureSharedExpressions

    public java.util.Set<VariableExpression> getClosureSharedExpressions()

#### visitVariableExpression

    public void visitVariableExpression(VariableExpression expression)

Specified by:
  `visitVariableExpression` in interface `GroovyCodeVisitor`
Overrides:
  `visitVariableExpression` in class `CodeVisitorSupport`