Files
sdk/pkg/dev_compiler/test/codegen/language/conditional_access_helper.dart
T
John Messerly 74c760066b implement null aware ops, fixes #249
this also implements multitest support, which fixes #280

Fixes some other preexisting bugs:
* MetaLets did not simplify themselves correctly in some nested cases
* Library prefixed identifiers did not work as lvalues in opassign
* dsetindex/dput/[]= methods did not return a value
* checker did not correctly handle invalid constructor field initializers
* cascades did not correctly work with method invocations(?)
* postfix ++/-- did not correctly generate lvalues in some cases

The good news: because this reuses on our existing lvalue/metalet helpers, it managed to flush out a lot of bugs in other features that use them.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1316723003 .
2015-08-25 15:13:18 -07:00

40 lines
837 B
Dart

// Copyright (c) 2015, 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.
// Library used by conditional_property_assignment_test.dart,
// conditional_property_access_test.dart, and
// conditional_method_invocation_test.dart, all of which import it using the
// prefix "h.".
library lib;
var topLevelVar;
void topLevelFunction() {}
class C {
static int staticInt;
static staticF(callback()) => callback();
static int staticG(int callback()) => callback();
}
C nullC() => null;
class D {
static E staticE;
}
class E {
G operator+(int i) => new I();
G operator-(int i) => new I();
}
class F {}
class G extends E implements F {}
class H {}
class I extends G implements H {}