Skip to content

Commit

Permalink
add ref project
Browse files Browse the repository at this point in the history
  • Loading branch information
adamsitnik committed Jun 11, 2024
1 parent 7bd4b27 commit a171648
Show file tree
Hide file tree
Showing 4 changed files with 148 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/libraries/System.Formats.Nrbf/System.Formats.Nrbf.sln
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Formats.Nrbf", "src\
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{32F1B10C-7A0C-440E-8F42-D5309D3D7DAA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Formats.Nrbf.Tests", "tests\System.Formats.Nrbf.Tests.csproj", "{8B45136F-C266-4FE7-B5A3-CFD6F3648289}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Formats.Nrbf.Tests", "tests\System.Formats.Nrbf.Tests.csproj", "{8B45136F-C266-4FE7-B5A3-CFD6F3648289}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{D50A3723-4816-47D5-B6A2-E126D2F02722}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Formats.Nrbf", "ref\System.Formats.Nrbf.csproj", "{3415B821-490E-4B12-9A5F-135CAC6271B8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand All @@ -25,13 +29,18 @@ Global
{8B45136F-C266-4FE7-B5A3-CFD6F3648289}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B45136F-C266-4FE7-B5A3-CFD6F3648289}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B45136F-C266-4FE7-B5A3-CFD6F3648289}.Release|Any CPU.Build.0 = Release|Any CPU
{3415B821-490E-4B12-9A5F-135CAC6271B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3415B821-490E-4B12-9A5F-135CAC6271B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3415B821-490E-4B12-9A5F-135CAC6271B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3415B821-490E-4B12-9A5F-135CAC6271B8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{E23A8E5A-9975-4ABE-BE54-B02328207F37} = {8721A077-F840-4316-9D8A-6E48B3D5EA03}
{8B45136F-C266-4FE7-B5A3-CFD6F3648289} = {32F1B10C-7A0C-440E-8F42-D5309D3D7DAA}
{3415B821-490E-4B12-9A5F-135CAC6271B8} = {D50A3723-4816-47D5-B6A2-E126D2F02722}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CC885ACA-F5FA-4CAA-BA5F-2517D39C3066}
Expand Down
114 changes: 114 additions & 0 deletions src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// ------------------------------------------------------------------------------
// Changes to this file must follow the https://aka.ms/api-review process.
// ------------------------------------------------------------------------------

namespace System.Formats.Nrbf
{
public abstract partial class ArrayRecord : System.Formats.Nrbf.SerializationRecord
{
internal ArrayRecord() { }
public override System.Formats.Nrbf.SerializationRecordId Id { get { throw null; } }
public abstract System.ReadOnlySpan<int> Lengths { get; }
public int Rank { get { throw null; } }
public System.Array GetArray(System.Type expectedArrayType, bool allowNulls=true) { throw null; }
}
public abstract partial class ClassRecord : System.Formats.Nrbf.SerializationRecord
{
internal ClassRecord() { }
public override System.Formats.Nrbf.SerializationRecordId Id { get { throw null; } }
public System.Collections.Generic.IEnumerable<string> MemberNames { get { throw null; } }
public override System.Reflection.Metadata.TypeName TypeName { get { throw null; } }

Check failure on line 22 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop (Build linux-x64 debug Libraries_AllConfigurations)

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L22

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(22,43): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)

Check failure on line 22 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L22

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(22,43): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)
public System.Formats.Nrbf.ArrayRecord? GetArrayRecord(string memberName) { throw null; }
public bool GetBoolean(string memberName) { throw null; }
public byte GetByte(string memberName) { throw null; }
public char GetChar(string memberName) { throw null; }
public System.Formats.Nrbf.ClassRecord? GetClassRecord(string memberName) { throw null; }
public System.DateTime GetDateTime(string memberName) { throw null; }
public decimal GetDecimal(string memberName) { throw null; }
public double GetDouble(string memberName) { throw null; }
public short GetInt16(string memberName) { throw null; }
public int GetInt32(string memberName) { throw null; }
public long GetInt64(string memberName) { throw null; }
public object? GetRawValue(string memberName) { throw null; }
public sbyte GetSByte(string memberName) { throw null; }
public System.Formats.Nrbf.SerializationRecord? GetSerializationRecord(string memberName) { throw null; }
public float GetSingle(string memberName) { throw null; }
public string? GetString(string memberName) { throw null; }
public System.TimeSpan GetTimeSpan(string memberName) { throw null; }
public ushort GetUInt16(string memberName) { throw null; }
public uint GetUInt32(string memberName) { throw null; }
public ulong GetUInt64(string memberName) { throw null; }
public bool HasMember(string memberName) { throw null; }
}
public static partial class NrbfDecoder
{
public static System.Formats.Nrbf.SerializationRecord Decode(System.IO.Stream payload, out System.Collections.Generic.IReadOnlyDictionary<System.Formats.Nrbf.SerializationRecordId, System.Formats.Nrbf.SerializationRecord> recordMap, System.Formats.Nrbf.PayloadOptions options=null, bool leaveOpen=false) { throw null; }
public static System.Formats.Nrbf.SerializationRecord Decode(System.IO.Stream payload, System.Formats.Nrbf.PayloadOptions? options=null, bool leaveOpen=false) { throw null; }
public static System.Formats.Nrbf.ClassRecord DecodeClassRecord(System.IO.Stream payload, System.Formats.Nrbf.PayloadOptions? options=null, bool leaveOpen=false) { throw null; }
public static bool StartsWithPayloadHeader(byte[] bytes) { throw null; }
public static bool StartsWithPayloadHeader(System.IO.Stream stream) { throw null; }
}
public sealed partial class PayloadOptions
{
public PayloadOptions() { }
public System.Reflection.Metadata.TypeNameParseOptions? TypeNameParseOptions { get { throw null; } set { } }

Check failure on line 56 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop (Build linux-x64 debug Libraries_AllConfigurations)

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L56

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(56,34): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)

