library;
import self as self;
import "dart:core" as core;

static field core::int i = 5;
static const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/regress/issue_31185.dart:8:15: Error: Expected ';' before this.
  return i ++ (i);
              ^", "pkg/front_end/testcases/regress/issue_31185.dart:12:17: Error: Expected ';' before this.
  return (i) ++ (i);
                ^"]/* from null */;
static method test1() → core::int {
  return let final core::int #t1 = self::i in let final core::int #t2 = self::i = #t1.{core::num::+}(1) in #t1;
  self::i;
}
static method test2() → core::int {
  return (let final core::int #t3 = self::i in let final core::int #t4 = #t3 in let final dynamic #t5 = invalid-expression "pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
  return (i) ++ (i);
           ^" in #t4) as{TypeError} core::int;
  self::i;
}
static method main() → dynamic {
  self::test1();
}
