Browse Source

Throw NRE directly in trival contexts (eliminating method call / extra stack entry)

af/merge-core
Jason Nelson 8 years ago
parent
commit
96feac3809
  1. 1
      src/ImageSharp/Formats/Bmp/BmpDecoder.cs
  2. 4
      src/ImageSharp/Formats/Gif/LzwDecoder.cs
  3. 9
      src/ImageSharp/ImageFrameCollection.cs
  4. 4
      src/ImageSharp/MetaData/Profiles/ICC/DataReader/IccDataReader.cs
  5. 3
      src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccClutProcessElement.cs
  6. 3
      src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccCurveSetProcessElement.cs
  7. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs
  8. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccFix16ArrayTagDataEntry.cs
  9. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiLocalizedUnicodeTagDataEntry.cs
  10. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceDescTagDataEntry.cs
  11. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceIdentifierTagDataEntry.cs
  12. 4
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccScreeningTagDataEntry.cs
  13. 5
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccSignatureTagDataEntry.cs
  14. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextTagDataEntry.cs
  15. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUFix16ArrayTagDataEntry.cs
  16. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt16ArrayTagDataEntry.cs
  17. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt32ArrayTagDataEntry.cs
  18. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt64ArrayTagDataEntry.cs
  19. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt8ArrayTagDataEntry.cs
  20. 10
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUcrBgTagDataEntry.cs
  21. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUnknownTagDataEntry.cs
  22. 3
      src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccXyzTagDataEntry.cs
  23. 4
      src/ImageSharp/MetaData/Profiles/ICC/Various/IccColorantTableEntry.cs
  24. 7
      src/ImageSharp/MetaData/Profiles/ICC/Various/IccLocalizedString.cs
  25. 3
      src/ImageSharp/MetaData/Profiles/ICC/Various/IccLut.cs
  26. 4
      src/ImageSharp/Processing/Processors/Binarization/BinaryOrderedDitherProcessor.cs
  27. 3
      src/ImageSharp/Processing/Processors/Dithering/OrderedDitherPaletteProcessor.cs
  28. 4
      src/ImageSharp/Processing/Processors/Dithering/PaletteDitherProcessorBase.cs

1
src/ImageSharp/Formats/Bmp/BmpDecoder.cs

