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
`static BytecodeExpression` `NOP`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`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 Detail

#### NOP

    public static final BytecodeExpression NOP

### Constructor Detail

#### BytecodeExpression

    public BytecodeExpression()

#### BytecodeExpression

    public BytecodeExpression(ClassNode type)

### Method Detail

#### 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`