net.sf.antcontrib.cpptasks.compiler
Class AbstractCompiler
java.lang.Object
net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
net.sf.antcontrib.cpptasks.compiler.AbstractCompiler
- All Implemented Interfaces:
- java.lang.Cloneable, Compiler, Processor
- Direct Known Subclasses:
- CommandLineCompiler
public abstract class AbstractCompiler
- extends AbstractProcessor
- implements Compiler
An abstract compiler implementation.
- Author:
- Adam Murdoch, Curt Arnold
Constructor Summary |
protected |
AbstractCompiler(java.lang.String[] sourceExtensions,
java.lang.String[] headerExtensions,
java.lang.String outputSuffix)
|
Method Summary |
protected boolean |
canParse(java.io.File sourceFile)
Checks file name to see if parse should be attempted
Default implementation returns false for files with extensions '.dll',
'tlb', '.res' |
protected abstract CompilerConfiguration |
createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
CompilerDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
|
ProcessorConfiguration |
createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
ProcessorDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
Returns the compiler configuration for or element. |
protected abstract Parser |
createParser(java.io.File sourceFile)
|
protected java.lang.String |
getBaseOutputName(java.lang.String inputFile)
|
java.lang.String[] |
getOutputFileNames(java.lang.String inputFile,
VersionInfo versionInfo)
Output file name (no path components) corresponding to source file |
DependencyInfo |
parseIncludes(CCTask task,
java.io.File source,
java.io.File[] includePath,
java.io.File[] sysIncludePath,
java.io.File[] envIncludePath,
java.io.File baseDir,
java.lang.String includePathIdentifier)
Returns dependency info for the specified source file |
protected boolean |
resolveInclude(java.lang.String includeName,
java.io.File[] includePath,
java.util.Vector onThisPath)
|
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor |
bid, changeEnvironment, clone, getHeaderExtensions, getIdentifier, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
AbstractCompiler
protected AbstractCompiler(java.lang.String[] sourceExtensions,
java.lang.String[] headerExtensions,
java.lang.String outputSuffix)
canParse
protected boolean canParse(java.io.File sourceFile)
- Checks file name to see if parse should be attempted
Default implementation returns false for files with extensions '.dll',
'tlb', '.res'
createConfiguration
protected abstract CompilerConfiguration createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
CompilerDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
createConfiguration
public ProcessorConfiguration createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
ProcessorDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
- Description copied from interface:
Processor
- Returns the compiler configuration for or element.
- Specified by:
createConfiguration
in interface Processor
baseConfigs
- When specificConfig corresponds to a or linker
element, defaultProvider will be a zero to two element array.
If there is an extends attribute, the first element will be
the referenced ProcessorDef, unless inherit = false, the last
element will be the containing elementspecificConfig
- A or element.
- Returns:
- resulting configuration
createParser
protected abstract Parser createParser(java.io.File sourceFile)
getBaseOutputName
protected java.lang.String getBaseOutputName(java.lang.String inputFile)
getOutputFileNames
public java.lang.String[] getOutputFileNames(java.lang.String inputFile,
VersionInfo versionInfo)
- Description copied from interface:
Processor
- Output file name (no path components) corresponding to source file
- Specified by:
getOutputFileNames
in interface Processor
- Parameters:
inputFile
- input file
- Returns:
- output file name or null if no output file or name not
determined by input file
parseIncludes
public final DependencyInfo parseIncludes(CCTask task,
java.io.File source,
java.io.File[] includePath,
java.io.File[] sysIncludePath,
java.io.File[] envIncludePath,
java.io.File baseDir,
java.lang.String includePathIdentifier)
- Returns dependency info for the specified source file
- Parameters:
task
- task for any diagnostic outputsource
- file to be parsedincludePath
- include path to be used to resolve included filessysIncludePath
- sysinclude path from build file, files resolved using
sysInclude path will not participate in dependency analysisenvIncludePath
- include path from environment variable, files resolved with
envIncludePath will not participate in dependency analysisbaseDir
- used to produce relative paths in DependencyInfoincludePathIdentifier
- used to distinguish DependencyInfo's from different include
path settings
resolveInclude
protected boolean resolveInclude(java.lang.String includeName,
java.io.File[] includePath,
java.util.Vector onThisPath)
Copyright © 2001-2008 Ant-Contrib Project. All Rights Reserved.