org.codehaus.plexus.compiler.csharp

## Class CSharpCompiler

- java.lang.Object
- - org.codehaus.plexus.logging.AbstractLogEnabled
  - - org.codehaus.plexus.compiler.AbstractCompiler
    - - org.codehaus.plexus.compiler.csharp.CSharpCompiler

All Implemented Interfaces:
  Compiler, org.codehaus.plexus.logging.LogEnabled

    public class CSharpCompiler
    extends AbstractCompiler

Version:
  $Id$
Author:
  Gilles Dodinet, Trygve Laugstøl, Matthew Pocock, Chris Stevenson

### Field Summary

### Fields inherited from class org.codehaus.plexus.compiler.AbstractCompiler

`EOL, PS`

### Fields inherited from interface org.codehaus.plexus.compiler.Compiler

`ROLE`

### Constructor Summary

Constructors
Constructor and Description
`CSharpCompiler()`

### Method Summary

Methods
`boolean` `canUpdateTarget(CompilerConfiguration configuration)`
`List<CompilerError>` `compile(CompilerConfiguration config)`
`String[]` `createCommandLine(CompilerConfiguration config)` Create the command line that would be executed using this configuration.
`String` `getOutputFile(CompilerConfiguration configuration)`
`protected static String[]` `getSourceFiles(CompilerConfiguration config)`
`protected static Set<String>` `getSourceFilesForSourceRoot(CompilerConfiguration config, String sourceLocation)`
`static List<CompilerError>` `parseCompilerOutput(BufferedReader bufferedReader)`
`static CompilerError` `parseLine(String line)` Deprecated.

### Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler

`getCompilerOutputStyle, getInputFileEnding, getOutputFileEnding, getPathString, makeClassName, toStringArray`

### Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled

`enableLogging, getLogger, setupLogger, setupLogger, setupLogger`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### CSharpCompiler

    public CSharpCompiler()

### Method Detail

#### canUpdateTarget

    public boolean canUpdateTarget(CompilerConfiguration configuration)
                            throws CompilerException

Specified by:
  `canUpdateTarget` in interface `Compiler`
Overrides:
  `canUpdateTarget` in class `AbstractCompiler`
Throws:
  `CompilerException`

#### getOutputFile

    public String getOutputFile(CompilerConfiguration configuration)
                         throws CompilerException

Specified by:
  `getOutputFile` in interface `Compiler`
Overrides:
  `getOutputFile` in class `AbstractCompiler`
Throws:
  `CompilerException`

#### compile

    public List<CompilerError> compile(CompilerConfiguration config)
                                throws CompilerException

Throws:
  `CompilerException`

#### createCommandLine

    public String[] createCommandLine(CompilerConfiguration config)
                               throws CompilerException

Description copied from interface: `Compiler`
Create the command line that would be executed using this configuration. If this particular compiler has no concept of a command line then returns null.

Parameters:
  `config` - the CompilerConfiguration describing the compilation
Returns:
  an array of Strings that make up the command line, or null if this compiler has no concept of command line
Throws:
  `CompilerException` - if there was an error generating the command line

#### parseCompilerOutput

    public static List<CompilerError> parseCompilerOutput(BufferedReader bufferedReader)
                                                   throws IOException

Throws:
  `IOException`

#### getSourceFiles

    protected static String[] getSourceFiles(CompilerConfiguration config)

#### parseLine

    public static CompilerError parseLine(String line)

Deprecated.
This method is just here to maintain the public api. This is now handled in the parse compiler output function.

#### getSourceFilesForSourceRoot

    protected static Set<String> getSourceFilesForSourceRoot(CompilerConfiguration config,
                                          String sourceLocation)