/* */ }
/* */
/* */ public void atCallExpr(CallExpr expr) throws CompileError {
/* 449 */ String mname = null;
/* 450 */ CtClass targetClass = null;
/* 451 */ ASTree method = expr.oprand1();
/* 452 */ ASTList args = (ASTList)expr.oprand2();
/* 453 */ boolean isStatic = false;
/* 454 */ boolean isSpecial = false;
/* 455 */ int aload0pos = -1;
/* */
/* 457 */ MemberResolver.Method cached = expr.getMethod();
/* 458 */ if ((method instanceof Member)) {
/* 459 */ mname = ((Member)method).get();
/* 460 */ targetClass = this.thisClass;
/* 461 */ if ((this.inStaticMethod) || ((cached != null) && (cached.isStatic()))) {
/* 462 */ isStatic = true;
/* */ } else {
/* 464 */ aload0pos = this.bytecode.currentPc();
/* 465 */ this.bytecode.addAload(0);
/* */ }
/* */ }
/* 468 */ else if ((method instanceof Keyword)) {
/* 469 */ isSpecial = true;
/* 470 */ mname = "<init>";
/* 471 */ targetClass = this.thisClass;
/* 472 */ if (this.inStaticMethod) {
/* 473 */ throw new CompileError("a constructor cannot be static");
/* */ }
/* 475 */ this.bytecode.addAload(0);
/* */
/* 477 */ if (((Keyword)method).get() == 336)
/* 478 */ targetClass = MemberResolver.getSuperclass(targetClass);
/* */ }
/* 480 */ else if ((method instanceof Expr)) {
/* 481 */ Expr e = (Expr)method;
/* 482 */ mname = ((Symbol)e.oprand2()).get();
/* 483 */ int op = e.getOperator();
/* 484 */ if (op == 35) {
/* 485 */ targetClass = this.resolver.lookupClass(((Symbol)e.oprand1()).get(), false);
/* */
/* 487 */ isStatic = true;
/* */ }
/* 489 */ else if (op == 46) {
/* 490 */ ASTree target = e.oprand1();
/* 491 */ if (((target instanceof Keyword)) &&
/* 492 */ (((Keyword)target).get() == 336))
/* 493 */ isSpecial = true;
/* */ try
/* */ {
/* 496 */ target.accept(this);
/* */ }
/* */ catch (NoFieldException nfe) {
/* 499 */ if (nfe.getExpr() != target) {
/* 500 */ throw nfe;
/* */ }