library;
import self as self;
import "export_twice_lib1.dart" as exp;

import "org-dartlang-testcase:///export_twice_lib1.dart";
import "org-dartlang-testcase:///export_twice_lib2.dart";

static method main() → dynamic {
  exp::Extension|method(new exp::Class::•());
}

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

class Class extends core::Object {
  synthetic constructor •() → exp::Class
    : super core::Object::•()
    ;
}
extension Extension on exp::Class {
  method method = exp::Extension|method;
  tearoff method = exp::Extension|get#method;
}
static extension-member method Extension|method(lowered final exp::Class #this) → dynamic {}
static extension-member method Extension|get#method(lowered final exp::Class #this) → () → dynamic
  return () → dynamic => exp::Extension|method(#this);

library;
import self as self2;
import "export_twice_lib1.dart" as exp;
additionalExports = (exp::Extension)

export "org-dartlang-testcase:///export_twice_lib1.dart" show Extension;
