public CompilerContext(CompilationRecorder compilationRecorder, bool isDebug)
 {
     IsDebug = isDebug;
     CompilationRecorder = compilationRecorder;
     Id = Guid.NewGuid();
 }
 internal CompilationRecord Compile(string coffeeScriptFilePath, List<string> includedRequiredFiles)
 {
     var compilationRecorder = new CompilationRecorder();
     compilationRecorder.Start();
     var coffeeScriptFileInfo = new FileInfo(coffeeScriptFilePath);
     var context = new CompilerContext(compilationRecorder, _isDebug) { WorkingDirectory = coffeeScriptFileInfo.Directory.FullName };
     return Compile(context, coffeeScriptFileInfo,  includedRequiredFiles);
 }
 public CompilerContext(CompilationRecorder compilationRecorder)
 {
     CompilationRecorder = compilationRecorder;
     Id = Guid.NewGuid();
 }
 public CompilationRecord Compile(string workingDirectory, StreamReader input, StreamWriter output)
 {
     var compilationRecorder = new CompilationRecorder();
     compilationRecorder.Start();
     Compile(new CompilerContext(compilationRecorder, _isDebug) { WorkingDirectory = workingDirectory }, input, output);
     compilationRecorder.Stop();
     return compilationRecorder.GetRecord();
 }