blob: e1f74cc3b59224cc39df300addf6612547fbf368 [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'bitfield.dart' as bitfield;
/// The dart:html implementation of [bitfield.kMaxUnsignedSMI].
///
/// This value is used as an optimization to coerce some numbers to be within
/// the SMI range and avoid heap allocations. Because number encoding is
/// VM-specific, there's no guarantee that this optimization will be effective
/// on all JavaScript engines. The value picked here should be correct, but it
/// does not have to guarantee efficiency.
const int kMaxUnsignedSMI = -1;
/// The dart:html implementation of [bitfield.Bitfield].
class BitField<T extends dynamic> implements bitfield.BitField<T> {
/// The dart:html implementation of [bitfield.Bitfield].
// Can remove when we have metaclasses.
// ignore: avoid_unused_constructor_parameters
BitField(int length);
/// The dart:html implementation of [bitfield.Bitfield.filled].
// Can remove when we have metaclasses.
// ignore: avoid_unused_constructor_parameters
BitField.filled(int length, bool value);
@override
bool operator [](T index) {
throw UnsupportedError('Not supported when compiling to JavaScript');
}
@override
void operator []=(T index, bool value) {
throw UnsupportedError('Not supported when compiling to JavaScript');
}
@override
void reset([ bool value = false ]) {
throw UnsupportedError('Not supported when compiling to JavaScript');
}
}