@ -25,7 +25,6 @@ namespace SixLabors.ImageSharp.Formats.Bmp
{
/// <inheritdoc/>
public Image<TPixel> Decode<TPixel>(Configuration configuration, Stream stream)
where TPixel : struct, IPixel<TPixel>
{
Guard.NotNull(stream, nameof(stream));

4
src/ImageSharp/Formats/Gif/LzwDecoder.cs

@ -56,9 +56,7 @@ namespace SixLabors.ImageSharp.Formats.Gif
/// <exception cref="System.ArgumentNullException"><paramref name="stream"/> is null.</exception>
public LzwDecoder(MemoryAllocator memoryAllocator, Stream stream)
{
Guard.NotNull(stream, nameof(stream));
this.stream = stream;
this.stream = stream ?? throw new ArgumentNullException(nameof(stream));
this.prefix = memoryAllocator.Allocate<int>(MaxStackSize, AllocationOptions.Clean);
this.suffix = memoryAllocator.Allocate<int>(MaxStackSize, AllocationOptions.Clean);

9
src/ImageSharp/ImageFrameCollection.cs

@ -7,7 +7,6 @@ using System.Collections.Generic;
using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.Memory;
namespace SixLabors.ImageSharp
{
@ -23,9 +22,7 @@ namespace SixLabors.ImageSharp
internal ImageFrameCollection(Image<TPixel> parent, int width, int height, TPixel backgroundColor)
{
Guard.NotNull(parent, nameof(parent));
this.parent = parent;
this.parent = parent ?? throw new ArgumentNullException(nameof(parent));
// Frames are already cloned within the caller
this.frames.Add(new ImageFrame<TPixel>(parent.GetConfiguration(), width, height, backgroundColor));
@ -33,9 +30,7 @@ namespace SixLabors.ImageSharp
internal ImageFrameCollection(Image<TPixel> parent, int width, int height, MemorySource<TPixel> memorySource)
{
Guard.NotNull(parent, nameof(parent));
this.parent = parent;
this.parent = parent ?? throw new ArgumentNullException(nameof(parent));
// Frames are already cloned within the caller
this.frames.Add(new ImageFrame<TPixel>(parent.GetConfiguration(), width, height, memorySource));

4
src/ImageSharp/MetaData/Profiles/ICC/DataReader/IccDataReader.cs

@ -1,6 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System;
using System.Text;
namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
@ -28,8 +29,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
/// <param name="data">The data to read</param>
public IccDataReader(byte[] data)
{
Guard.NotNull(data, nameof(data));
this.data = data;
this.data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccClutProcessElement.cs

@ -17,8 +17,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccClutProcessElement(IccClut clutValue)
: base(IccMultiProcessElementSignature.Clut, clutValue?.InputChannelCount ?? 1, clutValue?.OutputChannelCount ?? 1)
{
Guard.NotNull(clutValue, nameof(clutValue));
this.ClutValue = clutValue;
this.ClutValue = clutValue ?? throw new ArgumentNullException(nameof(clutValue));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccCurveSetProcessElement.cs

@ -18,8 +18,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccCurveSetProcessElement(IccOneDimensionalCurve[] curves)
: base(IccMultiProcessElementSignature.CurveSet, curves?.Length ?? 1, curves?.Length ?? 1)
{
Guard.NotNull(curves, nameof(curves));
this.Curves = curves;
this.Curves = curves ?? throw new ArgumentNullException(nameof(curves));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs

@ -42,8 +42,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccDataTagDataEntry(byte[] data, bool isAscii, IccProfileTag tagSignature)
: base(IccTypeSignature.Data, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentException(nameof(data));
this.IsAscii = isAscii;
}

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccFix16ArrayTagDataEntry.cs

@ -27,8 +27,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccFix16ArrayTagDataEntry(float[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.S15Fixed16Array, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiLocalizedUnicodeTagDataEntry.cs

@ -29,8 +29,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccMultiLocalizedUnicodeTagDataEntry(IccLocalizedString[] texts, IccProfileTag tagSignature)
: base(IccTypeSignature.MultiLocalizedUnicode, tagSignature)
{
Guard.NotNull(texts, nameof(texts));
this.Texts = texts;
this.Texts = texts ?? throw new ArgumentNullException(nameof(texts));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceDescTagDataEntry.cs

@ -30,8 +30,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccProfileSequenceDescTagDataEntry(IccProfileDescription[] descriptions, IccProfileTag tagSignature)
: base(IccTypeSignature.ProfileSequenceDesc, tagSignature)
{
Guard.NotNull(descriptions, nameof(descriptions));
this.Descriptions = descriptions;
this.Descriptions = descriptions ?? throw new ArgumentNullException(nameof(descriptions));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceIdentifierTagDataEntry.cs

@ -28,8 +28,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccProfileSequenceIdentifierTagDataEntry(IccProfileSequenceIdentifier[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.ProfileSequenceIdentifier, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

4
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccScreeningTagDataEntry.cs

@ -30,10 +30,8 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccScreeningTagDataEntry(IccScreeningFlag flags, IccScreeningChannel[] channels, IccProfileTag tagSignature)
: base(IccTypeSignature.Screening, tagSignature)
{
Guard.NotNull(channels, nameof(channels));
this.Flags = flags;
this.Channels = channels;
this.Channels = channels ?? throw new ArgumentNullException(nameof(channels));
}
/// <summary>

5
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccSignatureTagDataEntry.cs

@ -28,12 +28,11 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccSignatureTagDataEntry(string signatureData, IccProfileTag tagSignature)
: base(IccTypeSignature.Signature, tagSignature)
{
Guard.NotNull(signatureData, nameof(signatureData));
this.SignatureData = signatureData;
this.SignatureData = signatureData ?? throw new ArgumentNullException(nameof(signatureData));
}
/// <summary>
/// Gets the Signature
/// Gets the signature data
/// </summary>
public string SignatureData { get; }

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextTagDataEntry.cs

@ -27,8 +27,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccTextTagDataEntry(string text, IccProfileTag tagSignature)
: base(IccTypeSignature.Text, tagSignature)
{
Guard.NotNull(text, nameof(text));
this.Text = text;
this.Text = text ?? throw new ArgumentNullException(nameof(text));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUFix16ArrayTagDataEntry.cs

@ -27,8 +27,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccUFix16ArrayTagDataEntry(float[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.U16Fixed16Array, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt16ArrayTagDataEntry.cs

@ -27,8 +27,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccUInt16ArrayTagDataEntry(ushort[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.UInt16Array, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt32ArrayTagDataEntry.cs

@ -27,8 +27,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccUInt32ArrayTagDataEntry(uint[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.UInt32Array, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt64ArrayTagDataEntry.cs

@ -28,8 +28,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccUInt64ArrayTagDataEntry(ulong[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.UInt64Array, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt8ArrayTagDataEntry.cs

@ -27,8 +27,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccUInt8ArrayTagDataEntry(byte[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.UInt8Array, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

10
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUcrBgTagDataEntry.cs

@ -32,13 +32,9 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccUcrBgTagDataEntry(ushort[] ucrCurve, ushort[] bgCurve, string description, IccProfileTag tagSignature)
: base(IccTypeSignature.UcrBg, tagSignature)
{
Guard.NotNull(ucrCurve, nameof(ucrCurve));
Guard.NotNull(bgCurve, nameof(bgCurve));
Guard.NotNull(description, nameof(description));
this.UcrCurve = ucrCurve;
this.BgCurve = bgCurve;
this.Description = description;
this.UcrCurve = ucrCurve ?? throw new ArgumentNullException(nameof(ucrCurve));
this.BgCurve = bgCurve ?? throw new ArgumentNullException(nameof(bgCurve));
this.Description = description ?? throw new ArgumentNullException(nameof(description));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUnknownTagDataEntry.cs

@ -27,8 +27,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccUnknownTagDataEntry(byte[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.Unknown, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccXyzTagDataEntry.cs

@ -28,8 +28,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
public IccXyzTagDataEntry(Vector3[] data, IccProfileTag tagSignature)
: base(IccTypeSignature.Xyz, tagSignature)
{
Guard.NotNull(data, nameof(data));
this.Data = data;
this.Data = data ?? throw new ArgumentNullException(nameof(data));
}
/// <summary>

4
src/ImageSharp/MetaData/Profiles/ICC/Various/IccColorantTableEntry.cs

@ -28,9 +28,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
/// <param name="pcs3">Third PCS value</param>
public IccColorantTableEntry(string name, ushort pcs1, ushort pcs2, ushort pcs3)
{
Guard.NotNull(name, nameof(name));
this.Name = name;
this.Name = name ?? throw new ArgumentNullException(nameof(name));
this.Pcs1 = pcs1;
this.Pcs2 = pcs2;
this.Pcs3 = pcs3;

7
src/ImageSharp/MetaData/Profiles/ICC/Various/IccLocalizedString.cs

@ -29,11 +29,8 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
/// <param name="text">The text value of this string</param>
public IccLocalizedString(CultureInfo culture, string text)
{
Guard.NotNull(culture, nameof(culture));
Guard.NotNull(text, nameof(text));
this.Culture = culture;
this.Text = text;
this.Culture = culture ?? throw new ArgumentNullException(nameof(culture));
this.Text = text ?? throw new ArgumentNullException(nameof(text));
}
/// <summary>

3
src/ImageSharp/MetaData/Profiles/ICC/Various/IccLut.cs

@ -16,8 +16,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
/// <param name="values">The LUT values</param>
public IccLut(float[] values)
{
Guard.NotNull(values, nameof(values));
this.Values = values;
this.Values = values ?? throw new ArgumentNullException(nameof(values));
}
/// <summary>

4
src/ImageSharp/Processing/Processors/Binarization/BinaryOrderedDitherProcessor.cs

@ -33,9 +33,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Binarization
/// <param name="lowerColor">The color to use for pixels that are below the threshold.</param>
public BinaryOrderedDitherProcessor(IOrderedDither dither, TPixel upperColor, TPixel lowerColor)
{
Guard.NotNull(dither, nameof(dither));
this.Dither = dither;
this.Dither = dither ?? throw new ArgumentNullException(nameof(dither));
this.UpperColor = upperColor;
this.LowerColor = lowerColor;
}

3
src/ImageSharp/Processing/Processors/Dithering/OrderedDitherPaletteProcessor.cs

@ -34,8 +34,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Dithering
public OrderedDitherPaletteProcessor(IOrderedDither dither, TPixel[] palette)
: base(palette)
{
Guard.NotNull(dither, nameof(dither));
this.Dither = dither;
this.Dither = dither ?? throw new ArgumentNullException(nameof(dither));
}
/// <summary>

4
src/ImageSharp/Processing/Processors/Dithering/PaletteDitherProcessorBase.cs

@ -1,6 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
@ -28,8 +29,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Dithering
/// <param name="palette">The palette to select substitute colors from.</param>
protected PaletteDitherProcessorBase(TPixel[] palette)
{
Guard.NotNull(palette, nameof(palette));
this.Palette = palette;
this.Palette = palette ?? throw new ArgumentNullException(nameof(palette));
this.paletteVector = new Vector4[this.Palette.Length];
PixelOperations<TPixel>.Instance.ToScaledVector4(this.Palette, this.paletteVector, this.Palette.Length);
}

Loading…
Cancel
Save