MCPcopy Index your code
hub / github.com/clojure/clojure / emitConstants

Method emitConstants

src/jvm/clojure/lang/Compiler.java:5499–5518  ·  view source on GitHub ↗
(GeneratorAdapter clinitgen)

Source from the content-addressed store, hash-verified

5497
5498
5499 void emitConstants(GeneratorAdapter clinitgen){
5500 try
5501 {
5502 Var.pushThreadBindings(RT.map(RT.PRINT_DUP, RT.T));
5503
5504 for(int i = 0; i < constants.count(); i++)
5505 {
5506 if(usedConstants.contains(i))
5507 {
5508 emitValue(constants.nth(i), clinitgen);
5509 clinitgen.checkCast(constantType(i));
5510 clinitgen.putStatic(objtype, constantName(i), constantType(i));
5511 }
5512 }
5513 }
5514 finally
5515 {
5516 Var.popThreadBindings();
5517 }
5518 }
5519
5520 boolean isMutable(LocalBinding lb){
5521 return isVolatile(lb) ||

Callers 1

compileMethod · 0.95

Calls 11

pushThreadBindingsMethod · 0.95
mapMethod · 0.95
emitValueMethod · 0.95
constantTypeMethod · 0.95
constantNameMethod · 0.95
popThreadBindingsMethod · 0.95
checkCastMethod · 0.80
putStaticMethod · 0.80
countMethod · 0.65
containsMethod · 0.65
nthMethod · 0.65

Tested by

no test coverage detected