Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

suifkernel/module.h

This is the verbatim text of the module.h include file.
/* -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
// $Id: module.h,v 1.2 2000/07/24 00:33:33 brm Exp $

#ifndef J2S_UTILS__MODULE_H
#define J2S_UTILS__MODULE_H

#include "suifkernel/suifkernel_forwarders.h"
#include "suifkernel/module.h"
#include "suifpasses/passes.h"


class j2s_Program : public Module {
protected:
  char* _usage_str;

  /// Java class file name given at command line
  String _class_file_name;

public:
  // Flags
  String _classnames_file;

  /// Add optional arguments here
  OptionSelection* _opt_flags;

  j2s_Program (SuifEnv* suif_env, const LString& moduleName);
  virtual ~j2s_Program() { };

  virtual void set_usage_str(char* str) { _usage_str= str; }
  virtual void usage_info();

  virtual Module* clone() const { return (Module*) this; }

  virtual void initialize();
  virtual bool parse_command_line( TokenStream* command_line_stream );
  virtual void execute() { };
};


class j2s_FrontEndPass : public FrontendPass {
protected:
  static String _dir_separator;

  /// Java class file name given at command line
  String _class_file_name;

  /// Name of output file
  String _outfile_name;

public:
  // Flags
  String _classnames_file;
  String _output_dir;
  bool _output_to_classfile_dir;
  bool _print_suif;
  bool _init_fsb;
  bool _help;

  /// Add optional arguments here
  OptionSelection* _opt_flags;

public:
  j2s_FrontEndPass(SuifEnv *env, const LString &name) 
    : FrontendPass(env, name){ }
  virtual ~j2s_FrontEndPass(void)  { }

  /// Name of the Java class file
  virtual String class_file_name();

  /// Name for the output file (with suffix).
  virtual String outfile_name();

  
  virtual String default_outfile_name() = 0;

  /// Returns default file suffix for the output file.
  static String default_file_suffix();

  
  virtual String file_suffix();

  virtual void initialize() = 0;
  virtual bool parse_command_line(TokenStream *command_line_stream);

  /// This method will be called by execute() of FrontendPass
  virtual FileSetBlock *build_file_set_block() = 0;
};

#endif /* J2S_UTILS__MODULE_H */

Generated at Wed Apr 25 17:35:00 2001 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999