clojure.lang
Class Compiler.CaseExpr

java.lang.Object
  extended by clojure.lang.Compiler.CaseExpr
All Implemented Interfaces:
Compiler.MaybePrimitiveExpr
Enclosing class:
Compiler

public static class Compiler.CaseExpr
extends Object
implements Compiler.MaybePrimitiveExpr


Field Summary
 int column
           
 clojure.lang.Compiler.Expr defaultExpr
           
 Compiler.LocalBindingExpr expr
           
 int high
           
 int line
           
 int low
           
 int mask
           
 Class returnType
           
 int shift
           
 Set<Integer> skipCheck
           
 Keyword switchType
           
 SortedMap<Integer,clojure.lang.Compiler.Expr> tests
           
 Keyword testType
           
 HashMap<Integer,clojure.lang.Compiler.Expr> thens
           
 
Constructor Summary
Compiler.CaseExpr(int line, int column, Compiler.LocalBindingExpr expr, int shift, int mask, int low, int high, clojure.lang.Compiler.Expr defaultExpr, SortedMap<Integer,clojure.lang.Compiler.Expr> tests, HashMap<Integer,clojure.lang.Compiler.Expr> thens, Keyword switchType, Keyword testType, Set<Integer> skipCheck)
           
 
Method Summary
 boolean canEmitPrimitive()
           
 void doEmit(Compiler.C context, Compiler.ObjExpr objx, GeneratorAdapter gen, boolean emitUnboxed)
           
 void emit(Compiler.C context, Compiler.ObjExpr objx, GeneratorAdapter gen)
           
 void emitUnboxed(Compiler.C context, Compiler.ObjExpr objx, GeneratorAdapter gen)
           
 Object eval()
           
 Class getJavaClass()
           
 boolean hasJavaClass()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

expr

public final Compiler.LocalBindingExpr expr

shift

public final int shift

mask

public final int mask

low

public final int low

high

public final int high

defaultExpr

public final clojure.lang.Compiler.Expr defaultExpr

tests

public final SortedMap<Integer,clojure.lang.Compiler.Expr> tests

thens

public final HashMap<Integer,clojure.lang.Compiler.Expr> thens

switchType

public final Keyword switchType

testType

public final Keyword testType

skipCheck

public final Set<Integer> skipCheck

returnType

public final Class returnType

line

public final int line

column

public final int column
Constructor Detail

Compiler.CaseExpr

public Compiler.CaseExpr(int line,
                         int column,
                         Compiler.LocalBindingExpr expr,
                         int shift,
                         int mask,
                         int low,
                         int high,
                         clojure.lang.Compiler.Expr defaultExpr,
                         SortedMap<Integer,clojure.lang.Compiler.Expr> tests,
                         HashMap<Integer,clojure.lang.Compiler.Expr> thens,
                         Keyword switchType,
                         Keyword testType,
                         Set<Integer> skipCheck)
Method Detail

hasJavaClass

public boolean hasJavaClass()

canEmitPrimitive

public boolean canEmitPrimitive()
Specified by:
canEmitPrimitive in interface Compiler.MaybePrimitiveExpr

getJavaClass

public Class getJavaClass()

eval

public Object eval()

emit

public void emit(Compiler.C context,
                 Compiler.ObjExpr objx,
                 GeneratorAdapter gen)

emitUnboxed

public void emitUnboxed(Compiler.C context,
                        Compiler.ObjExpr objx,
                        GeneratorAdapter gen)
Specified by:
emitUnboxed in interface Compiler.MaybePrimitiveExpr

doEmit

public void doEmit(Compiler.C context,
                   Compiler.ObjExpr objx,
                   GeneratorAdapter gen,
                   boolean emitUnboxed)


Copyright © 2015. All Rights Reserved.