Package org.codehaus.groovy.classgen

# Class BytecodeExpression

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.classgen.BytecodeExpression

Direct Known Subclasses:
  `ExpressionAsVariableSlot`, `VariableSlotLoader`

public abstract class BytecodeExpression extends Expression
Represents some custom bytecode generation by the compiler

Author:
  James Strachan

## Field Summary

Fields
Modifier and Type
Field
Description
`static final BytecodeExpression`
`NOP`

## Constructor Summary

Constructors
Constructor
Description
`BytecodeExpression()`
`BytecodeExpression(ClassNode type)`

## Method Summary

Modifier and Type
Method
Description
`Expression`
`transformExpression(ExpressionTransformer transformer)`
Return a copy of the expression calling the transformer on any nested expressions
`void`
`visit(GroovyCodeVisitor visitor)`
`abstract void`
`visit(org.objectweb.asm.MethodVisitor mv)`

### Methods inherited from class org.codehaus.groovy.ast.expr.Expression

`getType, setType, transformExpressions, transformExpressions`

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

`addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`

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

`copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition`

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

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

## Field Details

### NOP

public static final BytecodeExpression NOP

## Constructor Details

### BytecodeExpression

public BytecodeExpression()

### BytecodeExpression

public BytecodeExpression(ClassNode type)

## Method Details

### visit

public void visit(GroovyCodeVisitor visitor)

Overrides:
  `visit` in class `ASTNode`

### visit

public abstract void visit(org.objectweb.asm.MethodVisitor mv)

### transformExpression

public Expression transformExpression(ExpressionTransformer transformer)
Description copied from class: `Expression`
Return a copy of the expression calling the transformer on any nested expressions

Specified by:
  `transformExpression` in class `Expression`
Parameters:
  `transformer` -