blob: 600f1334429d70cfd1d89f613f2ff986211aebda [file] [log] [blame]
// 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
}