1 salcianu 1.1 // CompilerStage.java, created Sat Apr 12 12:52:09 2003 by salcianu 2 salcianu 1.1 // Copyright (C) 2003 Alexandru Salcianu <salcianu@MIT.EDU> 3 salcianu 1.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 salcianu 1.1 package harpoon.Main; 5 salcianu 1.1 6 salcianu 1.1 import java.util.List; 7 salcianu 1.1 import harpoon.Util.Options.Option; 8 salcianu 1.1 9 salcianu 1.1 /** 10 salcianu 1.1 * <code>CompilerStage</code> 11 salcianu 1.1 * 12 salcianu 1.1 * @author Alexandru Salcianu <salcianu@MIT.EDU> 13 cananian 1.3 * @version $Id: CompilerStage.java,v 1.3 2003/07/09 21:11:16 cananian Exp $ 14 salcianu 1.1 */ 15 salcianu 1.1 public abstract class CompilerStage { 16 salcianu 1.1 public CompilerStage(String name) { this.name = name; } 17 salcianu 1.1 public String name() { return name; } 18 salcianu 1.1 private final String name; 19 salcianu 1.1 20 cananian 1.3 public abstract List<Option> getOptions(); 21 salcianu 1.2 22 salcianu 1.2 public abstract boolean enabled(); 23 salcianu 1.2 24 salcianu 1.1 public abstract CompilerState action(CompilerState cs); 25 salcianu 1.1 }