public boolean isPublic(){ return !RT.booleanCast(meta().valAt(privateKey)); }
public Object getTag(){ return meta().valAt(RT.TAG_KEY); }
public boolean isPublic(){ return !RT.booleanCast(meta().valAt(privateKey)); }
public boolean isMacro(){ return RT.booleanCast(meta().valAt(macroKey)); }
public boolean isMacro(){ return RT.booleanCast(meta().valAt(macroKey)); }
static public IFn isInline(Object op, int arity) { //no local inlines for now if(op instanceof Symbol && referenceLocal((Symbol) op) != null) return null; if(op instanceof Symbol || op instanceof Var) { Var v = (op instanceof Var) ? (Var) op : lookupVar((Symbol) op, false); if(v != null) { if(v.ns != currentNS() && !v.isPublic()) throw new IllegalStateException("var: " + v + " is not public"); IFn ret = (IFn) RT.get(v.meta(), inlineKey); if(ret != null) { IFn arityPred = (IFn) RT.get(v.meta(), inlineAritiesKey); if(arityPred == null || RT.booleanCast(arityPred.invoke(arity))) return ret; } } } return null; }
@Override public boolean isMacro() { Var v=RT.var(sym.getNamespace(),sym.getName()); return KissUtils.isTruthy(v.meta().valAt(Keywords.MACRO)); }
public static Expr parse(Var v, ISeq args, Symbol tag) { IPersistentCollection paramlists = (IPersistentCollection) RT.get(v.meta(), arglistsKey); if(paramlists == null) throw new IllegalStateException("Can't call static fn with no arglists: " + v);
Var pvar = (Var)RT.get(fvar.meta(), protocolKey); if(pvar != null && PROTOCOL_CALLSITES.isBound())
IPersistentMap vm = v.meta();
if(isMacro(v) != null) throw Util.runtimeException("Can't take value of a macro: " + v); if(RT.booleanCast(RT.get(v.meta(),RT.CONST_KEY))) return analyze(C.EXPRESSION, RT.list(QUOTE, v.get())); registerVar(v);