com.github.maven_nar.cpptasks.devstudio
Class DevStudioMessageCompiler

java.lang.Object
  extended by com.github.maven_nar.cpptasks.compiler.AbstractProcessor
      extended by com.github.maven_nar.cpptasks.compiler.AbstractCompiler
          extended by com.github.maven_nar.cpptasks.compiler.CommandLineCompiler
              extended by com.github.maven_nar.cpptasks.devstudio.DevStudioMessageCompiler
All Implemented Interfaces:
Compiler, Processor, Cloneable

public final class DevStudioMessageCompiler
extends CommandLineCompiler

Adapter for the Microsoft (r) Windows 32 Message Compiler

Author:
Greg Domjan MC [-?aAbcdnouUv] [-co] [-cs namespace] [-css namespace] [-e extension] [-h path] [-km] [-m length] [-mof] [-p prefix] [-P prefix] [-r path] [-s path] [-t path] [-w path] [-W path] [-x path] [-z name] filename [filename]

Field Summary
 
Fields inherited from class com.github.maven_nar.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
 
Method Summary
protected  void addImpliedArgs(Vector args, boolean debug, boolean multithreaded, boolean exceptions, LinkType linkType, Boolean rtti, OptimizationEnum optimization)
           
protected  void addIncludes(String baseDirPath, File[] includeDirs, Vector args, Vector relativeArgs, StringBuffer includePathId, boolean isSystem)
          Adds command-line arguments for include directories.
protected  void addWarningSwitch(Vector args, int level)
           
protected  boolean canParse(File sourceFile)
          Checks file name to see if parse should be attempted Default implementation returns false for files with extensions '.dll', 'tlb', '.res'
 Processor changeEnvironment(boolean newEnvironment, org.apache.tools.ant.types.Environment env)
           
protected  Parser createParser(File source)
           
protected  int getArgumentCountPerInputFile()
           
protected  void getDefineSwitch(StringBuffer buffer, String define, String value)
           
protected  File[] getEnvironmentIncludePath()
           
 String getIdentifier()
          Retrieve an identifier that identifies the specific version of the compiler.
protected  String getIncludeDirSwitch(String includeDir)
           
protected  String getInputFileArgument(File outputDir, String filename, int index)
           
static DevStudioMessageCompiler getInstance()
           
 Linker getLinker(LinkType type)
          Gets the linker that is associated with this processors
 int getMaximumCommandLength()
           
protected  int getMaximumInputFilesPerCommand()
           
protected  int getTotalArgumentLengthForInputFile(File outputDir, String inputFile)
           
protected  void getUndefineSwitch(StringBuffer buffer, String define)
           
 
Methods inherited from class com.github.maven_nar.cpptasks.compiler.CommandLineCompiler
buildDefineArguments, compile, createConfiguration, getCommand, getCommandWithPath, getIncludeDirSwitch, getLibtool, getLibtoolCompiler, runCommand, setCommand
 
Methods inherited from class com.github.maven_nar.cpptasks.compiler.AbstractCompiler
createConfiguration, getBaseOutputName, getOutputFileNames, parseIncludes, resolveInclude
 
Methods inherited from class com.github.maven_nar.cpptasks.compiler.AbstractProcessor
bid, clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, isWindows, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.github.maven_nar.cpptasks.compiler.Processor
bid
 

Method Detail

getInstance

public static DevStudioMessageCompiler getInstance()

addImpliedArgs

protected void addImpliedArgs(Vector args,
                              boolean debug,
                              boolean multithreaded,
                              boolean exceptions,
                              LinkType linkType,
                              Boolean rtti,
                              OptimizationEnum optimization)
Specified by:
addImpliedArgs in class CommandLineCompiler

addWarningSwitch

protected void addWarningSwitch(Vector args,
                                int level)
Specified by:
addWarningSwitch in class CommandLineCompiler

changeEnvironment

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

canParse

protected boolean canParse(File sourceFile)
Description copied from class: AbstractCompiler
Checks file name to see if parse should be attempted Default implementation returns false for files with extensions '.dll', 'tlb', '.res'

Overrides:
canParse in class AbstractCompiler

createParser

protected Parser createParser(File source)
Specified by:
createParser in class AbstractCompiler

getArgumentCountPerInputFile

protected int getArgumentCountPerInputFile()
Overrides:
getArgumentCountPerInputFile in class CommandLineCompiler

getDefineSwitch

protected void getDefineSwitch(StringBuffer buffer,
                               String define,
                               String value)
Specified by:
getDefineSwitch in class CommandLineCompiler

getEnvironmentIncludePath

protected File[] getEnvironmentIncludePath()
Specified by:
getEnvironmentIncludePath in class CommandLineCompiler

addIncludes

protected void addIncludes(String baseDirPath,
                           File[] includeDirs,
                           Vector args,
                           Vector relativeArgs,
                           StringBuffer includePathId,
                           boolean isSystem)
Description copied from class: CommandLineCompiler
Adds command-line arguments for include directories. If relativeArgs is not null will add corresponding relative paths include switches to that vector (for use in building a configuration identifier that is consistent between machines).

Overrides:
addIncludes in class CommandLineCompiler
Parameters:
baseDirPath - Base directory path.
includeDirs - Array of include directory paths
args - Vector of command line arguments used to execute the task
relativeArgs - Vector of command line arguments used to build the configuration identifier

getIncludeDirSwitch

protected String getIncludeDirSwitch(String includeDir)
Specified by:
getIncludeDirSwitch in class CommandLineCompiler

getInputFileArgument

protected String getInputFileArgument(File outputDir,
                                      String filename,
                                      int index)
Overrides:
getInputFileArgument in class CommandLineCompiler

getLinker

public Linker getLinker(LinkType type)
Description copied from interface: Processor
Gets the linker that is associated with this processors


getMaximumCommandLength

public int getMaximumCommandLength()
Specified by:
getMaximumCommandLength in class CommandLineCompiler

getMaximumInputFilesPerCommand

protected int getMaximumInputFilesPerCommand()
Overrides:
getMaximumInputFilesPerCommand in class CommandLineCompiler

getTotalArgumentLengthForInputFile

protected int getTotalArgumentLengthForInputFile(File outputDir,
                                                 String inputFile)
Overrides:
getTotalArgumentLengthForInputFile in class CommandLineCompiler

getUndefineSwitch

protected void getUndefineSwitch(StringBuffer buffer,
                                 String define)
Specified by:
getUndefineSwitch in class CommandLineCompiler

getIdentifier

public 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
Overrides:
getIdentifier in class CommandLineCompiler


Copyright © 2001-2013. All Rights Reserved.