blob: 482d9e8cc8f3788000a3345b6b6fdfda46c99339 [file] [log] [blame]
// Copyright (c) 2012, 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 dart2js.common.work;
import '../common.dart';
import '../compiler.dart' show
Compiler;
import '../elements/elements.dart' show
AstElement;
import '../enqueue.dart' show
Enqueuer;
import '../universe/world_impact.dart' show
WorldImpact;
/**
* Contains backend-specific data that is used throughout the compilation of
* one work item.
*/
class ItemCompilationContext {
}
abstract class WorkItem {
final ItemCompilationContext compilationContext;
/**
* Documentation wanted -- johnniwinther
*
* Invariant: [element] must be a declaration element.
*/
final AstElement element;
WorkItem(this.element, this.compilationContext) {
assert(invariant(element, element.isDeclaration));
}
WorldImpact run(Compiler compiler, Enqueuer world);
}