Package org.codehaus.janino.util

# Class DeepCopier

java.lang.Object
org.codehaus.janino.util.DeepCopier

public class DeepCopier extends Object
Creates deep copies of AST elements.

The main purpose of this class is to extend it, and modify the AST while it is being copied. For an example, see `org.codehaus.janino.tests.AstTest.testMethodToLabeledStatement()`.

## Constructor Summary

Constructors
Constructor
Description
`DeepCopier()`

## Method Summary

Modifier and Type
Method
Description
`Java.AbstractCompilationUnit`
`copyAbstractCompilationUnit(Java.AbstractCompilationUnit subject)`
`Java.AccessModifier`
`copyAccessModifier(Java.AccessModifier am)`
`Java.ConstructorInvocation`
`copyAlternateConstructorInvocation(Java.AlternateConstructorInvocation subject)`
`Java.Lvalue`
`copyAmbiguousName(Java.AmbiguousName subject)`
`Java.Annotation`
`copyAnnotation(Java.Annotation subject)`
`Java.Annotation[]`
`copyAnnotations(Java.Annotation[] subject)`
`Java.AnonymousClassDeclaration`
`copyAnonymousClassDeclaration(Java.AnonymousClassDeclaration subject)`
`Java.Lvalue`
`copyArrayAccessExpression(Java.ArrayAccessExpression subject)`
`Java.Rvalue`
`copyArrayCreationReference(Java.ArrayCreationReference subject)`
`Java.ArrayInitializer`
`copyArrayInitializer(Java.ArrayInitializer subject)`
`Java.ArrayInitializerOrRvalue`
`copyArrayInitializerOrRvalue(Java.ArrayInitializerOrRvalue subject)`
`Java.ArrayInitializerOrRvalue[]`
`copyArrayInitializerOrRvalues(Java.ArrayInitializerOrRvalue[] subject)`
`Java.Rvalue`
`copyArrayLength(Java.ArrayLength subject)`
`Java.ArrayType`
`copyArrayType(Java.ArrayType subject)`
`Java.BlockStatement`
`copyAssertStatement(Java.AssertStatement subject)`
`Java.Rvalue`
`copyAssignment(Java.Assignment subject)`
`Java.Atom`
`copyAtom(Java.Atom subject)`
`Java.Rvalue`
`copyBinaryOperation(Java.BinaryOperation subject)`
`Java.Block`
`copyBlock(Java.Block b)`
`Java.BlockStatement`
`copyBlockStatement(Java.BlockStatement subject)`
`List<Java.BlockStatement>`
`copyBlockStatements(Collection<? extends Java.BlockStatement> subject)`
`Java.Rvalue`
`copyBooleanLiteral(Java.BooleanLiteral subject)`
`Java.BlockStatement`
`copyBreakStatement(Java.BreakStatement subject)`
`Java.Rvalue`
`copyCast(Java.Cast subject)`
`Java.CatchClause`
`copyCatchClause(Java.CatchClause subject)`
`List<Java.CatchClause>`
`copyCatchClauses(Collection<? extends Java.CatchClause> subject)`
`Java.CatchParameter`
`copyCatchParameter(Java.CatchParameter subject)`
`Java.Rvalue`
`copyCharacterLiteral(Java.CharacterLiteral subject)`
`Java.Rvalue`
`copyClassInstanceCreationReference(Java.ClassInstanceCreationReference subject)`
`Java.Rvalue`
`copyClassLiteral(Java.ClassLiteral subject)`
`Java.CompilationUnit`
`copyCompilationUnit(Java.CompilationUnit subject)`
`Java.Rvalue`
`copyConditionalExpression(Java.ConditionalExpression subject)`
`Java.ConstructorDeclarator`
`copyConstructorDeclarator(Java.ConstructorDeclarator subject)`
`Java.ConstructorInvocation`
`copyConstructorInvocation(Java.ConstructorInvocation subject)`
`Java.BlockStatement`
`copyContinueStatement(Java.ContinueStatement subject)`
`Java.Rvalue`
`copyCrement(Java.Crement subject)`
`Java.BlockStatement`
`copyDoStatement(Java.DoStatement subject)`
`Java.ElementValue`
`copyElementValue(Java.ElementValue subject)`
`Java.ElementValue`
`copyElementValueArrayInitializer(Java.ElementValueArrayInitializer subject)`
`Java.ElementValuePair`
`copyElementValuePair(Java.ElementValuePair subject)`
`Java.ElementValuePair[]`
`copyElementValuePairs(Java.ElementValuePair[] subject)`
`Java.ElementValue[]`
`copyElementValues(Java.ElementValue[] subject)`
`Java.BlockStatement`
`copyEmptyStatement(Java.EmptyStatement subject)`
`Java.EnumConstant`
`copyEnumConstant(Java.EnumConstant subject)`
`Java.BlockStatement`
`copyExpressionStatement(Java.ExpressionStatement es)`
`Java.Lvalue`
`copyFieldAccess(Java.FieldAccess subject)`
`Java.Lvalue`
`copyFieldAccessExpression(Java.FieldAccessExpression subject)`
`Java.FieldDeclaration`
`copyFieldDeclaration(Java.FieldDeclaration subject)`
`Java.FieldDeclarationOrInitializer`
`copyFieldDeclarationOrInitializer(Java.FieldDeclarationOrInitializer subject)`
`Java.Rvalue`
`copyFloatingPointLiteral(Java.FloatingPointLiteral subject)`
`Java.BlockStatement`
`copyForEachStatement(Java.ForEachStatement fes)`
`Java.FunctionDeclarator.FormalParameter`
`copyFormalParameter(Java.FunctionDeclarator.FormalParameter subject)`
`Java.FunctionDeclarator.FormalParameter[]`
`copyFormalParameters(Java.FunctionDeclarator.FormalParameter[] subject)`
`Java.FunctionDeclarator.FormalParameters`
`copyFormalParameters(Java.FunctionDeclarator.FormalParameters subject)`
`Java.BlockStatement`
`copyForStatement(Java.ForStatement fs)`
`Java.FunctionDeclarator`
`copyFunctionDeclarator(Java.FunctionDeclarator subject)`
`Java.BlockStatement`
`copyIfStatement(Java.IfStatement is)`
`Java.AbstractCompilationUnit.ImportDeclaration`
`copyImportDeclaration(Java.AbstractCompilationUnit.ImportDeclaration subject)`
`Java.AbstractCompilationUnit.ImportDeclaration[]`
`copyImportDeclarations(Java.AbstractCompilationUnit.ImportDeclaration[] subject)`
`Java.Initializer`
`copyInitializer(Java.Initializer subject)`
`Java.Rvalue`
`copyInstanceof(Java.Instanceof subject)`
`Java.Rvalue`
`copyIntegerLiteral(Java.IntegerLiteral subject)`
`Java.BlockStatement`
`copyLabeledStatement(Java.LabeledStatement ls)`
`Java.Rvalue`
`copyLambdaExpression(Java.LambdaExpression subject)`
`Java.LocalClassDeclaration`
`copyLocalClassDeclaration(Java.LocalClassDeclaration subject)`
`Java.BlockStatement`
`copyLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement subject)`
`Java.Lvalue`
`copyLocalVariableAccess(Java.LocalVariableAccess subject)`
`Java.BlockStatement`
`copyLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement subject)`
`Java.TryStatement.Resource`
`copyLocalVariableDeclaratorResource(Java.TryStatement.LocalVariableDeclaratorResource subject)`
`Java.Lvalue`
`copyLvalue(Java.Lvalue subject)`
`Java.Annotation`
`copyMarkerAnnotation(Java.MarkerAnnotation subject)`
`Java.MemberTypeDeclaration`
`copyMemberAnnotationTypeDeclaration(Java.MemberAnnotationTypeDeclaration subject)`
`Java.MemberTypeDeclaration`
`copyMemberClassDeclaration(Java.MemberClassDeclaration subject)`
`Java.MemberTypeDeclaration`
`copyMemberEnumDeclaration(Java.MemberEnumDeclaration subject)`
`Java.MemberTypeDeclaration`
`copyMemberInterfaceDeclaration(Java.MemberInterfaceDeclaration subject)`
`Java.MemberTypeDeclaration`
`copyMemberTypeDeclaration(Java.MemberTypeDeclaration subject)`
`Java.MethodDeclarator`
`copyMethodDeclarator(Java.MethodDeclarator subject)`
`Java.Rvalue`
`copyMethodInvocation(Java.MethodInvocation subject)`
`Java.Rvalue`
`copyMethodReference(Java.MethodReference subject)`
`Java.Modifier`
`copyModifier(Java.Modifier modifier)`
`Java.Modifier[]`
`copyModifiers(Java.Modifier[] subject)`
`Java.ModularCompilationUnit`
`copyModularCompilationUnit(Java.ModularCompilationUnit subject)`
`Java.Rvalue`
`copyNewAnonymousClassInstance(Java.NewAnonymousClassInstance subject)`
`Java.Rvalue`
`copyNewArray(Java.NewArray subject)`
`Java.Rvalue`
`copyNewClassInstance(Java.NewClassInstance subject)`
`Java.Rvalue`
`copyNewInitializedArray(Java.NewInitializedArray subject)`
`Java.Annotation`
`copyNormalAnnotation(Java.NormalAnnotation subject)`
`Java.Rvalue`
`copyNullLiteral(Java.NullLiteral subject)`
`Java.ArrayInitializer`
`copyOptionalArrayInitializer(Java.ArrayInitializer subject)`
`Java.ArrayInitializerOrRvalue`
`copyOptionalArrayInitializerOrRvalue(Java.ArrayInitializerOrRvalue subject)`
`Java.ArrayType`
`copyOptionalArrayType(Java.ArrayType subject)`
`Java.Atom`
`copyOptionalAtom(Java.Atom subject)`
`Java.Block`
`copyOptionalBlock(Java.Block subject)`
`Java.BlockStatement`
`copyOptionalBlockStatement(Java.BlockStatement subject)`
`Java.ConstructorInvocation`
`copyOptionalConstructorInvocation(Java.ConstructorInvocation subject)`
`Java.ElementValue`
`copyOptionalElementValue(Java.ElementValue subject)`
`Java.PackageDeclaration`
`copyOptionalPackageDeclaration(Java.PackageDeclaration subject)`
`Java.ReferenceType`
`copyOptionalReferenceType(Java.ReferenceType subject)`
`Java.ReferenceType[]`
`copyOptionalReferenceTypes(Java.ReferenceType[] subject)`
`Java.Rvalue`
`copyOptionalRvalue(Java.Rvalue subject)`
`Java.Rvalue[]`
`copyOptionalRvalues(Java.Rvalue[] subject)`
`List<Java.BlockStatement>`
`copyOptionalStatements(Collection<? extends Java.BlockStatement> subject)`
`Java.Type`
`copyOptionalType(Java.Type subject)`
`Java.TypeArgument[]`
`copyOptionalTypeArguments(Java.TypeArgument[] subject)`
`Java.TypeParameter[]`
`copyOptionalTypeParameters(Java.TypeParameter[] subject)`
`Java.Atom`
`copyPackage(Java.Package subject)`
`Java.PackageDeclaration`
`copyPackageDeclaration(Java.PackageDeclaration subject)`
`Java.TypeDeclaration`
`copyPackageMemberAnnotationTypeDeclaration(Java.PackageMemberAnnotationTypeDeclaration subject)`
`Java.TypeDeclaration`
`copyPackageMemberClassDeclaration(Java.PackageMemberClassDeclaration subject)`
`Java.TypeDeclaration`
`copyPackageMemberEnumDeclaration(Java.PackageMemberEnumDeclaration subject)`
`Java.TypeDeclaration`
`copyPackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration subject)`
`Java.PackageMemberTypeDeclaration`
`copyPackageMemberTypeDeclaration(Java.PackageMemberTypeDeclaration subject)`
`Java.Rvalue`
`copyParameterAccess(Java.ParameterAccess pa)`
`Java.Lvalue`
`copyParenthesizedExpression(Java.ParenthesizedExpression subject)`
`Java.Type`
`copyPrimitiveType(Java.PrimitiveType bt)`
`Java.Rvalue`
`copyQualifiedThisReference(Java.QualifiedThisReference subject)`
`Java.ReferenceType`
`copyReferenceType(Java.ReferenceType subject)`
`Java.ReferenceType[]`
`copyReferenceTypes(Java.ReferenceType[] subject)`
`Java.TryStatement.Resource`
`copyResource(Java.TryStatement.Resource subject)`
`List<Java.TryStatement.Resource>`
`copyResources(Collection<? extends Java.TryStatement.Resource> subject)`
`Java.BlockStatement`
`copyReturnStatement(Java.ReturnStatement subject)`
`Java.Rvalue`
`copyRvalue(Java.Rvalue subject)`
`Java.Type`
`copyRvalueMemberType(Java.RvalueMemberType subject)`
`List<Java.Rvalue>`
`copyRvalues(Collection<? extends Java.Rvalue> subject)`
`Java.Rvalue[]`
`copyRvalues(Java.Rvalue[] subject)`
`Java.Rvalue`
`copySimpleLiteral(Java.SimpleConstant subject)`
`Java.Type`
`copySimpleType(Java.SimpleType st)`
`Java.Annotation`
`copySingleElementAnnotation(Java.SingleElementAnnotation subject)`
`Java.AbstractCompilationUnit.ImportDeclaration`
`copySingleStaticImportDeclaration(Java.AbstractCompilationUnit.SingleStaticImportDeclaration stid)`
`Java.AbstractCompilationUnit.ImportDeclaration`
`copySingleTypeImportDeclaration(Java.AbstractCompilationUnit.SingleTypeImportDeclaration stid)`
`Java.Statement`
`copyStatement(Java.Statement subject)`
`List<Java.BlockStatement>`
`copyStatements(Collection<? extends Java.BlockStatement> subject)`
`Java.AbstractCompilationUnit.ImportDeclaration`
`copyStaticImportOnDemandDeclaration(Java.AbstractCompilationUnit.StaticImportOnDemandDeclaration siodd)`
`Java.Rvalue`
`copyStringLiteral(Java.StringLiteral subject)`
`Java.Lvalue`
`copySuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression subject)`
`Java.Rvalue`
`copySuperclassMethodInvocation(Java.SuperclassMethodInvocation subject)`
`Java.ConstructorInvocation`
`copySuperConstructorInvocation(Java.SuperConstructorInvocation subject)`
`Java.SwitchStatement.SwitchBlockStatementGroup`
`copySwitchBlockStatementGroup(Java.SwitchStatement.SwitchBlockStatementGroup subject)`
`List<Java.SwitchStatement.SwitchBlockStatementGroup>`
`copySwitchBlockStatementGroups(Collection<? extends Java.SwitchStatement.SwitchBlockStatementGroup> subject)`
`Java.BlockStatement`
`copySwitchStatement(Java.SwitchStatement subject)`
`Java.BlockStatement`
`copySynchronizedStatement(Java.SynchronizedStatement subject)`
`Java.Rvalue`
`copyTextBlock(Java.TextBlock subject)`
`Java.Rvalue`
`copyThisReference(Java.ThisReference subject)`
`Java.BlockStatement`
`copyThrowStatement(Java.ThrowStatement subject)`
`Java.BlockStatement`
`copyTryStatement(Java.TryStatement ts)`
`Java.Type`
`copyType(Java.Type subject)`
`Java.TypeArgument`
`copyTypeArgument(Java.TypeArgument subject)`
`Java.TypeArgument[]`
`copyTypeArguments(Java.TypeArgument[] subject)`
`Java.TypeBodyDeclaration`
`copyTypeBodyDeclaration(Java.TypeBodyDeclaration subject)`
`Java.TypeDeclaration`
`copyTypeDeclaration(Java.TypeDeclaration subject)`
`Java.AbstractCompilationUnit.ImportDeclaration`
`copyTypeImportOnDemandDeclaration(Java.AbstractCompilationUnit.TypeImportOnDemandDeclaration tiodd)`
`Java.TypeParameter`
`copyTypeParameter(Java.TypeParameter subject)`
`Java.TypeParameter[]`
`copyTypeParameters(Java.TypeParameter[] subject)`
`Java.Type[]`
`copyTypes(Java.Type[] subject)`
`Java.Rvalue`
`copyUnaryOperation(Java.UnaryOperation subject)`
`Java.TryStatement.Resource`
`copyVariableAccessResource(Java.TryStatement.VariableAccessResource subject)`
`Java.VariableDeclarator`
`copyVariableDeclarator(Java.VariableDeclarator subject)`
`Java.VariableDeclarator[]`
`copyVariableDeclarators(Java.VariableDeclarator[] subject)`
`Java.BlockStatement`
`copyWhileStatement(Java.WhileStatement ws)`
`Java.TypeArgument`
`copyWildcard(Java.Wildcard subject)`

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

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

