Files
sdk/pkg/dev_compiler/test/codegen/language/proxy3_test.dart
T
2015-09-16 16:00:46 -07:00

25 lines
775 B
Dart

// Copyright (c) 2013, 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.
// Test for static warnings for member access on classes with @proxy annotation.
const isFalse = identical(-0.0, 0);
const validProxy = isFalse ? null : proxy;
const invalidProxy = isFalse ? proxy : null;
@validProxy
class ValidProxy {}
@invalidProxy
class InvalidProxy {}
main() {
try { new InvalidProxy().foo; } catch (e) {} /// 01: static type warning
try { new InvalidProxy().foo(); } catch (e) {} /// 02: static type warning
try { new ValidProxy().foo; } catch (e) {} /// 03: ok
try { new ValidProxy().foo(); } catch (e) {} /// 04: ok
}