internal CompilationVerifier Emit( Compilation compilation, IEnumerable <ModuleData> dependencies, IEnumerable <ResourceDescription> manifestResources, SignatureDescription[] expectedSignatures, string expectedOutput, int?expectedReturnCode, string[] args, Action <PEAssembly> assemblyValidator, Action <IModuleSymbol> symbolValidator, EmitOptions emitOptions, Verification verify) { var verifier = new CompilationVerifier(compilation, VisualizeRealIL, dependencies); verifier.Emit(expectedOutput, expectedReturnCode, args, manifestResources, emitOptions, verify, expectedSignatures); if (assemblyValidator != null || symbolValidator != null) { // We're dual-purposing emitters here. In this context, it // tells the validator the version of Emit that is calling it. RunValidators(verifier, assemblyValidator, symbolValidator); } return(verifier); }
static internal CompilationVerifier Emit( CommonTestBase test, Compilation compilation, IEnumerable <ModuleData> dependencies, TestEmitters emitOptions, IEnumerable <ResourceDescription> manifestResources, SignatureDescription[] expectedSignatures, string expectedOutput, Action <PEAssembly, TestEmitters> assemblyValidator, Action <IModuleSymbol, TestEmitters> symbolValidator, bool collectEmittedAssembly, bool verify) { CompilationVerifier verifier = null; // We only handle CCI emit here for now... if (emitOptions != TestEmitters.RefEmit) { verifier = new CompilationVerifier(test, compilation, dependencies); verifier.Emit(expectedOutput, manifestResources, verify, expectedSignatures); // We're dual-purposing EmitOptions here. In this context, it // tells the validator the version of Emit that is calling it. RunValidators(verifier, TestEmitters.CCI, assemblyValidator, symbolValidator); } return(verifier); }
internal CompilationVerifier Emit( Compilation compilation, IEnumerable <ModuleData> dependencies, IEnumerable <ResourceDescription> manifestResources, SignatureDescription[] expectedSignatures, string expectedOutput, Action <PEAssembly> assemblyValidator, Action <IModuleSymbol> symbolValidator, bool verify) { CompilationVerifier verifier = null; verifier = new CompilationVerifier(this, compilation, dependencies); verifier.Emit(expectedOutput, manifestResources, verify, expectedSignatures); // We're dual-purposing emitters here. In this context, it // tells the validator the version of Emit that is calling it. RunValidators(verifier, assemblyValidator, symbolValidator); return(verifier); }