blob: 9216c5bced2b2d0120eef610c748b2db5080516c [file] [log] [blame]
// Copyright (c) 2011, 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.
package com.google.dart.compiler;
import com.google.dart.compiler.ast.DartUnit;
/**
* Interface that {@link DartCompiler} consumers can use to monitor compilation progress and report
* various problems that occur during compilation.
*/
public interface DartCompilerListener {
/**
* Called by the compiler when a compilation error has occurred in a Dart file.
*
* @param event the event information (not <code>null</code>)
*/
void onError(DartCompilationError event);
/**
* Called by the compiler before parsing given {@link DartSource}.
*/
void unitAboutToCompile(DartSource source, boolean diet);
/**
* Called by the compiler after the resolution and type analyzer phase for each unit.
*
* @param unit the {@link DartUnit} having just been compiled (not <code>null</code>)
*/
void unitCompiled(DartUnit unit);
/**
* Implementation of {@link DartCompilerListener} which does nothing.
*/
public static class Empty implements DartCompilerListener {
@Override
public void onError(DartCompilationError event) {
}
@Override
public void unitAboutToCompile(DartSource source, boolean diet) {
}
@Override
public void unitCompiled(DartUnit unit) {
}
}
/**
* Instance of {@link DartCompilerListener} which does nothing.
*/
public static final DartCompilerListener EMPTY = new Empty();
}