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

class C<T extends core::num> 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 {}
