public NamedTypeDetails(IdentifierDetails name, ImmutableList <GenericTypeParameterDetails> genericTypeParams) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (genericTypeParams == null) { throw new ArgumentNullException(nameof(genericTypeParams)); } if (genericTypeParams.Any(t => t == null)) { throw new ArgumentException("Null reference encountered in set", nameof(genericTypeParams)); } Name = name; GenericTypeParams = genericTypeParams; var endOfContent = genericTypeParams.Any() ? genericTypeParams.Max(t => t.SourceRange.StartIndex + t.SourceRange.Length) : (name.SourceRange.StartIndex + name.SourceRange.Length); SourceRange = new SourceRangeDetails( name.SourceRange.StartIndex, endOfContent - name.SourceRange.StartIndex ); }
public InterfaceDetails( IdentifierDetails name, ImmutableList <GenericTypeParameterDetails> genericTypeParams, ImmutableList <NamedTypeDetails> baseTypes, ImmutableList <PropertyDetails> contents, SourceRangeDetails source) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (genericTypeParams == null) { throw new ArgumentNullException(nameof(genericTypeParams)); } if (genericTypeParams.Any(t => t == null)) { throw new ArgumentException("Null reference encountered in set", nameof(genericTypeParams)); } if (baseTypes == null) { throw new ArgumentNullException(nameof(baseTypes)); } if (baseTypes.Any(t => t == null)) { throw new ArgumentException("Null reference encountered in set", nameof(baseTypes)); } if (contents == null) { throw new ArgumentNullException(nameof(contents)); } if (contents.Any(p => p == null)) { throw new ArgumentException("Null reference encountered in set", nameof(contents)); } if (source == null) { throw new ArgumentNullException(nameof(source)); } Name = name; GenericTypeParams = genericTypeParams; BaseTypes = baseTypes; Contents = contents; SourceRange = source; }
public PropertyDetails(IdentifierDetails name, TypeDescriptionDetails type) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (type == null) { throw new ArgumentNullException(nameof(type)); } Name = name; Type = type; SourceRange = new SourceRangeDetails( name.SourceRange.StartIndex, (type.SourceRange.StartIndex + type.SourceRange.Length) - name.SourceRange.StartIndex ); }