Groovy Documentation

org.codehaus.groovy.classgen.asm.sc
[Java] Class StaticTypesBinaryExpressionMultiTypeDispatcher

java.lang.Object
  org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
      org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
          org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher
All Implemented Interfaces:
org.objectweb.asm.Opcodes

public class StaticTypesBinaryExpressionMultiTypeDispatcher
extends BinaryExpressionMultiTypeDispatcher

A specialized version of the multi type binary expression dispatcher which is aware of static compilation. It is able to generate optimized bytecode for some operations using JVM instructions when available.

Authors:
Cedric Champeau


Field Summary
 
Fields inherited from class BinaryExpressionMultiTypeDispatcher
binExpWriter, typeMap, typeMapKeyNames
 
Constructor Summary
StaticTypesBinaryExpressionMultiTypeDispatcher(WriterController wc)

 
Method Summary
protected void assignToArray(Expression parrent, Expression receiver, Expression index, Expression rhsValueLoader)

void evaluateEqual(BinaryExpression expression, boolean defineVariable)

protected void writePostOrPrefixMethod(int op, java.lang.String method, Expression expression, Expression orig)

 
Methods inherited from class BinaryExpressionMultiTypeDispatcher
BinaryExpressionMultiTypeDispatcher, assignToArray, doPrimtiveCompare, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, getOperandType, initializeDelegateHelpers, writePostOrPrefixMethod
 
Methods inherited from class BinaryExpressionHelper
assignToArray, eval, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, evaluateEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod, writePostOrPrefixMethod
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Constructor Detail

StaticTypesBinaryExpressionMultiTypeDispatcher

public StaticTypesBinaryExpressionMultiTypeDispatcher(WriterController wc)


 
Method Detail

assignToArray

protected void assignToArray(Expression parrent, Expression receiver, Expression index, Expression rhsValueLoader)


evaluateEqual

@Override
public void evaluateEqual(BinaryExpression expression, boolean defineVariable)


writePostOrPrefixMethod

@Override
protected void writePostOrPrefixMethod(int op, java.lang.String method, Expression expression, Expression orig)


 

Groovy Documentation