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 ByteType extends IntishType { 34 35 public String getName() { return "byte"; } 36 public int getTypeIndex() { return Type.BYTE; } 37 public Type getRefType() { return getTypeManager().getType("java.lang", "Byte"); } 38 39 public ByteType(JavaCompiler compiler) { 40 super(compiler); 41 } 42 43 LiteralExpr foldCast(LiteralExpr rand) { 45 return new IntLiteralExpr(getAST().getSourceLocation(), this, (byte)rand.getIntValue()); 46 } 47 48 public String getDescriptor() { return "B"; } 50 51 void emitCastFromInt(CodeBuilder cb) { cb.emitI2B(); } 53 void emitCastFromFloat(CodeBuilder cb) { cb.emitF2I(); cb.emitI2B(); } 54 void emitCastFromLong(CodeBuilder cb) { cb.emitL2I(); cb.emitI2B(); } 55 void emitCastFromDouble(CodeBuilder cb) { cb.emitD2I(); cb.emitI2B(); } 56 57 void emitAload(CodeBuilder cb) { cb.emitBALOAD(); } 58 void emitAstore(CodeBuilder cb) { cb.emitBASTORE(); } 59 60 61 } 62 | Popular Tags |