internal static PipProvenance Deserialize(PipReader reader) { Contract.Requires(reader != null); long semiStableHash = reader.ReadInt64(); ModuleId moduleId = reader.ReadModuleId(); StringId moduleName = reader.ReadStringId(); FullSymbol outputValueName = reader.ReadFullSymbol(); LocationData token = reader.ReadLocationData(); QualifierId qualifierId = new QualifierId(reader.ReadInt32Compact()); PipData usage = reader.ReadPipData(); return(new PipProvenance( semiStableHash, moduleId, moduleName, outputValueName, token, qualifierId, usage)); }