public void FixtureSetUp() { FastSerializer serializer = new FastSerializer(); using (MemoryStream ms = new MemoryStream()) { serializer.Serialize(ms, TypeSystemConvertVisitorTests.ParseTestCase()); ms.Position = 0; testCasePC = (IProjectContent)serializer.Deserialize(ms); } }
public void FixtureSetUp() { CecilLoader loader = new CecilLoader() { IncludeInternalMembers = true }; IProjectContent pc = loader.LoadAssemblyFile(typeof(TestCase.SimplePublicClass).Assembly.Location); FastSerializer serializer = new FastSerializer(); using (MemoryStream ms = new MemoryStream()) { serializer.Serialize(ms, pc); ms.Position = 0; testCasePC = (IProjectContent)serializer.Deserialize(ms); } }
public void FixtureSetUp() { IkvmLoader loader = new IkvmLoader() { IncludeInternalMembers = true }; IUnresolvedAssembly pc = loader.LoadAssemblyFile(typeof(TestCase.SimplePublicClass).Assembly.Location); FastSerializer serializer = new FastSerializer(); using (MemoryStream ms = new MemoryStream()) { serializer.Serialize(ms, pc); ms.Position = 0; var asm = (IUnresolvedAssembly)serializer.Deserialize(ms); base.compilation = new SimpleCompilation(asm, IkvmLoaderTests.Mscorlib); } }
static LoadedAssembly TryReadFromCache(string cacheFileName, DateTime lastWriteTime) { if (cacheFileName == null || !File.Exists(cacheFileName)) return null; //LoggingService.Debug("Deserializing " + cacheFileName); try { using (FileStream fs = new FileStream(cacheFileName, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete, 4096, FileOptions.SequentialScan)) { using (BinaryReader reader = new BinaryReaderWith7BitEncodedInts(fs)) { if (reader.ReadInt64() != lastWriteTime.Ticks) { LoggingService.Debug("Timestamp mismatch, deserialization aborted. (" + cacheFileName + ")"); return null; } FastSerializer s = new FastSerializer(); return s.Deserialize(reader) as LoadedAssembly; } } } catch (IOException ex) { LoggingService.Warn(ex); return null; } catch (UnauthorizedAccessException ex) { LoggingService.Warn(ex); return null; } catch (SerializationException ex) { LoggingService.Warn(ex); return null; } }
static IProjectContent TryReadFromCache(string cacheFileName) { if (cacheFileName == null || !File.Exists(cacheFileName)) return null; LoggingService.Debug("Deserializing " + cacheFileName); try { using (FileStream fs = new FileStream(cacheFileName, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete, 4096, FileOptions.SequentialScan)) { using (BinaryReader reader = new BinaryReaderWith7BitEncodedInts(fs)) { if (reader.ReadInt32() != cacheMagicNumber) { LoggingService.Warn("Incorrect magic number"); return null; } FastSerializer s = new FastSerializer(); return (IProjectContent)s.Deserialize(reader); } } } catch (IOException ex) { LoggingService.Warn(ex); return null; } catch (UnauthorizedAccessException ex) { LoggingService.Warn(ex); return null; } catch (SerializationException ex) { LoggingService.Warn(ex); return null; } catch (InvalidCastException ex) { // can happen if serialized types are incompatible to expected types LoggingService.Warn(ex); return null; } catch (FormatException ex) { // e.g. invalid 7-bit-encoded int LoggingService.Warn(ex); return null; } }