class JjArrayAccessAssign_c extends ArrayAccessAssign_c {

  public JjArrayAccessAssign_c(Position pos, ArrayAccess left, Operator op, Expr right) {
    super(pos, left, op, right);
  }

  public Type childExpectedType(Expr child, AscriptionVisitor av) {<FILL_FUNCTION_BODY>}
}

    if (op == SHL_ASSIGN || op == SHR_ASSIGN || op == USHR_ASSIGN) {
      return child.type();
    }

    if (child == right) {
      return left.type();
    }

    return child.type();

  
<methods>public void <init>(polyglot.util.Position, polyglot.ast.ArrayAccess, polyglot.ast.Assign.Operator, polyglot.ast.Expr) ,public polyglot.ast.Term entry() ,public polyglot.ast.Assign left(polyglot.ast.Expr) ,public List#RAW throwTypes(polyglot.types.TypeSystem) ,public boolean throwsArrayStoreException() <variables>