class JjLocalAssign_c extends LocalAssign_c {

  public JjLocalAssign_c(Position pos, Local 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) {
      // System.out.println("local assign: child type: "+child.type()+" child: "+child);
      return child.type();
    }

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

    return child.type();

  
<methods>public void <init>(polyglot.util.Position, polyglot.ast.Local, polyglot.ast.Assign.Operator, polyglot.ast.Expr) ,public polyglot.ast.Term entry() ,public polyglot.ast.Assign left(polyglot.ast.Expr) <variables>