1 24 25 package org.aspectj.compiler.base.ast; 26 27 import org.aspectj.compiler.base.*; 28 import java.io.IOException ; 29 30 import org.aspectj.compiler.base.bcg.CodeBuilder; 31 import org.aspectj.compiler.base.bcg.Label; 32 33 public final class CharType extends IntishType { 34 35 public String getName() { return "char"; } 36 public int getTypeIndex() { return Type.CHAR; } 37 public Type getRefType() { return getTypeManager().getType("java.lang", "Character"); } 38 39 public CharType(JavaCompiler compiler) { 40 super(compiler); 41 } 42 43 public String getDescriptor() { return "C"; } 45 46 LiteralExpr foldCast(LiteralExpr rand) { 48 return new IntLiteralExpr(rand.getSourceLocation(), this, (char)rand.getIntValue()); 49 } 50 51 void emitCastFromInt(CodeBuilder cb) { cb.emitI2C(); } 53 void emitCastFromFloat(CodeBuilder cb) { cb.emitF2I(); cb.emitI2C(); } 54 void emitCastFromLong(CodeBuilder cb) { cb.emitL2I(); cb.emitI2C(); } 55 void emitCastFromDouble(CodeBuilder cb) { cb.emitD2I(); cb.emitI2C(); } 56 57 void emitAload(CodeBuilder cb) { cb.emitCALOAD(); } 58 void emitAstore(CodeBuilder cb) { cb.emitCASTORE(); } 59 60 } 61 | Popular Tags |