public static final int DOUBLE=8;
public static final int VOID=9;
public static final int NULL=10;
- public static final int CLASS=11;
+ public static final int TAG=11;
+ public static final int CLASS=12;
int arraycount;
return "D";
else if (isFloat())
return "F";
+ else if (isTag())
+ return "T";
else throw new Error();
}
}
public boolean isPtr() {
- return (isClass()||isNull());
+ return (isClass()||isNull()||isTag());
}
public boolean isIntegerType() {
public boolean isClass() {
return type==CLASS;
}
+
+ public boolean isTag() {
+ return type==TAG;
+ }
public TypeDescriptor(NameDescriptor name) {
super(name.toString());
this.arraycount=0;
}
- private TypeDescriptor(String st) {
+ public TypeDescriptor(String st) {
super(st);
+ this.type=CLASS;
+ this.class_desc=null;
+ this.arraycount=0;
}
public ClassDescriptor getClassDesc() {
return "void";
else if (type==NULL)
return "null";
+ else if (type==TAG)
+ return TypeUtil.TagClass;
else throw new Error();
}
}