Check failure on line 56 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L56

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(56,34): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)
public bool UndoTruncatedTypeNames { get { throw null; } set { } }
}
public abstract partial class PrimitiveTypeRecord : System.Formats.Nrbf.SerializationRecord
{
internal PrimitiveTypeRecord() { }
public object Value { get { throw null; } }
}
public abstract partial class PrimitiveTypeRecord<T> : System.Formats.Nrbf.PrimitiveTypeRecord
{
internal PrimitiveTypeRecord() { }
public override System.Reflection.Metadata.TypeName TypeName { get { throw null; } }

Check failure on line 67 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop (Build linux-x64 debug Libraries_AllConfigurations)

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L67

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(67,43): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)

Check failure on line 67 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L67

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(67,43): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)
public new T Value { get { throw null; } }
}
public abstract partial class SerializationRecord
{
internal SerializationRecord() { }
public abstract System.Formats.Nrbf.SerializationRecordId Id { get; }
public abstract System.Formats.Nrbf.SerializationRecordType RecordType { get; }
public abstract System.Reflection.Metadata.TypeName TypeName { get; }

Check failure on line 75 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop (Build linux-x64 debug Libraries_AllConfigurations)

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L75

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(75,43): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)

Check failure on line 75 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop (Build linux-x64 debug Libraries_AllConfigurations)

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L75

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(75,52): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'TypeName' does not exist in the namespace 'System.Reflection.Metadata' (are you missing an assembly reference?)

Check failure on line 75 in src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs

View check run for this annotation

Azure Pipelines / runtime-dev-innerloop

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs#L75

src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.cs(75,43): error CS0234: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'Metadata' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?)
public bool TypeNameMatches(System.Type type) { throw null; }
}
public partial struct SerializationRecordId : System.IEquatable<System.Formats.Nrbf.SerializationRecordId>
{
public bool Equals(System.Formats.Nrbf.SerializationRecordId other) { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
}
public enum SerializationRecordType
{
SerializedStreamHeader = 0,
ClassWithId = 1,
SystemClassWithMembers = 2,
ClassWithMembers = 3,
SystemClassWithMembersAndTypes = 4,
ClassWithMembersAndTypes = 5,
BinaryObjectString = 6,
BinaryArray = 7,
MemberPrimitiveTyped = 8,
MemberReference = 9,
ObjectNull = 10,
MessageEnd = 11,
BinaryLibrary = 12,
ObjectNullMultiple256 = 13,
ObjectNullMultiple = 14,
ArraySinglePrimitive = 15,
ArraySingleObject = 16,
ArraySingleString = 17,
MethodCall = 21,
MethodReturn = 22,
}
public abstract partial class SZArrayRecord<T> : System.Formats.Nrbf.ArrayRecord
{
internal SZArrayRecord() { }
public int Length { get { throw null; } }
public override System.ReadOnlySpan<int> Lengths { get { throw null; } }
public abstract T?[] GetArray(bool allowNulls = true);
}
}
20 changes: 20 additions & 0 deletions src/libraries/System.Formats.Nrbf/ref/System.Formats.Nrbf.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
<CLSCompliant>false</CLSCompliant>
</PropertyGroup>

<ItemGroup>
<Compile Include="System.Formats.Nrbf.cs" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
<ProjectReference Include="$(LibrariesProjectRoot)System.IO.Hashing\ref\System.IO.Hashing.csproj" />
<ProjectReference Include="$(LibrariesProjectRoot)System.Reflection.Metadata\ref\System.Reflection.Metadata.csproj" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
<PackageReference Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ namespace System.Formats.Nrbf;
[DebuggerDisplay("{Value}")]
public abstract class PrimitiveTypeRecord : SerializationRecord
{
private protected PrimitiveTypeRecord()
{
}

/// <summary>
/// Gets the serialized primitive value.
/// </summary>
Expand Down

0 comments on commit a171648

Please sign in to comment.