Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ParameterExpression.cs
Go to the documentation of this file.
1
using
System.Diagnostics
;
2
using
System.Dynamic.Utils
;
3
4
namespace
System.Linq.Expressions
;
5
6
[DebuggerTypeProxy(typeof(ParameterExpressionProxy))]
7
public
class
ParameterExpression
:
Expression
8
{
9
public
override
Type
Type
=> typeof(
object
);
10
11
public
sealed
override
ExpressionType
NodeType
=>
ExpressionType
.Parameter;
12
13
public
string
?
Name
{
get
; }
14
15
public
bool
IsByRef
=>
GetIsByRef
();
16
17
internal
ParameterExpression
(
string
name)
18
{
19
Name
= name;
20
}
21
22
internal
static
ParameterExpression
Make
(
Type
type
,
string
name,
bool
isByRef)
23
{
24
if
(isByRef)
25
{
26
return
new
ByRefParameterExpression
(
type
, name);
27
}
28
if
(!
type
.IsEnum)
29
{
30
switch
(
type
.GetTypeCode())
31
{
32
case
TypeCode
.Boolean:
33
return
new
PrimitiveParameterExpression<bool>
(name);
34
case
TypeCode
.Byte:
35
return
new
PrimitiveParameterExpression<byte>
(name);
36
case
TypeCode
.Char:
37
return
new
PrimitiveParameterExpression<char>
(name);
38
case
TypeCode
.DateTime:
39
return
new
PrimitiveParameterExpression<DateTime>
(name);
40
case
TypeCode
.Decimal:
41
return
new
PrimitiveParameterExpression<decimal>
(name);
42
case
TypeCode
.Double:
43
return
new
PrimitiveParameterExpression<double>
(name);
44
case
TypeCode
.Int16:
45
return
new
PrimitiveParameterExpression<short>
(name);
46
case
TypeCode
.Int32:
47
return
new
PrimitiveParameterExpression<int>
(name);
48
case
TypeCode
.Int64:
49
return
new
PrimitiveParameterExpression<long>
(name);
50
case
TypeCode
.Object:
51
if
(
type
== typeof(
object
))
52
{
53
return
new
ParameterExpression
(name);
54
}
55
if
(
type
== typeof(
Exception
))
56
{
57
return
new
PrimitiveParameterExpression<Exception>
(name);
58
}
59
if
(
type
== typeof(
object
[]))
60
{
61
return
new
PrimitiveParameterExpression<object[]>
(name);
62
}
63
break
;
64
case
TypeCode
.SByte:
65
return
new
PrimitiveParameterExpression<sbyte>
(name);
66
case
TypeCode
.Single:
67
return
new
PrimitiveParameterExpression<float>
(name);
68
case
TypeCode
.String:
69
return
new
PrimitiveParameterExpression<string>
(name);
70
case
TypeCode
.UInt16:
71
return
new
PrimitiveParameterExpression<ushort>
(name);
72
case
TypeCode
.UInt32:
73
return
new
PrimitiveParameterExpression<uint>
(name);
74
case
TypeCode
.UInt64:
75
return
new
PrimitiveParameterExpression<ulong>
(name);
76
}
77
}
78
return
new
TypedParameterExpression
(
type
, name);
79
}
80
81
internal
virtual
bool
GetIsByRef
()
82
{
83
return
false
;
84
}
85
86
protected
internal
override
Expression
Accept
(
ExpressionVisitor
visitor)
87
{
88
return
visitor.
VisitParameter
(
this
);
89
}
90
}
System.Exception
Definition
Exception.cs:15
System.Linq.Expressions.ByRefParameterExpression
Definition
ByRefParameterExpression.cs:4
System.Linq.Expressions.ExpressionVisitor.VisitParameter
virtual Expression VisitParameter(ParameterExpression node)
Definition
ExpressionVisitor.cs:258
System.Linq.Expressions.ExpressionVisitor
Definition
ExpressionVisitor.cs:9
System.Linq.Expressions.Expression
Definition
Expression.cs:5484
System.Linq.Expressions.ParameterExpression.Accept
override Expression Accept(ExpressionVisitor visitor)
Definition
ParameterExpression.cs:86
System.Linq.Expressions.ParameterExpression.IsByRef
bool IsByRef
Definition
ParameterExpression.cs:15
System.Linq.Expressions.ParameterExpression.Name
string? Name
Definition
ParameterExpression.cs:13
System.Linq.Expressions.ParameterExpression.ParameterExpression
ParameterExpression(string name)
Definition
ParameterExpression.cs:17
System.Linq.Expressions.ParameterExpression.GetIsByRef
virtual bool GetIsByRef()
Definition
ParameterExpression.cs:81
System.Linq.Expressions.ParameterExpression.NodeType
override ExpressionType NodeType
Definition
ParameterExpression.cs:11
System.Linq.Expressions.ParameterExpression.Make
static ParameterExpression Make(Type type, string name, bool isByRef)
Definition
ParameterExpression.cs:22
System.Linq.Expressions.ParameterExpression
Definition
ParameterExpression.cs:8
System.Linq.Expressions.PrimitiveParameterExpression
Definition
PrimitiveParameterExpression.cs:4
System.Linq.Expressions.TypedParameterExpression
Definition
TypedParameterExpression.cs:4
System.Type
Definition
Type.cs:14
System.Diagnostics
Definition
AggregationManager.cs:6
System.Dynamic.Utils
Definition
CacheDict.cs:4
System.Linq.Expressions.ExpressionType
ExpressionType
Definition
ExpressionType.cs:4
System.Linq.Expressions
Definition
AnalyzedTree.cs:3
System.TypeCode
TypeCode
Definition
TypeCode.cs:4
System.ExceptionArgument.type
@ type
source
System.Linq.Expressions
System.Linq.Expressions
ParameterExpression.cs
Generated by
1.10.0