Class AbstractProcessor
- java.lang.Object
-
- net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
-
- All Implemented Interfaces:
java.lang.Cloneable
,Processor
- Direct Known Subclasses:
AbstractCompiler
,AbstractLinker
public abstract class AbstractProcessor extends java.lang.Object implements Processor, java.lang.Cloneable
An abstract processor (compiler/linker) implementation.
-
-
Field Summary
Fields Modifier and Type Field Description static 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 linkerstatic int
DEFAULT_PROCESS_BID
default bid for a file name that the processor desires to processprivate java.lang.String[]
headerExtensions
private java.lang.String[]
sourceExtensions
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractProcessor(java.lang.String[] sourceExtensions, java.lang.String[] headerExtensions)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
bid(java.lang.String inputFile)
Returns the bid of the processor for the file.Processor
changeEnvironment(boolean newEnvironment, org.apache.tools.ant.types.Environment env)
protected java.lang.Object
clone()
java.lang.String[]
getHeaderExtensions()
abstract java.lang.String
getIdentifier()
Retrieve an identifier that identifies the specific version of the compiler.protected static java.lang.String
getIdentifier(java.lang.String[] command, java.lang.String fallback)
Determines the identification of a command line processor by capture the first line of its output for a specific command.protected java.lang.String
getOSArch()
Gets the target operating system architectureprotected java.lang.String
getOSName()
Gets the target operating system namejava.lang.String[]
getSourceExtensions()
protected boolean
isDarwin()
Returns true if the target operating system is Mac OS X or Darwin.java.lang.String
toString()
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.antcontrib.cpptasks.compiler.Processor
createConfiguration, getLinker, getOutputFileNames
-
-
-
-
Field Detail
-
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:
- Constant Field Values
-
DEFAULT_PROCESS_BID
public static final int DEFAULT_PROCESS_BID
default bid for a file name that the processor desires to process- See Also:
- Constant Field Values
-
headerExtensions
private final java.lang.String[] headerExtensions
-
sourceExtensions
private final java.lang.String[] sourceExtensions
-
-
Method Detail
-
getIdentifier
protected static java.lang.String getIdentifier(java.lang.String[] command, java.lang.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(java.lang.String inputFile)
Returns the bid of the processor for the file.
-
changeEnvironment
public Processor changeEnvironment(boolean newEnvironment, org.apache.tools.ant.types.Environment env)
- Specified by:
changeEnvironment
in interfaceProcessor
-
clone
protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
- Overrides:
clone
in classjava.lang.Object
- Throws:
java.lang.CloneNotSupportedException
-
getHeaderExtensions
public java.lang.String[] getHeaderExtensions()
-
getIdentifier
public abstract java.lang.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 interfaceProcessor
-
getOSArch
protected java.lang.String getOSArch()
Gets the target operating system architecture- Returns:
- String target operating system architecture
-
getOSName
protected java.lang.String getOSName()
Gets the target operating system name- Returns:
- String target operating system name
-
getSourceExtensions
public java.lang.String[] getSourceExtensions()
-
isDarwin
protected boolean isDarwin()
Returns true if the target operating system is Mac OS X or Darwin.- Returns:
- boolean
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-