public static class Compiler.ObjExpr extends java.lang.Object implements Compiler.Expr
Modifier and Type | Field and Description |
---|---|
(package private) int |
altCtorDrops |
private byte[] |
bytecode |
protected IPersistentMap |
classMeta |
(package private) IPersistentMap |
closes |
(package private) IPersistentVector |
closesExprs |
(package private) int |
column |
(package private) java.lang.Class |
compiledClass |
(package private) static java.lang.String |
CONST_PREFIX |
(package private) PersistentVector |
constants |
(package private) int |
constantsID |
(package private) static Type |
DYNAMIC_CLASSLOADER_TYPE |
(package private) IPersistentMap |
fields |
(package private) static Method |
getClassLoaderMethod |
(package private) static Method |
getClassMethod |
(package private) static Method |
getConstantsMethod |
(package private) IPersistentVector |
hintedFields |
(package private) static Type |
ILOOKUP_SITE_TYPE |
(package private) static Type |
ILOOKUP_THUNK_TYPE |
(package private) java.lang.String |
internalName |
protected boolean |
isStatic |
(package private) static Type |
KEYWORD_LOOKUPSITE_TYPE |
(package private) IPersistentVector |
keywordCallsites |
(package private) IPersistentMap |
keywords |
(package private) static Method |
kwintern |
(package private) int |
line |
private DynamicClassLoader |
loader |
(package private) java.lang.String |
name |
(package private) Type |
objtype |
(package private) boolean |
onceOnly |
(package private) IPersistentVector |
protocolCallsites |
(package private) static Method |
readStringMethod |
(package private) java.lang.Object |
src |
(package private) static Method |
symintern |
java.lang.Object |
tag |
(package private) java.lang.String |
thisName |
(package private) IPersistentSet |
varCallsites |
(package private) static Method |
varGetMethod |
(package private) static Method |
varGetRawMethod |
(package private) static Method |
varintern |
(package private) IPersistentMap |
vars |
(package private) static Method |
voidctor |
(package private) IPersistentSet |
volatiles |
Constructor and Description |
---|
Compiler.ObjExpr(java.lang.Object tag) |
Modifier and Type | Method and Description |
---|---|
(package private) java.lang.String |
cachedClassName(int n) |
(package private) java.lang.String |
cachedProtoFnName(int n) |
(package private) java.lang.String |
cachedProtoImplName(int n) |
(package private) java.lang.String |
cachedVarName(int n) |
IPersistentMap |
closes() |
int |
column() |
(package private) void |
compile(java.lang.String superName,
java.lang.String[] interfaceNames,
boolean oneTimeUse) |
java.lang.Class |
compiledClass() |
(package private) java.lang.String |
constantName(int id) |
PersistentVector |
constants() |
int |
constantsID() |
(package private) Type |
constantType(int id) |
(package private) Type[] |
ctorTypes() |
void |
emit(Compiler.C context,
Compiler.ObjExpr objx,
GeneratorAdapter gen) |
void |
emitAssignLocal(GeneratorAdapter gen,
Compiler.LocalBinding lb,
Compiler.Expr val) |
(package private) void |
emitClearCloses(GeneratorAdapter gen) |
void |
emitConstant(GeneratorAdapter gen,
int id) |
(package private) void |
emitConstants(GeneratorAdapter clinitgen) |
void |
emitKeyword(GeneratorAdapter gen,
Keyword k) |
private void |
emitKeywordCallsites(GeneratorAdapter clinitgen) |
void |
emitLetFnInits(GeneratorAdapter gen,
Compiler.ObjExpr objx,
IPersistentSet letFnLocals) |
(package private) void |
emitListAsObjectArray(java.lang.Object value,
GeneratorAdapter gen) |
private void |
emitLocal(GeneratorAdapter gen,
Compiler.LocalBinding lb,
boolean clear) |
protected void |
emitMethods(ClassVisitor gen) |
protected void |
emitStatics(ClassVisitor gen) |
private void |
emitUnboxedLocal(GeneratorAdapter gen,
Compiler.LocalBinding lb) |
(package private) void |
emitValue(java.lang.Object value,
GeneratorAdapter gen) |
void |
emitVar(GeneratorAdapter gen,
Var var) |
void |
emitVarValue(GeneratorAdapter gen,
Var v) |
java.lang.Object |
eval() |
(package private) java.lang.Class |
getCompiledClass() |
java.lang.Class |
getJavaClass() |
boolean |
hasJavaClass() |
java.lang.String |
internalName() |
(package private) boolean |
isDeftype() |
(package private) boolean |
isMutable(Compiler.LocalBinding lb) |
(package private) boolean |
isVolatile(Compiler.LocalBinding lb) |
IPersistentMap |
keywords() |
int |
line() |
java.lang.String |
name() |
Type |
objtype() |
(package private) java.lang.String |
siteName(int n) |
(package private) java.lang.String |
siteNameStatic(int n) |
(package private) boolean |
supportsMeta() |
java.lang.String |
thisName() |
(package private) java.lang.String |
thunkName(int n) |
(package private) java.lang.String |
thunkNameStatic(int n) |
(package private) static java.lang.String |
trimGenID(java.lang.String name) |
(package private) java.lang.String |
varCallsiteName(int n) |
IPersistentMap |
vars() |
static final java.lang.String CONST_PREFIX
java.lang.String name
java.lang.String internalName
java.lang.String thisName
Type objtype
public final java.lang.Object tag
IPersistentMap closes
IPersistentVector closesExprs
IPersistentSet volatiles
IPersistentMap fields
IPersistentVector hintedFields
IPersistentMap keywords
IPersistentMap vars
java.lang.Class compiledClass
int line
int column
PersistentVector constants
int constantsID
int altCtorDrops
IPersistentVector keywordCallsites
IPersistentVector protocolCallsites
IPersistentSet varCallsites
boolean onceOnly
java.lang.Object src
static final Method voidctor
protected IPersistentMap classMeta
protected boolean isStatic
static final Method kwintern
static final Method symintern
static final Method varintern
static final Type DYNAMIC_CLASSLOADER_TYPE
static final Method getClassMethod
static final Method getClassLoaderMethod
static final Method getConstantsMethod
static final Method readStringMethod
static final Type ILOOKUP_SITE_TYPE
static final Type ILOOKUP_THUNK_TYPE
static final Type KEYWORD_LOOKUPSITE_TYPE
private DynamicClassLoader loader
private byte[] bytecode
static final Method varGetMethod
static final Method varGetRawMethod
public final java.lang.String name()
public final java.lang.String internalName()
public final java.lang.String thisName()
public final Type objtype()
public final IPersistentMap closes()
public final IPersistentMap keywords()
public final IPersistentMap vars()
public final java.lang.Class compiledClass()
public final int line()
public final int column()
public final PersistentVector constants()
public final int constantsID()
static java.lang.String trimGenID(java.lang.String name)
Type[] ctorTypes()
void compile(java.lang.String superName, java.lang.String[] interfaceNames, boolean oneTimeUse) throws java.io.IOException
java.io.IOException
private void emitKeywordCallsites(GeneratorAdapter clinitgen)
protected void emitStatics(ClassVisitor gen)
protected void emitMethods(ClassVisitor gen)
void emitListAsObjectArray(java.lang.Object value, GeneratorAdapter gen)
void emitValue(java.lang.Object value, GeneratorAdapter gen)
void emitConstants(GeneratorAdapter clinitgen)
boolean isMutable(Compiler.LocalBinding lb)
boolean isVolatile(Compiler.LocalBinding lb)
boolean isDeftype()
boolean supportsMeta()
void emitClearCloses(GeneratorAdapter gen)
java.lang.Class getCompiledClass()
public java.lang.Object eval()
eval
in interface Compiler.Expr
public void emitLetFnInits(GeneratorAdapter gen, Compiler.ObjExpr objx, IPersistentSet letFnLocals)
public void emit(Compiler.C context, Compiler.ObjExpr objx, GeneratorAdapter gen)
emit
in interface Compiler.Expr
public boolean hasJavaClass()
hasJavaClass
in interface Compiler.Expr
public java.lang.Class getJavaClass()
getJavaClass
in interface Compiler.Expr
public void emitAssignLocal(GeneratorAdapter gen, Compiler.LocalBinding lb, Compiler.Expr val)
private void emitLocal(GeneratorAdapter gen, Compiler.LocalBinding lb, boolean clear)
private void emitUnboxedLocal(GeneratorAdapter gen, Compiler.LocalBinding lb)
public void emitVar(GeneratorAdapter gen, Var var)
public void emitVarValue(GeneratorAdapter gen, Var v)
public void emitKeyword(GeneratorAdapter gen, Keyword k)
public void emitConstant(GeneratorAdapter gen, int id)
java.lang.String constantName(int id)
java.lang.String siteName(int n)
java.lang.String siteNameStatic(int n)
java.lang.String thunkName(int n)
java.lang.String cachedClassName(int n)
java.lang.String cachedVarName(int n)
java.lang.String cachedProtoFnName(int n)
java.lang.String cachedProtoImplName(int n)
java.lang.String varCallsiteName(int n)
java.lang.String thunkNameStatic(int n)
Type constantType(int id)