< Summary

Information
Class: ZeroC.Slice.Internal.SliceFlagsExtensions
Assembly: ZeroC.Slice
File(s): /home/runner/work/icerpc-csharp/icerpc-csharp/src/ZeroC.Slice/Internal/Slice1Definitions.cs
Tag: 275_13775359185
Line coverage
100%
Covered lines: 1
Uncovered lines: 0
Coverable lines: 1
Total lines: 41
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 1
Total methods: 1
Method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetTypeIdKind(...)100%11100%

File(s)

/home/runner/work/icerpc-csharp/icerpc-csharp/src/ZeroC.Slice/Internal/Slice1Definitions.cs

#LineLine coverage
 1// Copyright (c) ZeroC, Inc.
 2
 3namespace ZeroC.Slice.Internal;
 4
 5/// <summary>Enumerations and constants used by Slice1.</summary>
 6internal static class Slice1Definitions
 7{
 8    internal const byte TagEndMarker = 0xFF;
 9
 10    /// <summary>The first byte of each encoded class or exception slice.</summary>
 11    /// <remarks>The first 2 bits of SliceFlags represent the TypeIdKind, which can be extracted using
 12    /// <see cref="SliceFlagsExtensions.GetTypeIdKind" />.</remarks>
 13    [Flags]
 14    internal enum SliceFlags : byte
 15    {
 16        TypeIdMask = 3,
 17        HasTaggedFields = 4,
 18        HasIndirectionTable = 8,
 19        HasSliceSize = 16,
 20        IsLastSlice = 32
 21    }
 22
 23    /// <summary>The first 2 bits of the <see cref="SliceFlags" />.</summary>
 24    internal enum TypeIdKind : byte
 25    {
 26        None = 0,
 27        String = 1,
 28        Index = 2,
 29        CompactId = 3,
 30    }
 31}
 32
 33internal static class SliceFlagsExtensions
 34{
 35    /// <summary>Extracts the <see cref="Slice1Definitions.TypeIdKind" /> of a <see cref="Slice1Definitions.SliceFlags"
 36    /// /> value.</summary>
 37    /// <param name="sliceFlags">The <see cref="Slice1Definitions.SliceFlags" /> value.</param>
 38    /// <returns>The <see cref="Slice1Definitions.TypeIdKind" /> encoded in sliceFlags.</returns>
 39    internal static Slice1Definitions.TypeIdKind GetTypeIdKind(this Slice1Definitions.SliceFlags sliceFlags) =>
 29740        (Slice1Definitions.TypeIdKind)(sliceFlags & Slice1Definitions.SliceFlags.TypeIdMask);
 41}