/* */
/* */ public void atExpr(Expr expr)
/* */ throws CompileError
/* */ {
/* 562 */ int token = expr.getOperator();
/* 563 */ ASTree oprand = expr.oprand1();
/* 564 */ if (token == 46) {
/* 565 */ String member = ((Symbol)expr.oprand2()).get();
/* 566 */ if (member.equals("length"))
/* 567 */ atArrayLength(expr);
/* 568 */ else if (member.equals("class"))
/* 569 */ atClassObject(expr);
/* */ else
/* 571 */ atFieldRead(expr);
/* */ }
/* 573 */ else if (token == 35) {
/* 574 */ String member = ((Symbol)expr.oprand2()).get();
/* 575 */ if (member.equals("class"))
/* 576 */ atClassObject(expr);
/* */ else
/* 578 */ atFieldRead(expr);
/* */ }
/* 580 */ else if (token == 65) {
/* 581 */ atArrayRead(oprand, expr.oprand2());
/* 582 */ } else if ((token == 362) || (token == 363)) {
/* 583 */ atPlusPlus(token, oprand, expr);
/* 584 */ } else if (token == 33) {
/* 585 */ booleanExpr(expr);
/* 586 */ } else if (token == 67) {
/* 587 */ fatal();
/* */ } else {
/* 589 */ oprand.accept(this);
/* 590 */ if ((!isConstant(expr, token, oprand)) &&
/* 591 */ ((token == 45) || (token == 126)) &&
/* 592 */ (CodeGen.isP_INT(this.exprType)))
/* 593 */ this.exprType = 324;
/* */ }