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

class C<T extends core::num = dynamic> extends core::Object {
  field self::C::T a = null;
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method op(core::int b) → void {
    self::C::T r1 = this.{self::C::a}.+(b);
    self::C::T r2 = this.{self::C::a}.-(b);
    self::C::T r3 = this.{self::C::a}.*(b);
  }
  method opEq(core::int b) → void {
    this.{self::C::a} = this.{self::C::a}.+(b);
    this.{self::C::a} = this.{self::C::a}.-(b);
    this.{self::C::a} = this.{self::C::a}.*(b);
  }
}
static method main() → dynamic {}
