library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

import "package:expect/expect.dart";

static const field core::int firstException = self::firstExceptionFn();
static const field core::int lastException = self::lastExceptionFn();
static const field core::int singleException = self::singleExceptionFn();
static const field core::int singleExceptionMulti = self::singleExceptionMultiFn();
static const field core::int invalidProperty = self::invalidPropertyFn();
static const field core::int getWithIndexException = self::getWithIndexExceptionFn();
static const field core::int getWithIndexException2 = self::getWithIndexExceptionFn2();
static const field core::int getWithIndexException3 = self::getWithIndexExceptionFn3();
static method firstExceptionFn() → core::int
  ;
static method lastExceptionFn() → core::int
  ;
static method singleExceptionFn() → core::int
  ;
static method singleExceptionMultiFn() → core::int
  ;
static method invalidPropertyFn() → core::int
  ;
static method getWithIndexExceptionFn() → core::int
  ;
static method getWithIndexExceptionFn2() → core::int
  ;
static method getWithIndexExceptionFn3() → core::int
  ;
static method main() → void
  ;
