Modifier and Type | Class and Description |
---|---|
(package private) static interface |
Compiler.AssignableExpr |
static class |
Compiler.AssignExpr |
static class |
Compiler.BindingInit |
static class |
Compiler.BodyExpr |
(package private) static class |
Compiler.BooleanExpr |
static class |
Compiler.C |
static class |
Compiler.CaseExpr |
static class |
Compiler.CompilerException |
(package private) static class |
Compiler.ConstantExpr |
(package private) static class |
Compiler.DefExpr |
static class |
Compiler.EmptyExpr |
(package private) static interface |
Compiler.Expr |
(package private) static class |
Compiler.FieldExpr |
static class |
Compiler.FnExpr |
static class |
Compiler.FnMethod |
static class |
Compiler.HostExpr |
static class |
Compiler.IfExpr |
static class |
Compiler.ImportExpr |
(package private) static class |
Compiler.InstanceFieldExpr |
(package private) static class |
Compiler.InstanceMethodExpr |
static class |
Compiler.InstanceOfExpr |
(package private) static class |
Compiler.InvokeExpr |
(package private) static interface |
Compiler.IParser |
static class |
Compiler.KeywordExpr |
(package private) static class |
Compiler.KeywordInvokeExpr |
static class |
Compiler.LetExpr |
static class |
Compiler.LetFnExpr |
static class |
Compiler.ListExpr |
static class |
Compiler.LiteralExpr |
static class |
Compiler.LocalBinding |
static class |
Compiler.LocalBindingExpr |
static class |
Compiler.MapExpr |
static interface |
Compiler.MaybePrimitiveExpr |
static class |
Compiler.MetaExpr |
(package private) static class |
Compiler.MethodExpr |
static class |
Compiler.MethodParamExpr |
(package private) static class |
Compiler.MonitorEnterExpr |
(package private) static class |
Compiler.MonitorExitExpr |
static class |
Compiler.NewExpr |
static class |
Compiler.NewInstanceExpr |
static class |
Compiler.NewInstanceMethod |
(package private) static class |
Compiler.NilExpr |
(package private) static class |
Compiler.NumberExpr |
static class |
Compiler.ObjExpr |
static class |
Compiler.ObjMethod |
(package private) static class |
Compiler.PathNode |
(package private) static class |
Compiler.PATHTYPE |
(package private) static class |
Compiler.PSTATE |
private class |
Compiler.Recur |
static class |
Compiler.RecurExpr |
static class |
Compiler.SetExpr |
(package private) static class |
Compiler.SourceDebugExtensionAttribute |
(package private) static class |
Compiler.StaticFieldExpr |
(package private) static class |
Compiler.StaticInvokeExpr |
(package private) static class |
Compiler.StaticMethodExpr |
(package private) static class |
Compiler.StringExpr |
static class |
Compiler.TheVarExpr |
(package private) static class |
Compiler.ThrowExpr |
static class |
Compiler.TryExpr |
(package private) static class |
Compiler.UnresolvedVarExpr |
static class |
Compiler.UntypedExpr |
static class |
Compiler.VarExpr |
static class |
Compiler.VectorExpr |
Modifier and Type | Field and Description |
---|---|
(package private) static Symbol |
_AMP_ |
static Var |
ADD_ANNOTATIONS |
private static Type |
AFUNCTION_TYPE |
private static Type[][] |
ARG_TYPES |
(package private) static Keyword |
arglistsKey |
(package private) static Symbol |
ASSIGN |
(package private) static Type |
BOOLEAN_OBJECT_TYPE |
(package private) static Symbol |
CASE |
(package private) static Symbol |
CATCH |
static IPersistentMap |
CHAR_MAP |
(package private) static Symbol |
CLASS |
(package private) static Type |
CLASS_TYPE |
static Var |
CLEAR_PATH |
static Var |
CLEAR_ROOT |
static Var |
CLEAR_SITES |
static Var |
COLUMN |
static Var |
COLUMN_AFTER |
static Var |
COLUMN_BEFORE |
static Var |
COMPILE_FILES |
static Var |
COMPILE_PATH |
static Var |
COMPILE_STUB_CLASS |
(package private) static java.lang.String |
COMPILE_STUB_PREFIX |
static Var |
COMPILE_STUB_SYM |
static Var |
COMPILER_OPTIONS |
static Var |
CONSTANT_IDS |
static Var |
CONSTANTS |
(package private) static Symbol |
DEF |
(package private) static Symbol |
DEFTYPE |
static Keyword |
disableLocalsClearingKey |
(package private) static Symbol |
DO |
(package private) static Symbol |
DOT |
(package private) static Keyword |
dynamicKey |
static Keyword |
elideMetaKey |
private static Type[] |
EXCEPTION_TYPES |
(package private) static Compiler.BooleanExpr |
FALSE_EXPR |
(package private) static Symbol |
FINALLY |
(package private) static Symbol |
FN |
(package private) static Symbol |
FNONCE |
(package private) static Symbol |
HASHMAP |
(package private) static Symbol |
IDENTITY |
(package private) static Symbol |
IF |
private static Type |
IFN_TYPE |
(package private) static Keyword |
implementsKey |
(package private) static Symbol |
IMPORT |
static Var |
IN_CATCH_FINALLY |
(package private) static Symbol |
IN_NS |
(package private) static Keyword |
inlineAritiesKey |
(package private) static Keyword |
inlineKey |
static Var |
INSTANCE |
(package private) static Symbol |
INVOKE_STATIC |
(package private) static Type |
IOBJ_TYPE |
(package private) static Type |
IPERSISTENTMAP_TYPE |
(package private) static Symbol |
ISEQ |
static Var |
KEYWORD_CALLSITES |
private static Type |
KEYWORD_TYPE |
static Var |
KEYWORDS |
(package private) static Symbol |
LET |
(package private) static Symbol |
LETFN |
static Var |
LINE |
static Var |
LINE_AFTER |
static Var |
LINE_BEFORE |
(package private) static Symbol |
LIST |
static Var |
LOADER |
static Var |
LOCAL_ENV |
(package private) static Symbol |
LOOP |
static Var |
LOOP_LABEL |
static Var |
LOOP_LOCALS |
private static int |
MAX_POSITIONAL_ARITY |
static Var |
METHOD |
(package private) static Symbol |
MONITOR_ENTER |
(package private) static Symbol |
MONITOR_EXIT |
(package private) static Symbol |
NEW |
static Var |
NEXT_LOCAL_NUM |
(package private) static Compiler.NilExpr |
NIL_EXPR |
static Var |
NO_RECUR |
(package private) static Symbol |
NS |
(package private) static Type |
NS_TYPE |
private static Type |
NUMBERS_TYPE |
private static Type |
OBJECT_TYPE |
(package private) static Keyword |
onKey |
static Var |
PROTOCOL_CALLSITES |
(package private) static Keyword |
protocolKey |
(package private) static Symbol |
QUOTE |
(package private) static Symbol |
RECUR |
static java.lang.Class |
RECUR_CLASS |
(package private) static Type |
REFLECTOR_TYPE |
(package private) static Symbol |
REIFY |
static Var |
RET_LOCAL_NUM |
private static Type |
RT_TYPE |
static Var |
SOURCE |
static Var |
SOURCE_PATH |
static IPersistentMap |
specials |
(package private) static Keyword |
staticKey |
private static Type |
SYMBOL_TYPE |
(package private) static Symbol |
THE_VAR |
(package private) static Symbol |
THIS |
(package private) static Symbol |
THROW |
(package private) static Type |
THROWABLE_TYPE |
(package private) static Compiler.BooleanExpr |
TRUE_EXPR |
(package private) static Symbol |
TRY |
(package private) static Type |
UTIL_TYPE |
static Var |
VAR_CALLSITES |
private static Type |
VAR_TYPE |
static Var |
VARS |
(package private) static Symbol |
VECTOR |
(package private) static Keyword |
volatileKey |
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6
Constructor and Description |
---|
Compiler() |
Modifier and Type | Method and Description |
---|---|
(package private) static void |
addAnnotation(java.lang.Object visitor,
IPersistentMap meta) |
(package private) static void |
addParameterAnnotation(java.lang.Object visitor,
IPersistentMap meta,
int i) |
static Compiler.Expr |
analyze(Compiler.C context,
java.lang.Object form) |
private static Compiler.Expr |
analyze(Compiler.C context,
java.lang.Object form,
java.lang.String name) |
private static Compiler.Expr |
analyzeSeq(Compiler.C context,
ISeq form,
java.lang.String name) |
private static Compiler.Expr |
analyzeSymbol(Symbol sym) |
(package private) static java.lang.Class |
boxClass(java.lang.Class p) |
(package private) static Compiler.PathNode |
clearPathRoot() |
(package private) static void |
closeOver(Compiler.LocalBinding b,
Compiler.ObjMethod method) |
(package private) static Compiler.PathNode |
commonPath(Compiler.PathNode n1,
Compiler.PathNode n2) |
static java.lang.Object |
compile(java.io.Reader rdr,
java.lang.String sourcePath,
java.lang.String sourceName) |
(package private) static void |
compile1(GeneratorAdapter gen,
Compiler.ObjExpr objx,
java.lang.Object form) |
(package private) static Namespace |
currentNS() |
(package private) static java.lang.String |
destubClassName(java.lang.String className) |
(package private) static java.lang.Object |
elideMeta(java.lang.Object m) |
(package private) static IPersistentCollection |
emptyVarCallSites() |
(package private) static java.lang.String |
errorMsg(java.lang.String source,
int line,
int column,
java.lang.String s) |
static java.lang.Object |
eval(java.lang.Object form) |
static java.lang.Object |
eval(java.lang.Object form,
boolean freshLoader) |
(package private) static ISeq |
fwdPath(Compiler.PathNode p1) |
private static int |
getAndIncLocalNum() |
static java.lang.Object |
getCompilerOption(Keyword k) |
static ILookupThunk |
getLookupThunk(java.lang.Object target,
Keyword k) |
(package private) static int |
getMatchingParams(java.lang.String methodName,
java.util.ArrayList<java.lang.Class[]> paramlists,
IPersistentVector argexprs,
java.util.List<java.lang.Class> rets) |
(package private) static Type |
getType(java.lang.Class c) |
static IFn |
isInline(java.lang.Object op,
int arity) |
static Var |
isMacro(java.lang.Object op) |
(package private) static boolean |
isSpecial(java.lang.Object sym) |
static java.lang.Object |
load(java.io.Reader rdr) |
static java.lang.Object |
load(java.io.Reader rdr,
java.lang.String sourcePath,
java.lang.String sourceName) |
static java.lang.Object |
loadFile(java.lang.String file) |
(package private) static Var |
lookupVar(Symbol sym,
boolean internNew) |
(package private) static Var |
lookupVar(Symbol sym,
boolean internNew,
boolean registerMacro) |
(package private) static java.lang.Object |
macroexpand(java.lang.Object form) |
static java.lang.Object |
macroexpand1(java.lang.Object x) |
(package private) static java.lang.Class |
maybeJavaClass(java.util.Collection<Compiler.Expr> exprs) |
(package private) static java.lang.Class |
maybePrimitiveType(Compiler.Expr e) |
static java.lang.Object |
maybeResolveIn(Namespace n,
Symbol sym) |
static java.lang.String |
munge(java.lang.String name) |
(package private) static Namespace |
namespaceFor(Namespace inns,
Symbol sym) |
(package private) static Namespace |
namespaceFor(Symbol sym) |
static boolean |
namesStaticMember(Symbol sym) |
static java.lang.Object |
preserveTag(ISeq src,
java.lang.Object dst) |
(package private) static java.lang.Class |
primClass(java.lang.Class c) |
(package private) static java.lang.Class |
primClass(Symbol sym) |
static void |
pushNS() |
static void |
pushNSandLoader(java.lang.ClassLoader loader) |
(package private) static Compiler.LocalBinding |
referenceLocal(Symbol sym) |
private static int |
registerConstant(java.lang.Object o) |
private static Compiler.KeywordExpr |
registerKeyword(Keyword keyword) |
private static int |
registerKeywordCallsite(Keyword keyword) |
private static Compiler.LocalBinding |
registerLocal(Symbol sym,
Symbol tag,
Compiler.Expr init,
boolean isArg) |
private static int |
registerProtocolCallsite(Var v) |
private static void |
registerVar(Var var) |
private static void |
registerVarCallsite(Var v) |
(package private) static java.lang.Object |
resolve(Symbol sym) |
(package private) static java.lang.Object |
resolve(Symbol sym,
boolean allowPrivate) |
static java.lang.Object |
resolveIn(Namespace n,
Symbol sym,
boolean allowPrivate) |
(package private) static Symbol |
resolveSymbol(Symbol sym) |
static boolean |
subsumes(java.lang.Class[] c1,
java.lang.Class[] c2) |
(package private) static java.lang.Class |
tagClass(java.lang.Object tag) |
private static Symbol |
tagOf(java.lang.Object o) |
static void |
writeClassFile(java.lang.String internalName,
byte[] bytecode) |
static final Symbol DEF
static final Symbol LOOP
static final Symbol RECUR
static final Symbol IF
static final Symbol LET
static final Symbol LETFN
static final Symbol DO
static final Symbol FN
static final Symbol FNONCE
static final Symbol QUOTE
static final Symbol THE_VAR
static final Symbol DOT
static final Symbol ASSIGN
static final Symbol TRY
static final Symbol CATCH
static final Symbol FINALLY
static final Symbol THROW
static final Symbol MONITOR_ENTER
static final Symbol MONITOR_EXIT
static final Symbol IMPORT
static final Symbol DEFTYPE
static final Symbol CASE
static final Symbol CLASS
static final Symbol NEW
static final Symbol THIS
static final Symbol REIFY
static final Symbol LIST
static final Symbol HASHMAP
static final Symbol VECTOR
static final Symbol IDENTITY
static final Symbol _AMP_
static final Symbol ISEQ
static final Keyword inlineKey
static final Keyword inlineAritiesKey
static final Keyword staticKey
static final Keyword arglistsKey
static final Symbol INVOKE_STATIC
static final Keyword volatileKey
static final Keyword implementsKey
static final java.lang.String COMPILE_STUB_PREFIX
static final Keyword protocolKey
static final Keyword onKey
static Keyword dynamicKey
static final Symbol NS
static final Symbol IN_NS
public static final IPersistentMap specials
private static final int MAX_POSITIONAL_ARITY
private static final Type OBJECT_TYPE
private static final Type KEYWORD_TYPE
private static final Type VAR_TYPE
private static final Type SYMBOL_TYPE
private static final Type IFN_TYPE
private static final Type AFUNCTION_TYPE
private static final Type RT_TYPE
private static final Type NUMBERS_TYPE
static final Type CLASS_TYPE
static final Type NS_TYPE
static final Type UTIL_TYPE
static final Type REFLECTOR_TYPE
static final Type THROWABLE_TYPE
static final Type BOOLEAN_OBJECT_TYPE
static final Type IPERSISTENTMAP_TYPE
static final Type IOBJ_TYPE
private static final Type[][] ARG_TYPES
private static final Type[] EXCEPTION_TYPES
public static final Var LOCAL_ENV
public static final Var LOOP_LOCALS
public static final Var LOOP_LABEL
public static final Var CONSTANTS
public static final Var CONSTANT_IDS
public static final Var KEYWORD_CALLSITES
public static final Var PROTOCOL_CALLSITES
public static final Var VAR_CALLSITES
public static final Var KEYWORDS
public static final Var VARS
public static final Var METHOD
public static final Var IN_CATCH_FINALLY
public static final Var NO_RECUR
public static final Var LOADER
public static final Var SOURCE
public static final Var SOURCE_PATH
public static final Var COMPILE_PATH
public static final Var COMPILE_FILES
public static final Var INSTANCE
public static final Var ADD_ANNOTATIONS
public static final Keyword disableLocalsClearingKey
public static final Keyword elideMetaKey
public static final Var COMPILER_OPTIONS
public static final Var LINE
public static final Var COLUMN
public static final Var LINE_BEFORE
public static final Var COLUMN_BEFORE
public static final Var LINE_AFTER
public static final Var COLUMN_AFTER
public static final Var NEXT_LOCAL_NUM
public static final Var RET_LOCAL_NUM
public static final Var COMPILE_STUB_SYM
public static final Var COMPILE_STUB_CLASS
public static final Var CLEAR_PATH
public static final Var CLEAR_ROOT
public static final Var CLEAR_SITES
public static final java.lang.Class RECUR_CLASS
static final Compiler.NilExpr NIL_EXPR
static final Compiler.BooleanExpr TRUE_EXPR
static final Compiler.BooleanExpr FALSE_EXPR
public static final IPersistentMap CHAR_MAP
public static java.lang.Object getCompilerOption(Keyword k)
static java.lang.Object elideMeta(java.lang.Object m)
static boolean isSpecial(java.lang.Object sym)
static java.lang.Class maybePrimitiveType(Compiler.Expr e)
static java.lang.Class maybeJavaClass(java.util.Collection<Compiler.Expr> exprs)
public static boolean subsumes(java.lang.Class[] c1, java.lang.Class[] c2)
static int getMatchingParams(java.lang.String methodName, java.util.ArrayList<java.lang.Class[]> paramlists, IPersistentVector argexprs, java.util.List<java.lang.Class> rets)
public static java.lang.String munge(java.lang.String name)
static Compiler.PathNode clearPathRoot()
private static Compiler.LocalBinding registerLocal(Symbol sym, Symbol tag, Compiler.Expr init, boolean isArg)
private static int getAndIncLocalNum()
public static Compiler.Expr analyze(Compiler.C context, java.lang.Object form)
private static Compiler.Expr analyze(Compiler.C context, java.lang.Object form, java.lang.String name)
public static Var isMacro(java.lang.Object op)
public static IFn isInline(java.lang.Object op, int arity)
public static boolean namesStaticMember(Symbol sym)
public static java.lang.Object preserveTag(ISeq src, java.lang.Object dst)
public static java.lang.Object macroexpand1(java.lang.Object x)
static java.lang.Object macroexpand(java.lang.Object form)
private static Compiler.Expr analyzeSeq(Compiler.C context, ISeq form, java.lang.String name)
static java.lang.String errorMsg(java.lang.String source, int line, int column, java.lang.String s)
public static java.lang.Object eval(java.lang.Object form)
public static java.lang.Object eval(java.lang.Object form, boolean freshLoader)
private static int registerConstant(java.lang.Object o)
private static Compiler.KeywordExpr registerKeyword(Keyword keyword)
private static int registerKeywordCallsite(Keyword keyword)
private static int registerProtocolCallsite(Var v)
private static void registerVarCallsite(Var v)
static ISeq fwdPath(Compiler.PathNode p1)
static Compiler.PathNode commonPath(Compiler.PathNode n1, Compiler.PathNode n2)
static void addAnnotation(java.lang.Object visitor, IPersistentMap meta)
static void addParameterAnnotation(java.lang.Object visitor, IPersistentMap meta, int i)
private static Compiler.Expr analyzeSymbol(Symbol sym)
static java.lang.String destubClassName(java.lang.String className)
static Type getType(java.lang.Class c)
static java.lang.Object resolve(Symbol sym, boolean allowPrivate)
static java.lang.Object resolve(Symbol sym)
private static void registerVar(Var var)
static Namespace currentNS()
static void closeOver(Compiler.LocalBinding b, Compiler.ObjMethod method)
static Compiler.LocalBinding referenceLocal(Symbol sym)
private static Symbol tagOf(java.lang.Object o)
public static java.lang.Object loadFile(java.lang.String file) throws java.io.IOException
java.io.IOException
public static java.lang.Object load(java.io.Reader rdr)
public static java.lang.Object load(java.io.Reader rdr, java.lang.String sourcePath, java.lang.String sourceName)
public static void writeClassFile(java.lang.String internalName, byte[] bytecode) throws java.io.IOException
java.io.IOException
public static void pushNS()
public static void pushNSandLoader(java.lang.ClassLoader loader)
public static ILookupThunk getLookupThunk(java.lang.Object target, Keyword k)
static void compile1(GeneratorAdapter gen, Compiler.ObjExpr objx, java.lang.Object form)
public static java.lang.Object compile(java.io.Reader rdr, java.lang.String sourcePath, java.lang.String sourceName) throws java.io.IOException
java.io.IOException
static java.lang.Class primClass(Symbol sym)
static java.lang.Class tagClass(java.lang.Object tag)
static java.lang.Class primClass(java.lang.Class c)
static java.lang.Class boxClass(java.lang.Class p)
static IPersistentCollection emptyVarCallSites()