public void Compile(FileName fileName, TypeScriptProject project, TypeScriptContext context)
		{
			ReportCompileStarting(fileName);
			
			project.CreateOutputDirectory();
			
			var compiler = new LanguageServiceCompiler(context);
			UpdateFile(context, fileName);
			LanguageServiceCompilerResult result = compiler.Compile(fileName, project);
			
			if (result.HasErrors) {
				Report(result.GetError());
			}
			ReportCompileFinished(result.HasErrors);
		}
        public void Compile(FileName fileName, TypeScriptProject project, TypeScriptContext context)
        {
            ReportCompileStarting(fileName);

            project.CreateOutputDirectory();

            var compiler = new LanguageServiceCompiler(context);

            UpdateFile(context, fileName);
            LanguageServiceCompilerResult result = compiler.Compile(fileName, project);

            if (result.HasErrors)
            {
                Report(result.GetError());
            }
            ReportCompileFinished(result.HasErrors);
        }
		void CompileFiles(TypeScriptProject project, FileName[] fileNames)
		{
			ReportCompileStarting(project);
			
			bool errors = false;
			TypeScriptContext context = TypeScriptService.ContextProvider.GetContext(fileNames.First());
			var compiler = new LanguageServiceCompiler(context);
			
			project.CreateOutputDirectory();
			
			foreach (FileName fileName in fileNames) {
				UpdateFile(context, fileName);
				LanguageServiceCompilerResult result = compiler.Compile(fileName, project);
				
				if (result.HasErrors) {
					errors = true;
					Report(result.GetError());
				}
			}
			ReportCompileFinished(errors);
		}
        void CompileFiles(TypeScriptProject project, FileName[] fileNames)
        {
            ReportCompileStarting(project);

            bool errors = false;
            TypeScriptContext context = TypeScriptService.ContextProvider.GetContext(fileNames.First());
            var compiler = new LanguageServiceCompiler(context);

            project.CreateOutputDirectory();

            foreach (FileName fileName in fileNames)
            {
                UpdateFile(context, fileName);
                LanguageServiceCompilerResult result = compiler.Compile(fileName, project);

                if (result.HasErrors)
                {
                    errors = true;
                    Report(result.GetError());
                }
            }
            ReportCompileFinished(errors);
        }