Top Description Fields Constructors Methods
org.codehaus.groovy.transform

public Class PackageScopeASTTransformation

extends AbstractASTTransformation
Class Inheritance
Annotations
@GroovyASTTransformation
phase:SEMANTIC_ANALYSIS
Imports
groovy.transform.PackageScope, .PackageScopeTarget, org.codehaus.groovy.GroovyBugError, org.codehaus.groovy.ast.ASTNode, .AnnotatedNode, .AnnotationNode, .ClassHelper, .ClassNode, .ConstructorNode, .FieldNode, .MethodNode, .PropertyNode, org.codehaus.groovy.ast.expr.ClassExpression, .ConstantExpression, .Expression, .ListExpression, .PropertyExpression, org.codehaus.groovy.control.CompilePhase, .SourceUnit, java.util.ArrayList, .Collections, .List

Handles transformation for the @PackageScope annotation.

Both the deprecated groovy.lang.PackageScope and groovy.transform.PackageScope annotations are supported. The former will be removed in a future version of Groovy.

Field Summary

Modifier and TypeField and Description
private static final String
private static final Class<T>
private static final ClassNode
private static final String
private static final Class<T>
private static final String
Inherited from org.codehaus.groovy.transform.AbstractASTTransformation:
RETENTION_CLASSNODEsourceUnit

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static List<PackageScopeTarget>
private static PackageScopeTarget
private static void
private static void
private static void
public void
visit(ASTNode[]
The ASTnodes when the call was triggered. Element 0 is the AnnotationNode that triggered this annotation to be activated. Element 1 is the AnnotatedNode decorated, such as a MethodNode or ClassNode. For global transformations it is usually safe to ignore this parameter.
nodes
,
SourceUnit
The source unit being compiled. The source unit may contain several classes. For global transformations, information about the AST can be retrieved from this object.
source
)

Implements org.codehaus.groovy.transform.ASTTransformation.visit.

The method is invoked when an AST Transformation is active.
private void
private static void
private void
Inherited from org.codehaus.groovy.transform.AbstractASTTransformation:
addErrorcheckIncludeExcludecheckIncludeExcludecheckIncludeExcludeUndefinedAwarecheckIncludeExcludeUndefinedAwarecheckNotInterfacecheckPropertyListcheckPropertyListcheckPropertyListcopyAnnotatedNodeAnnotationscopyAnnotatedNodeAnnotationsdeemedInternalNamegetAnnotationNamegetClassListgetMemberClassListgetMemberClassValuegetMemberClassValuegetMemberIntValuegetMemberListgetMemberStringListgetMemberStringValuegetMemberStringValuegetMemberValuehasAnnotationinitmemberHasValuenonGenericshouldSkipshouldSkipshouldSkipOnDescriptorshouldSkipOnDescriptorUndefinedAwareshouldSkipUndefinedAwareshouldSkipUndefinedAwaretokenize

Field Detail

LEGACY_TYPE_NAMEback to summary
private static final String LEGACY_TYPE_NAME
MY_CLASSback to summary
private static final Class<T> MY_CLASS
MY_TYPEback to summary
private static final ClassNode MY_TYPE
MY_TYPE_NAMEback to summary
private static final String MY_TYPE_NAME
TARGET_CLASSback to summary
private static final Class<T> TARGET_CLASS
TARGET_CLASS_NAMEback to summary
private static final String TARGET_CLASS_NAME

Constructor Detail

PackageScopeASTTransformationback to summary
public PackageScopeASTTransformation()

Method Detail

determineTargetsback to summary
private static List<PackageScopeTarget> determineTargets(Expression expr)
extractTargetback to summary
private static PackageScopeTarget extractTarget(PropertyExpression expr)
revertVisibilityback to summary
private static void revertVisibility(FieldNode fNode)
revertVisibilityback to summary
private static void revertVisibility(MethodNode mNode)
revertVisibilityback to summary
private static void revertVisibility(ClassNode cNode)
visitback to summary
public void visit(ASTNode[] nodes, SourceUnit source)

Implements org.codehaus.groovy.transform.ASTTransformation.visit.

Doc from org.codehaus.groovy.transform.ASTTransformation.visit.

The method is invoked when an AST Transformation is active. For local transformations, it is invoked once each time the local annotation is encountered. For global transformations, it is invoked once for every source unit, which is typically a source file.

Parameters
nodes:ASTNode[]

The ASTnodes when the call was triggered. Element 0 is the AnnotationNode that triggered this annotation to be activated. Element 1 is the AnnotatedNode decorated, such as a MethodNode or ClassNode. For global transformations it is usually safe to ignore this parameter.

source:SourceUnit

The source unit being compiled. The source unit may contain several classes. For global transformations, information about the AST can be retrieved from this object.

visitClassNodeback to summary
private void visitClassNode(ClassNode cNode, List<PackageScopeTarget> value)
visitFieldNodeback to summary
private static void visitFieldNode(FieldNode fNode)
visitMethodNodeback to summary
private void visitMethodNode(MethodNode methodNode)