org.jetbrains.kotlin.cli.common
Class CLICompiler<A extends CommonCompilerArguments>

java.lang.Object
  extended by org.jetbrains.kotlin.cli.common.CLICompiler<A>
Direct Known Subclasses:
K2JSCompiler, K2JVMCompiler

public abstract class CLICompiler<A extends CommonCompilerArguments>
extends java.lang.Object


Constructor Summary
CLICompiler()
           
 
Method Summary
protected  void configureEnvironment(CompilerConfiguration configuration, A arguments)
          Strategy method to configure the environment, allowing compiler based tools to customise their own plugins
protected abstract  A createArguments()
           
protected abstract  ExitCode doExecute(A arguments, Services services, MessageCollector messageCollector, com.intellij.openapi.Disposable rootDisposable)
           
static void doMain(CLICompiler compiler, java.lang.String[] args)
          Useful main for derived command line tools
static ExitCode doMainNoExit(CLICompiler compiler, java.lang.String[] args)
           
 ExitCode exec(MessageCollector messageCollector, Services services, A arguments)
           
 ExitCode exec(java.io.PrintStream errStream, java.lang.String... args)
           
 ExitCode execAndOutputXml(java.io.PrintStream errStream, Services services, java.lang.String... args)
           
 ExitCode execFullPathsInMessages(java.io.PrintStream errStream, java.lang.String[] args)
           
 java.util.List<CompilerPlugin> getCompilerPlugins()
           
protected  void printVersionIfNeeded(MessageCollector messageCollector, A arguments)
           
 void setCompilerPlugins(java.util.List<CompilerPlugin> compilerPlugins)
           
protected  void usage(java.io.PrintStream target, boolean extraHelp)
          Allow derived classes to add additional command line arguments
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CLICompiler

public CLICompiler()
Method Detail

getCompilerPlugins

@NotNull
public java.util.List<CompilerPlugin> getCompilerPlugins()

setCompilerPlugins

public void setCompilerPlugins(@NotNull
                               java.util.List<CompilerPlugin> compilerPlugins)

exec

@NotNull
public ExitCode exec(@NotNull
                             java.io.PrintStream errStream,
                             @NotNull
                             java.lang.String... args)

execAndOutputXml

@NotNull
public ExitCode execAndOutputXml(@NotNull
                                         java.io.PrintStream errStream,
                                         @NotNull
                                         Services services,
                                         @NotNull
                                         java.lang.String... args)

execFullPathsInMessages

@NotNull
public ExitCode execFullPathsInMessages(@NotNull
                                                java.io.PrintStream errStream,
                                                @NotNull
                                                java.lang.String[] args)

usage

protected void usage(@NotNull
                     java.io.PrintStream target,
                     boolean extraHelp)
Allow derived classes to add additional command line arguments


configureEnvironment

protected void configureEnvironment(@NotNull
                                    CompilerConfiguration configuration,
                                    @NotNull
                                    A arguments)
Strategy method to configure the environment, allowing compiler based tools to customise their own plugins


createArguments

@NotNull
protected abstract A createArguments()

exec

@NotNull
public ExitCode exec(@NotNull
                             MessageCollector messageCollector,
                             @NotNull
                             Services services,
                             @NotNull
                             A arguments)

doExecute

@NotNull
protected abstract ExitCode doExecute(@NotNull
                                              A arguments,
                                              @NotNull
                                              Services services,
                                              @NotNull
                                              MessageCollector messageCollector,
                                              @NotNull
                                              com.intellij.openapi.Disposable rootDisposable)

printVersionIfNeeded

protected void printVersionIfNeeded(@NotNull
                                    MessageCollector messageCollector,
                                    @NotNull
                                    A arguments)

doMain

public static void doMain(@NotNull
                          CLICompiler compiler,
                          @NotNull
                          java.lang.String[] args)
Useful main for derived command line tools


doMainNoExit

@NotNull
public static ExitCode doMainNoExit(@NotNull
                                            CLICompiler compiler,
                                            @NotNull
                                            java.lang.String[] args)