Class AbstractProcessor

java.lang.Object
net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
All Implemented Interfaces:
Cloneable, Processor
Direct Known Subclasses:
AbstractCompiler, AbstractLinker

public abstract class AbstractProcessor extends Object implements Processor, Cloneable
An abstract processor (compiler/linker) implementation.
  • Field Details

    • DEFAULT_DISCARD_BID

      public static final int DEFAULT_DISCARD_BID
      default bid for a file name that the processor recognizes but does not process and does not want to fall through to the linker
      See Also:
    • DEFAULT_PROCESS_BID

      public static final int DEFAULT_PROCESS_BID
      default bid for a file name that the processor desires to process
      See Also:
    • headerExtensions

      private final String[] headerExtensions
    • sourceExtensions

      private final String[] sourceExtensions
  • Constructor Details

    • AbstractProcessor

      protected AbstractProcessor(String[] sourceExtensions, String[] headerExtensions)
  • Method Details

    • getIdentifier

      protected static String getIdentifier(String[] command, String fallback)
      Determines the identification of a command line processor by capture the first line of its output for a specific command.
      Parameters:
      command - array of command line arguments starting with executable name. For example, { "cl" }
      fallback - start of identifier if there is an error in executing the command
      Returns:
      identifier for the processor
    • bid

      public int bid(String inputFile)
      Returns the bid of the processor for the file.
      Specified by:
      bid in interface Processor
      Parameters:
      inputFile - filename of input file
      Returns:
      bid for the file, 0 indicates no interest, 1 indicates that the processor recognizes the file but doesn't process it (header files, for example), 100 indicates strong interest
    • changeEnvironment

      public Processor changeEnvironment(boolean newEnvironment, org.apache.tools.ant.types.Environment env)
      Specified by:
      changeEnvironment in interface Processor
    • clone

      protected Object clone() throws CloneNotSupportedException
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • getHeaderExtensions

      public String[] getHeaderExtensions()
    • getIdentifier

      public abstract String getIdentifier()
      Description copied from interface: Processor
      Retrieve an identifier that identifies the specific version of the compiler. Compilers with the same identifier should produce the same output files for the same input files and command line switches.
      Specified by:
      getIdentifier in interface Processor
    • getOSArch

      protected String getOSArch()
      Gets the target operating system architecture
      Returns:
      String target operating system architecture
    • getOSName

      protected String getOSName()
      Gets the target operating system name
      Returns:
      String target operating system name
    • getSourceExtensions

      public String[] getSourceExtensions()
    • isDarwin

      protected boolean isDarwin()
      Returns true if the target operating system is Mac OS X or Darwin.
      Returns:
      boolean
    • toString

      public final String toString()
      Overrides:
      toString in class Object