public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); foreach (var requirement in this.Requirements) { indentingWriter.WriteLine("{0} = {1} (required: {2})", requirement.Key, ReflectionHelpers.GetTypeName(requirement.Value.MetadatumValueType, false, true, null, null), requirement.Value.IsMetadataumValueRequired); } }
public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); indentingWriter.WriteLine("ContractName: {0}", this.ContractName); indentingWriter.WriteLine("Metadata:"); using (indentingWriter.Indent()) { foreach (var item in this.Metadata) { indentingWriter.WriteLine("{0} = {1}", item.Key, item.Value); } } }
public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); indentingWriter.WriteLine("ImportDefinition:"); using (indentingWriter.Indent()) { this.ImportDefinition.ToString(writer); } indentingWriter.WriteLine("ComposablePartType: {0}", this.ComposablePartType.FullName); indentingWriter.WriteLine("ImportingMember: {0}", this.ImportingMember); indentingWriter.WriteLine("ParameterInfo: {0}", this.ImportingParameter); indentingWriter.WriteLine("ImportingSiteType: {0}", this.ImportingSiteType); }
public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); using (indentingWriter.Indent()) { foreach (var part in this.parts) { indentingWriter.WriteLine("Part"); using (indentingWriter.Indent()) { part.ToString(indentingWriter); } } } }
private long objectTableCapacityStreamPosition = -1; // -1 indicates the stream isn't capable of seeking. internal SerializationContextBase(BinaryReader reader, Resolver resolver) { Requires.NotNull(reader, nameof(reader)); Requires.NotNull(resolver, nameof(resolver)); this.reader = reader; this.Resolver = resolver; // At the head of the stream, read in the estimated or actual size of the object table we will require. // This reduces GC pressure and time spent resizing the object table during deserialization. int objectTableCapacity = reader.ReadInt32(); int objectTableSafeCapacity = Math.Min(objectTableCapacity, 1000000); // protect against OOM in case of data corruption. this.deserializingObjectTable = new Dictionary <uint, object>(objectTableSafeCapacity); #if TRACESERIALIZATION || TRACESTATS this.trace = new IndentingTextWriter(new StreamWriter(File.OpenWrite(Environment.ExpandEnvironmentVariables(@"%TEMP%\VS-MEF.read.log")))); #endif }
private static string GetImportConstraints(ImportDefinition importDefinition) { Requires.NotNull(importDefinition, nameof(importDefinition)); var stringWriter = new StringWriter(); var indentingWriter = IndentingTextWriter.Get(stringWriter); using (indentingWriter.Indent()) { indentingWriter.WriteLine("Contract name: {0}", importDefinition.ContractName); foreach (var exportConstraint in importDefinition.ExportConstraints.OfType <IDescriptiveToString>()) { exportConstraint.ToString(indentingWriter); } } return(stringWriter.ToString()); }
internal SerializationContextBase(BinaryWriter writer, int estimatedObjectCount, Resolver resolver) { Requires.NotNull(writer, nameof(writer)); Requires.NotNull(resolver, nameof(resolver)); this.writer = writer; this.serializingObjectTable = new Dictionary <object, uint>(estimatedObjectCount, SmartInterningEqualityComparer.Default); this.Resolver = resolver; #if TRACESTATS this.sizeStats = new Dictionary <string, int>(); #endif #if TRACESERIALIZATION || TRACESTATS this.trace = new IndentingTextWriter(new StreamWriter(File.OpenWrite(Environment.ExpandEnvironmentVariables(@"%TEMP%\VS-MEF.write.log")))); #endif // Don't use compressed uint here. It must be a fixed size because we *may* // come back and rewrite this at the end of serialization if this stream is seekable. // Otherwise, we'll leave it at our best estimate given the size of the data being serialized. Stream writerStream = writer.BaseStream; this.objectTableCapacityStreamPosition = writerStream.CanSeek ? writer.BaseStream.Position : -1; this.writer.Write(estimatedObjectCount); }
public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); indentingWriter.WriteLine("RequiredCreationPolicy: {0}", this.RequiredCreationPolicy); }
internal static void ToString(this IReadOnlyDictionary <string, object> metadata, IndentingTextWriter writer) { Requires.NotNull(metadata, nameof(metadata)); Requires.NotNull(writer, nameof(writer)); foreach (var item in metadata) { writer.WriteLine("{0} = {1}", item.Key, item.Value); } }
public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); indentingWriter.WriteLine("Type: {0}", this.Type.FullName); if (this.Metadata.Count > 0) { indentingWriter.WriteLine("Part metadata:"); using (indentingWriter.Indent()) { foreach (var item in this.Metadata) { indentingWriter.WriteLine("{0} = {1}", item.Key, item.Value); } } } indentingWriter.WriteLine("SharingBoundary: {0}", this.SharingBoundary.SpecifyIfNull()); indentingWriter.WriteLine("IsSharingBoundaryInferred: {0}", this.IsSharingBoundaryInferred); indentingWriter.WriteLine("CreationPolicy: {0}", this.CreationPolicy); indentingWriter.WriteLine("OnImportsSatisfied:"); using (indentingWriter.Indent()) { foreach (MethodRef method in this.OnImportsSatisfiedMethodRefs) { indentingWriter.WriteLine(method); } } indentingWriter.WriteLine("ExportedTypes:"); using (indentingWriter.Indent()) { foreach (var item in this.ExportedTypes.OrderBy(et => et.ContractName)) { indentingWriter.WriteLine("ExportDefinition"); using (indentingWriter.Indent()) { item.ToString(indentingWriter); } } } indentingWriter.WriteLine("ExportingMembers:"); using (indentingWriter.Indent()) { foreach (var exportingMember in this.ExportingMembers) { indentingWriter.WriteLine(exportingMember.Key.MemberInfo.Name); using (indentingWriter.Indent()) { foreach (var export in exportingMember.Value) { export.ToString(indentingWriter); } } } } indentingWriter.WriteLine("ImportingMembers:"); using (indentingWriter.Indent()) { foreach (var importingMember in this.ImportingMembers) { importingMember.ToString(indentingWriter); } } if (this.ImportingConstructorImports == null) { indentingWriter.WriteLine("ImportingConstructor: <null>"); } else { indentingWriter.WriteLine("ImportingConstructor:"); using (indentingWriter.Indent()) { foreach (var import in this.ImportingConstructorImports) { import.ToString(indentingWriter); } } } }
public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); indentingWriter.WriteLine("{0} = {1}", this.Name, this.Value); }
public void ToString(TextWriter writer) { var indentingWriter = IndentingTextWriter.Get(writer); indentingWriter.WriteLine("TypeIdentityName: {0}", this.TypeIdentityName); }
internal CancelIndent(IndentingTextWriter writer) { Requires.NotNull(writer, nameof(writer)); this.writer = writer; }