home *** CD-ROM | disk | FTP | other *** search
- package espresso;
-
- class Ident extends IdRef {
- void print(int var1) {
- System.out.print(super.name);
- }
-
- Item gen() {
- if (super.obj instanceof ClassObj) {
- return new ClassItem((ClassObj)super.obj);
- } else if (super.obj.isConstant()) {
- return new ImmediateItem(((VarObj)super.obj).constValue());
- } else if (super.obj.owner instanceof FunObj) {
- VarObj var1 = (VarObj)super.obj;
- LocalItem var2 = new LocalItem(super.pos, var1.adr);
- return var2;
- } else if (super.obj.owner instanceof ClassObj) {
- return new BasedItem(super.pos, Item.thisItem, super.obj);
- } else {
- throw new CompilerError("gen");
- }
- }
-
- AST simplify() {
- return (AST)(super.obj instanceof VarObj && ((VarObj)super.obj).passByRef ? new Subscript(super.pos, this, new Literal(super.pos, 90, new Integer(0))) : this);
- }
-
- Typ attr(Env var1, int var2, Typ var3) {
- super.obj = Attr.resolve(super.pos, var1, var1.scope, var2, var3, super.name, 0);
- if (var1.isStatic) {
- super.obj = Attr.checkStatic(super.pos, super.obj);
- } else if (var1.isSelfCall) {
- super.obj = Attr.checkStaticOrFinal(super.pos, super.obj);
- }
-
- Simplify.markFree(var1, super.obj);
- super.typ = Attr.checkTyp(super.pos, super.obj.typ, var3);
- return super.typ;
- }
-
- boolean isType() {
- return true;
- }
-
- boolean isExpr() {
- return true;
- }
-
- Ident(int var1, Name var2) {
- super(var1, 1, var2);
- }
- }
-