Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PermissionSetEncoder.cs
Go to the documentation of this file.
1
using
System.Collections.Immutable
;
2
3
namespace
System.Reflection.Metadata.Ecma335
;
4
5
public
readonly
struct
PermissionSetEncoder
6
{
7
public
BlobBuilder
Builder
{
get
; }
8
9
public
PermissionSetEncoder
(
BlobBuilder
builder)
10
{
11
Builder
= builder;
12
}
13
14
public
PermissionSetEncoder
AddPermission
(
string
typeName,
ImmutableArray<byte>
encodedArguments)
15
{
16
if
(typeName ==
null
)
17
{
18
Throw
.
ArgumentNull
(
"typeName"
);
19
}
20
if
(encodedArguments.
IsDefault
)
21
{
22
Throw
.
ArgumentNull
(
"encodedArguments"
);
23
}
24
if
(encodedArguments.
Length
> 536870911)
25
{
26
Throw
.
BlobTooLarge
(
"encodedArguments"
);
27
}
28
Builder
.
WriteSerializedString
(typeName);
29
Builder
.
WriteCompressedInteger
(encodedArguments.
Length
);
30
Builder
.
WriteBytes
(encodedArguments);
31
return
this
;
32
}
33
34
public
PermissionSetEncoder
AddPermission
(
string
typeName,
BlobBuilder
encodedArguments)
35
{
36
if
(typeName ==
null
)
37
{
38
Throw
.
ArgumentNull
(
"typeName"
);
39
}
40
if
(encodedArguments ==
null
)
41
{
42
Throw
.
ArgumentNull
(
"encodedArguments"
);
43
}
44
if
(encodedArguments.
Count
> 536870911)
45
{
46
Throw
.
BlobTooLarge
(
"encodedArguments"
);
47
}
48
Builder
.
WriteSerializedString
(typeName);
49
Builder
.
WriteCompressedInteger
(encodedArguments.
Count
);
50
encodedArguments.
WriteContentTo
(
Builder
);
51
return
this
;
52
}
53
}
System.Collections.Immutable.ImmutableArray.Length
int Length
Definition
ImmutableArray.cs:878
System.Collections.Immutable.ImmutableArray.IsDefault
bool IsDefault
Definition
ImmutableArray.cs:887
System.Collections.Immutable.ImmutableArray
Definition
ImmutableArray.cs:223
System.Reflection.Metadata.BlobBuilder.Count
int Count
Definition
BlobBuilder.cs:150
System.Reflection.Metadata.BlobBuilder.WriteCompressedInteger
void WriteCompressedInteger(int value)
Definition
BlobBuilder.cs:895
System.Reflection.Metadata.BlobBuilder.WriteSerializedString
void WriteSerializedString(string? value)
Definition
BlobBuilder.cs:828
System.Reflection.Metadata.BlobBuilder.WriteContentTo
void WriteContentTo(Stream destination)
Definition
BlobBuilder.cs:341
System.Reflection.Metadata.BlobBuilder.WriteBytes
void WriteBytes(byte value, int byteCount)
Definition
BlobBuilder.cs:529
System.Reflection.Metadata.BlobBuilder
Definition
BlobBuilder.cs:14
System.Reflection.Throw.ArgumentNull
static void ArgumentNull(string parameterName)
Definition
Throw.cs:110
System.Reflection.Throw.BlobTooLarge
static void BlobTooLarge(string parameterName)
Definition
Throw.cs:159
System.Reflection.Throw
Definition
Throw.cs:9
System.Collections.Immutable
Definition
AllocFreeConcurrentStack.cs:4
System.Reflection.Metadata.Ecma335
Definition
ArrayShapeEncoder.cs:3
System.Reflection.Metadata.Ecma335.PermissionSetEncoder.Builder
BlobBuilder Builder
Definition
PermissionSetEncoder.cs:7
System.Reflection.Metadata.Ecma335.PermissionSetEncoder.PermissionSetEncoder
PermissionSetEncoder(BlobBuilder builder)
Definition
PermissionSetEncoder.cs:9
System.Reflection.Metadata.Ecma335.PermissionSetEncoder.AddPermission
PermissionSetEncoder AddPermission(string typeName, ImmutableArray< byte > encodedArguments)
Definition
PermissionSetEncoder.cs:14
System.Reflection.Metadata.Ecma335.PermissionSetEncoder.AddPermission
PermissionSetEncoder AddPermission(string typeName, BlobBuilder encodedArguments)
Definition
PermissionSetEncoder.cs:34
System.Reflection.Metadata.Ecma335.PermissionSetEncoder
Definition
PermissionSetEncoder.cs:6
source
System.Reflection.Metadata
System.Reflection.Metadata.Ecma335
PermissionSetEncoder.cs
Generated by
1.10.0