blob: 8514fd51646adeda331b4a75218d207101d8568d [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// @assertion Let E be an export directive that refers to a URI via the string
/// s1. Evaluation of E proceeds as follows:
/// First,
/// • If the URI that is the value of s1 has not yet been accessed by an import
/// or export directive in the current isolate then the contents of the URI
/// are compiled to yield a library B.
/// • Otherwise, the contents of the URI denoted by s1 have been compiled into
/// a library B within the current isolate.
/// Let NS0 be the exported namespace of B. Then, for each combinator clause
/// Ci, i in 1..n in E:
/// • If Ci is of the form show id1, ..., idk then let
/// NSi = show([id1, ..., idk], NSi-1).
/// • If Ci is of the form hide id1, ..., idk then let
/// NSi = hide([id1, ..., idk], NSi-1).
///
/// For each entry mapping key k to declaration d in NSn an entry mapping k to
/// d is added to the exported namespace of L unless a top-level declaration
/// with the name k exists in L.
///
/// @description Checks that referencing exported but undefined name cause
/// compile error
/// @note Most of this is already covered by 1_Imports_A02* tests.
/// @author rodionov
import "show_hide_t01_lib.dart";
main() {
var x = badaboo;
// ^
// [analyzer] unspecified
// [cfe] unspecified
}