## Constructor Details

### DeepCopier

public DeepCopier()

## Method Details

### copyAbstractCompilationUnit

public Java.AbstractCompilationUnit copyAbstractCompilationUnit(Java.AbstractCompilationUnit subject) throws CompileException

Throws:
  `CompileException`

### copyImportDeclaration

public Java.AbstractCompilationUnit.ImportDeclaration copyImportDeclaration(Java.AbstractCompilationUnit.ImportDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyTypeDeclaration

public Java.TypeDeclaration copyTypeDeclaration(Java.TypeDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyTypeBodyDeclaration

public Java.TypeBodyDeclaration copyTypeBodyDeclaration(Java.TypeBodyDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyFunctionDeclarator

public Java.FunctionDeclarator copyFunctionDeclarator(Java.FunctionDeclarator subject) throws CompileException

Throws:
  `CompileException`

### copyBlockStatement

public Java.BlockStatement copyBlockStatement(Java.BlockStatement subject) throws CompileException

Throws:
  `CompileException`

### copyFieldDeclarationOrInitializer

public Java.FieldDeclarationOrInitializer copyFieldDeclarationOrInitializer(Java.FieldDeclarationOrInitializer subject) throws CompileException

Throws:
  `CompileException`

### copyResource

public Java.TryStatement.Resource copyResource(Java.TryStatement.Resource subject) throws CompileException

Throws:
  `CompileException`

### copyTypeArgument

public Java.TypeArgument copyTypeArgument(Java.TypeArgument subject) throws CompileException

Throws:
  `CompileException`

### copyConstructorInvocation

public Java.ConstructorInvocation copyConstructorInvocation(Java.ConstructorInvocation subject) throws CompileException

Throws:
  `CompileException`

### copyElementValue

public Java.ElementValue copyElementValue(Java.ElementValue subject) throws CompileException

Throws:
  `CompileException`

### copyAnnotation

public Java.Annotation copyAnnotation(Java.Annotation subject) throws CompileException

Throws:
  `CompileException`

### copyRvalue

public Java.Rvalue copyRvalue(Java.Rvalue subject) throws CompileException

Throws:
  `CompileException`

### copyLvalue

public Java.Lvalue copyLvalue(Java.Lvalue subject) throws CompileException

Throws:
  `CompileException`

### copyType

public Java.Type copyType(Java.Type subject) throws CompileException

Throws:
  `CompileException`

### copyAtom

public Java.Atom copyAtom(Java.Atom subject) throws CompileException

Throws:
  `CompileException`

### copyArrayInitializerOrRvalue

public Java.ArrayInitializerOrRvalue copyArrayInitializerOrRvalue(Java.ArrayInitializerOrRvalue subject) throws CompileException

Throws:
  `CompileException`

### copyPackageMemberTypeDeclaration

public Java.PackageMemberTypeDeclaration copyPackageMemberTypeDeclaration(Java.PackageMemberTypeDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyMemberTypeDeclaration

public Java.MemberTypeDeclaration copyMemberTypeDeclaration(Java.MemberTypeDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyStatement

public Java.Statement copyStatement(Java.Statement subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalPackageDeclaration

@Nullable public Java.PackageDeclaration copyOptionalPackageDeclaration(@Nullable Java.PackageDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalBlockStatement

@Nullable public Java.BlockStatement copyOptionalBlockStatement(@Nullable Java.BlockStatement subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalBlock

@Nullable public Java.Block copyOptionalBlock(@Nullable Java.Block subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalArrayInitializer

@Nullable public Java.ArrayInitializer copyOptionalArrayInitializer(@Nullable Java.ArrayInitializer subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalArrayType

@Nullable public Java.ArrayType copyOptionalArrayType(@Nullable Java.ArrayType subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalReferenceType

@Nullable public Java.ReferenceType copyOptionalReferenceType(@Nullable Java.ReferenceType subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalConstructorInvocation

@Nullable public Java.ConstructorInvocation copyOptionalConstructorInvocation(@Nullable Java.ConstructorInvocation subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalElementValue

@Nullable public Java.ElementValue copyOptionalElementValue(@Nullable Java.ElementValue subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalRvalue

@Nullable public Java.Rvalue copyOptionalRvalue(@Nullable Java.Rvalue subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalType

@Nullable public Java.Type copyOptionalType(@Nullable Java.Type subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalAtom

@Nullable public Java.Atom copyOptionalAtom(@Nullable Java.Atom subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalArrayInitializerOrRvalue

@Nullable public Java.ArrayInitializerOrRvalue copyOptionalArrayInitializerOrRvalue(@Nullable Java.ArrayInitializerOrRvalue subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalReferenceTypes

@Nullable public Java.ReferenceType[] copyOptionalReferenceTypes(@Nullable Java.ReferenceType[] subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalTypeArguments

@Nullable public Java.TypeArgument[] copyOptionalTypeArguments(@Nullable Java.TypeArgument[] subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalRvalues

@Nullable public Java.Rvalue[] copyOptionalRvalues(@Nullable Java.Rvalue[] subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalTypeParameters

@Nullable public Java.TypeParameter[] copyOptionalTypeParameters(@Nullable Java.TypeParameter[] subject) throws CompileException

Throws:
  `CompileException`

### copyOptionalStatements

@Nullable public List<Java.BlockStatement> copyOptionalStatements(@Nullable Collection<? extends Java.BlockStatement> subject) throws CompileException

Throws:
  `CompileException`

### copyImportDeclarations

public Java.AbstractCompilationUnit.ImportDeclaration[] copyImportDeclarations(Java.AbstractCompilationUnit.ImportDeclaration[] subject) throws CompileException

Throws:
  `CompileException`

### copyTypeArguments

public Java.TypeArgument[] copyTypeArguments(Java.TypeArgument[] subject) throws CompileException

Throws:
  `CompileException`

### copyVariableDeclarators

public Java.VariableDeclarator[] copyVariableDeclarators(Java.VariableDeclarator[] subject) throws CompileException

Throws:
  `CompileException`

### copyArrayInitializerOrRvalues

public Java.ArrayInitializerOrRvalue[] copyArrayInitializerOrRvalues(Java.ArrayInitializerOrRvalue[] subject) throws CompileException

Throws:
  `CompileException`

### copyReferenceTypes

public Java.ReferenceType[] copyReferenceTypes(Java.ReferenceType[] subject) throws CompileException

Throws:
  `CompileException`

### copyElementValues

public Java.ElementValue[] copyElementValues(Java.ElementValue[] subject) throws CompileException

Throws:
  `CompileException`

### copyElementValuePairs

public Java.ElementValuePair[] copyElementValuePairs(Java.ElementValuePair[] subject) throws CompileException

Throws:
  `CompileException`

### copyTypes

public Java.Type[] copyTypes(Java.Type[] subject) throws CompileException

Throws:
  `CompileException`

### copyTypeParameters

public Java.TypeParameter[] copyTypeParameters(Java.TypeParameter[] subject) throws CompileException

Throws:
  `CompileException`

### copyFormalParameters

public Java.FunctionDeclarator.FormalParameter[] copyFormalParameters(Java.FunctionDeclarator.FormalParameter[] subject) throws CompileException

Throws:
  `CompileException`

### copyAnnotations

public Java.Annotation[] copyAnnotations(Java.Annotation[] subject) throws CompileException

Throws:
  `CompileException`

### copyRvalues

public Java.Rvalue[] copyRvalues(Java.Rvalue[] subject) throws CompileException

Throws:
  `CompileException`

### copyBlockStatements

public List<Java.BlockStatement> copyBlockStatements(Collection<? extends Java.BlockStatement> subject) throws CompileException

Throws:
  `CompileException`

### copyResources

public List<Java.TryStatement.Resource> copyResources(Collection<? extends Java.TryStatement.Resource> subject) throws CompileException

Throws:
  `CompileException`

### copyCatchClauses

public List<Java.CatchClause> copyCatchClauses(Collection<? extends Java.CatchClause> subject) throws CompileException

Throws:
  `CompileException`

### copySwitchBlockStatementGroups

public List<Java.SwitchStatement.SwitchBlockStatementGroup> copySwitchBlockStatementGroups(Collection<? extends Java.SwitchStatement.SwitchBlockStatementGroup> subject) throws CompileException

Throws:
  `CompileException`

### copyStatements

public List<Java.BlockStatement> copyStatements(Collection<? extends Java.BlockStatement> subject) throws CompileException

Throws:
  `CompileException`

### copyRvalues

public List<Java.Rvalue> copyRvalues(Collection<? extends Java.Rvalue> subject) throws CompileException

Throws:
  `CompileException`

### copyCompilationUnit

public Java.CompilationUnit copyCompilationUnit(Java.CompilationUnit subject) throws CompileException

Throws:
  `CompileException`

### copyModularCompilationUnit

public Java.ModularCompilationUnit copyModularCompilationUnit(Java.ModularCompilationUnit subject) throws CompileException

Throws:
  `CompileException`

### copyWildcard

public Java.TypeArgument copyWildcard(Java.Wildcard subject) throws CompileException

Throws:
  `CompileException`

### copyPackageDeclaration

public Java.PackageDeclaration copyPackageDeclaration(Java.PackageDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copySingleTypeImportDeclaration

public Java.AbstractCompilationUnit.ImportDeclaration copySingleTypeImportDeclaration(Java.AbstractCompilationUnit.SingleTypeImportDeclaration stid) throws CompileException

Throws:
  `CompileException`

### copyTypeImportOnDemandDeclaration

public Java.AbstractCompilationUnit.ImportDeclaration copyTypeImportOnDemandDeclaration(Java.AbstractCompilationUnit.TypeImportOnDemandDeclaration tiodd) throws CompileException

Throws:
  `CompileException`

### copySingleStaticImportDeclaration

public Java.AbstractCompilationUnit.ImportDeclaration copySingleStaticImportDeclaration(Java.AbstractCompilationUnit.SingleStaticImportDeclaration stid) throws CompileException

Throws:
  `CompileException`

### copyStaticImportOnDemandDeclaration

public Java.AbstractCompilationUnit.ImportDeclaration copyStaticImportOnDemandDeclaration(Java.AbstractCompilationUnit.StaticImportOnDemandDeclaration siodd) throws CompileException

Throws:
  `CompileException`

### copyAnonymousClassDeclaration

public Java.AnonymousClassDeclaration copyAnonymousClassDeclaration(Java.AnonymousClassDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyLocalClassDeclaration

public Java.LocalClassDeclaration copyLocalClassDeclaration(Java.LocalClassDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyPackageMemberClassDeclaration

public Java.TypeDeclaration copyPackageMemberClassDeclaration(Java.PackageMemberClassDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyMemberInterfaceDeclaration

public Java.MemberTypeDeclaration copyMemberInterfaceDeclaration(Java.MemberInterfaceDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyPackageMemberInterfaceDeclaration

public Java.TypeDeclaration copyPackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyMemberClassDeclaration

public Java.MemberTypeDeclaration copyMemberClassDeclaration(Java.MemberClassDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyConstructorDeclarator

public Java.ConstructorDeclarator copyConstructorDeclarator(Java.ConstructorDeclarator subject) throws CompileException

Throws:
  `CompileException`

### copyInitializer

public Java.Initializer copyInitializer(Java.Initializer subject) throws CompileException

Throws:
  `CompileException`

### copyMethodDeclarator

public Java.MethodDeclarator copyMethodDeclarator(Java.MethodDeclarator subject) throws CompileException

Throws:
  `CompileException`

### copyFieldDeclaration

public Java.FieldDeclaration copyFieldDeclaration(Java.FieldDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyVariableDeclarator

public Java.VariableDeclarator copyVariableDeclarator(Java.VariableDeclarator subject) throws CompileException

Throws:
  `CompileException`

### copyLabeledStatement

public Java.BlockStatement copyLabeledStatement(Java.LabeledStatement ls) throws CompileException

Throws:
  `CompileException`

### copyBlock

public Java.Block copyBlock(Java.Block b) throws CompileException

Throws:
  `CompileException`

### copyExpressionStatement

public Java.BlockStatement copyExpressionStatement(Java.ExpressionStatement es) throws CompileException

Throws:
  `CompileException`

### copyIfStatement

public Java.BlockStatement copyIfStatement(Java.IfStatement is) throws CompileException

Throws:
  `CompileException`

### copyForStatement

public Java.BlockStatement copyForStatement(Java.ForStatement fs) throws CompileException

Throws:
  `CompileException`

### copyForEachStatement

public Java.BlockStatement copyForEachStatement(Java.ForEachStatement fes) throws CompileException

Throws:
  `CompileException`

### copyWhileStatement

public Java.BlockStatement copyWhileStatement(Java.WhileStatement ws) throws CompileException

Throws:
  `CompileException`

### copyTryStatement

public Java.BlockStatement copyTryStatement(Java.TryStatement ts) throws CompileException

Throws:
  `CompileException`

### copyCatchClause

public Java.CatchClause copyCatchClause(Java.CatchClause subject) throws CompileException

Throws:
  `CompileException`

### copySwitchStatement

public Java.BlockStatement copySwitchStatement(Java.SwitchStatement subject) throws CompileException

Throws:
  `CompileException`

### copySwitchBlockStatementGroup

public Java.SwitchStatement.SwitchBlockStatementGroup copySwitchBlockStatementGroup(Java.SwitchStatement.SwitchBlockStatementGroup subject) throws CompileException

Throws:
  `CompileException`

### copySynchronizedStatement

public Java.BlockStatement copySynchronizedStatement(Java.SynchronizedStatement subject) throws CompileException

Throws:
  `CompileException`

### copyDoStatement

public Java.BlockStatement copyDoStatement(Java.DoStatement subject) throws CompileException

Throws:
  `CompileException`

### copyLocalVariableDeclarationStatement

public Java.BlockStatement copyLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement subject) throws CompileException

Throws:
  `CompileException`

### copyReturnStatement

public Java.BlockStatement copyReturnStatement(Java.ReturnStatement subject) throws CompileException

Throws:
  `CompileException`

### copyThrowStatement

public Java.BlockStatement copyThrowStatement(Java.ThrowStatement subject) throws CompileException

Throws:
  `CompileException`

### copyBreakStatement

public Java.BlockStatement copyBreakStatement(Java.BreakStatement subject) throws CompileException

Throws:
  `CompileException`

### copyContinueStatement

public Java.BlockStatement copyContinueStatement(Java.ContinueStatement subject) throws CompileException

Throws:
  `CompileException`

### copyAssertStatement

public Java.BlockStatement copyAssertStatement(Java.AssertStatement subject) throws CompileException

Throws:
  `CompileException`

### copyEmptyStatement

public Java.BlockStatement copyEmptyStatement(Java.EmptyStatement subject) throws CompileException

Throws:
  `CompileException`

### copyLocalClassDeclarationStatement

public Java.BlockStatement copyLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement subject) throws CompileException

Throws:
  `CompileException`

### copyPackage

public Java.Atom copyPackage(Java.Package subject) throws CompileException

Throws:
  `CompileException`

### copyArrayLength

public Java.Rvalue copyArrayLength(Java.ArrayLength subject) throws CompileException

Throws:
  `CompileException`

### copyAssignment

public Java.Rvalue copyAssignment(Java.Assignment subject) throws CompileException

Throws:
  `CompileException`

### copyUnaryOperation

public Java.Rvalue copyUnaryOperation(Java.UnaryOperation subject) throws CompileException

Throws:
  `CompileException`

### copyBinaryOperation

public Java.Rvalue copyBinaryOperation(Java.BinaryOperation subject) throws CompileException

Throws:
  `CompileException`

### copyCast

public Java.Rvalue copyCast(Java.Cast subject) throws CompileException

Throws:
  `CompileException`

### copyClassLiteral

public Java.Rvalue copyClassLiteral(Java.ClassLiteral subject) throws CompileException

Throws:
  `CompileException`

### copyConditionalExpression

public Java.Rvalue copyConditionalExpression(Java.ConditionalExpression subject) throws CompileException

Throws:
  `CompileException`

### copyCrement

public Java.Rvalue copyCrement(Java.Crement subject) throws CompileException

Throws:
  `CompileException`

### copyInstanceof

public Java.Rvalue copyInstanceof(Java.Instanceof subject) throws CompileException

Throws:
  `CompileException`

### copyMethodInvocation

public Java.Rvalue copyMethodInvocation(Java.MethodInvocation subject) throws CompileException

Throws:
  `CompileException`

### copySuperclassMethodInvocation

public Java.Rvalue copySuperclassMethodInvocation(Java.SuperclassMethodInvocation subject) throws CompileException

Throws:
  `CompileException`

### copyIntegerLiteral

public Java.Rvalue copyIntegerLiteral(Java.IntegerLiteral subject) throws CompileException

Throws:
  `CompileException`

### copyFloatingPointLiteral

public Java.Rvalue copyFloatingPointLiteral(Java.FloatingPointLiteral subject) throws CompileException

Throws:
  `CompileException`

### copyBooleanLiteral

public Java.Rvalue copyBooleanLiteral(Java.BooleanLiteral subject) throws CompileException

Throws:
  `CompileException`

### copyCharacterLiteral

public Java.Rvalue copyCharacterLiteral(Java.CharacterLiteral subject) throws CompileException

Throws:
  `CompileException`

### copyStringLiteral

public Java.Rvalue copyStringLiteral(Java.StringLiteral subject) throws CompileException

Throws:
  `CompileException`

### copyTextBlock

public Java.Rvalue copyTextBlock(Java.TextBlock subject) throws CompileException

Throws:
  `CompileException`

### copyNullLiteral

public Java.Rvalue copyNullLiteral(Java.NullLiteral subject) throws CompileException

Throws:
  `CompileException`

### copySimpleLiteral

public Java.Rvalue copySimpleLiteral(Java.SimpleConstant subject) throws CompileException

Throws:
  `CompileException`

### copyNewAnonymousClassInstance

public Java.Rvalue copyNewAnonymousClassInstance(Java.NewAnonymousClassInstance subject) throws CompileException

Throws:
  `CompileException`

### copyNewArray

public Java.Rvalue copyNewArray(Java.NewArray subject) throws CompileException

Throws:
  `CompileException`

### copyNewInitializedArray

public Java.Rvalue copyNewInitializedArray(Java.NewInitializedArray subject) throws CompileException

Throws:
  `CompileException`

### copyArrayInitializer

public Java.ArrayInitializer copyArrayInitializer(Java.ArrayInitializer subject) throws CompileException

Throws:
  `CompileException`

### copyNewClassInstance

public Java.Rvalue copyNewClassInstance(Java.NewClassInstance subject) throws CompileException

Throws:
  `CompileException`

### copyParameterAccess

public Java.Rvalue copyParameterAccess(Java.ParameterAccess pa) throws CompileException

Throws:
  `CompileException`

### copyQualifiedThisReference

public Java.Rvalue copyQualifiedThisReference(Java.QualifiedThisReference subject) throws CompileException

Throws:
  `CompileException`

### copyThisReference

public Java.Rvalue copyThisReference(Java.ThisReference subject) throws CompileException

Throws:
  `CompileException`

### copyLambdaExpression

public Java.Rvalue copyLambdaExpression(Java.LambdaExpression subject)

### copyArrayCreationReference

public Java.Rvalue copyArrayCreationReference(Java.ArrayCreationReference subject) throws CompileException

Throws:
  `CompileException`

### copyClassInstanceCreationReference

public Java.Rvalue copyClassInstanceCreationReference(Java.ClassInstanceCreationReference subject) throws CompileException

Throws:
  `CompileException`

### copyMethodReference

public Java.Rvalue copyMethodReference(Java.MethodReference subject) throws CompileException

Throws:
  `CompileException`

### copyArrayType

public Java.ArrayType copyArrayType(Java.ArrayType subject) throws CompileException

Throws:
  `CompileException`

### copyPrimitiveType

public Java.Type copyPrimitiveType(Java.PrimitiveType bt) throws CompileException

Throws:
  `CompileException`

### copyReferenceType

public Java.ReferenceType copyReferenceType(Java.ReferenceType subject) throws CompileException

Throws:
  `CompileException`

### copyRvalueMemberType

public Java.Type copyRvalueMemberType(Java.RvalueMemberType subject) throws CompileException

Throws:
  `CompileException`

### copySimpleType

public Java.Type copySimpleType(Java.SimpleType st) throws CompileException

Throws:
  `CompileException`

### copyAlternateConstructorInvocation

public Java.ConstructorInvocation copyAlternateConstructorInvocation(Java.AlternateConstructorInvocation subject) throws CompileException

Throws:
  `CompileException`

### copySuperConstructorInvocation

public Java.ConstructorInvocation copySuperConstructorInvocation(Java.SuperConstructorInvocation subject) throws CompileException

Throws:
  `CompileException`

### copyAmbiguousName

public Java.Lvalue copyAmbiguousName(Java.AmbiguousName subject) throws CompileException

Throws:
  `CompileException`

### copyArrayAccessExpression

public Java.Lvalue copyArrayAccessExpression(Java.ArrayAccessExpression subject) throws CompileException

Throws:
  `CompileException`

### copyFieldAccess

public Java.Lvalue copyFieldAccess(Java.FieldAccess subject) throws CompileException

Throws:
  `CompileException`

### copyFieldAccessExpression

public Java.Lvalue copyFieldAccessExpression(Java.FieldAccessExpression subject) throws CompileException

Throws:
  `CompileException`

### copySuperclassFieldAccessExpression

public Java.Lvalue copySuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression subject) throws CompileException

Throws:
  `CompileException`

### copyLocalVariableAccess

public Java.Lvalue copyLocalVariableAccess(Java.LocalVariableAccess subject) throws CompileException

Throws:
  `CompileException`

### copyParenthesizedExpression

public Java.Lvalue copyParenthesizedExpression(Java.ParenthesizedExpression subject) throws CompileException

Throws:
  `CompileException`

### copyElementValueArrayInitializer

public Java.ElementValue copyElementValueArrayInitializer(Java.ElementValueArrayInitializer subject) throws CompileException

Throws:
  `CompileException`

### copySingleElementAnnotation

public Java.Annotation copySingleElementAnnotation(Java.SingleElementAnnotation subject) throws CompileException

Throws:
  `CompileException`

### copyNormalAnnotation

public Java.Annotation copyNormalAnnotation(Java.NormalAnnotation subject) throws CompileException

Throws:
  `CompileException`

### copyElementValuePair

public Java.ElementValuePair copyElementValuePair(Java.ElementValuePair subject) throws CompileException

Throws:
  `CompileException`

### copyMarkerAnnotation

public Java.Annotation copyMarkerAnnotation(Java.MarkerAnnotation subject) throws CompileException

Throws:
  `CompileException`

### copyFormalParameters

public Java.FunctionDeclarator.FormalParameters copyFormalParameters(Java.FunctionDeclarator.FormalParameters subject) throws CompileException

Throws:
  `CompileException`

### copyFormalParameter

public Java.FunctionDeclarator.FormalParameter copyFormalParameter(Java.FunctionDeclarator.FormalParameter subject) throws CompileException

Throws:
  `CompileException`

### copyCatchParameter

public Java.CatchParameter copyCatchParameter(Java.CatchParameter subject) throws CompileException

Throws:
  `CompileException`

### copyEnumConstant

public Java.EnumConstant copyEnumConstant(Java.EnumConstant subject) throws CompileException

Throws:
  `CompileException`

### copyPackageMemberEnumDeclaration

public Java.TypeDeclaration copyPackageMemberEnumDeclaration(Java.PackageMemberEnumDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyMemberEnumDeclaration

public Java.MemberTypeDeclaration copyMemberEnumDeclaration(Java.MemberEnumDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyPackageMemberAnnotationTypeDeclaration

public Java.TypeDeclaration copyPackageMemberAnnotationTypeDeclaration(Java.PackageMemberAnnotationTypeDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyMemberAnnotationTypeDeclaration

public Java.MemberTypeDeclaration copyMemberAnnotationTypeDeclaration(Java.MemberAnnotationTypeDeclaration subject) throws CompileException

Throws:
  `CompileException`

### copyLocalVariableDeclaratorResource

public Java.TryStatement.Resource copyLocalVariableDeclaratorResource(Java.TryStatement.LocalVariableDeclaratorResource subject) throws CompileException

Throws:
  `CompileException`

### copyVariableAccessResource

public Java.TryStatement.Resource copyVariableAccessResource(Java.TryStatement.VariableAccessResource subject) throws CompileException

Throws:
  `CompileException`

### copyModifiers

public Java.Modifier[] copyModifiers(Java.Modifier[] subject) throws CompileException

Throws:
  `CompileException`

### copyModifier

public Java.Modifier copyModifier(Java.Modifier modifier) throws CompileException

Throws:
  `CompileException`

### copyAccessModifier

public Java.AccessModifier copyAccessModifier(Java.AccessModifier am)

### copyTypeParameter

public Java.TypeParameter copyTypeParameter(Java.TypeParameter subject) throws CompileException

Throws:
  `CompileException`