# Copyright (c) 2017, 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.

# Sections in this file should contain "$compiler == dartdevc" or dartdevk.
[ $compiler == dartdevc ]
const_double_in_int_op_test/dd6: Skip # Triple shift
const_double_in_int_op_test/di6: Skip # Triple shift
const_double_in_int_op_test/id6: Skip # Triple shift
const_double_in_int_op_test/ii6: Skip # Triple shift
extension_methods/*: SkipByDesign # Analyzer DDC is expected to be turned down before releasing extension methods.
generic_no_such_method_dispatcher_simple_test: Skip # This test is just for kernel.
large_class_declaration_test: Slow
nnbd/*: Skip

[ $compiler == dartdevk && !$checked ]
assertion_initializer_const_error2_test/*: SkipByDesign # DDC does not support non-checked mode.

[ $compiler == dartdevc || $compiler == dartdevk ]
asyncstar_throw_in_catch_test: Skip # Times out. Issue 29920
int64_literal_test/*: Skip # This is testing Dart 2.0 int64 semantics.
superinterface_variance/*: Skip # Issue dart-lang/language#113
vm/*: SkipByDesign # VM only tests.; VM only tests.
