forked from Unity-Technologies/UnityCsReference
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAttributes.cs
More file actions
141 lines (120 loc) · 4.47 KB
/
Copy pathAttributes.cs
File metadata and controls
141 lines (120 loc) · 4.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// Unity C# reference source
// Copyright (c) Unity Technologies. For terms of use, see
// https://unity3d.com/legal/licenses/Unity_Reference_Only_License
using System;
using System.Collections.Generic;
using UnityEngine.Bindings;
namespace UnityEngine.Scripting
{
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Struct | AttributeTargets.Property | AttributeTargets.Constructor | AttributeTargets.Interface | AttributeTargets.Enum, Inherited = false)]
[VisibleToOtherModules]
internal class UsedByNativeCodeAttribute : Attribute
{
public UsedByNativeCodeAttribute()
{
}
public UsedByNativeCodeAttribute(string name)
{
Name = name;
}
public string Name { get; set; }
}
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Struct | AttributeTargets.Property | AttributeTargets.Constructor | AttributeTargets.Interface | AttributeTargets.Enum, Inherited = false)]
[VisibleToOtherModules]
internal class RequiredByNativeCodeAttribute : Attribute
{
public RequiredByNativeCodeAttribute()
{
}
public RequiredByNativeCodeAttribute(string name)
{
Name = name;
}
public RequiredByNativeCodeAttribute(bool optional)
{
Optional = optional;
}
public RequiredByNativeCodeAttribute(string name, bool optional)
{
Name = name;
Optional = optional;
}
public string Name { get; set; }
public bool Optional { get; set; }
public bool GenerateProxy { get; set; }
}
// NOTE(rb): This is a temporary attribute that UnityBindingsParser will
// generate for all custom methods and properties in the transition process
// to new bindings generator. It will be removed when migration is complete.
[VisibleToOtherModules]
internal class GeneratedByOldBindingsGeneratorAttribute : System.Attribute
{
}
}
namespace UnityEngine
{
[VisibleToOtherModules]
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
internal sealed class AssetFileNameExtensionAttribute : Attribute
{
// the extension that should be given to assets of the decorated type when created from contexts that have limited information about the type
public string preferredExtension { get; }
// other extensions that assets of the decorated type might be given in special contexts
public IEnumerable<string> otherExtensions { get; }
public AssetFileNameExtensionAttribute(string preferredExtension, params string[] otherExtensions)
{
this.preferredExtension = preferredExtension;
this.otherExtensions = otherExtensions;
}
}
[VisibleToOtherModules]
[System.AttributeUsage(System.AttributeTargets.Method)]
internal class ThreadAndSerializationSafeAttribute : System.Attribute
{
public ThreadAndSerializationSafeAttribute()
{
}
}
[System.AttributeUsage(System.AttributeTargets.Struct)]
[VisibleToOtherModules]
internal class IL2CPPStructAlignmentAttribute : System.Attribute
{
public int Align;
public IL2CPPStructAlignmentAttribute()
{
Align = 1;
}
}
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false)]
[VisibleToOtherModules]
internal class WritableAttribute : Attribute
{
}
[AttributeUsage(AttributeTargets.Class)]
[VisibleToOtherModules]
internal class RejectDragAndDropMaterial : Attribute
{
}
[AttributeUsage(AttributeTargets.Assembly)]
[VisibleToOtherModules]
internal class UnityEngineModuleAssembly : Attribute
{
}
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = false)]
[VisibleToOtherModules]
internal sealed class NativeClassAttribute : Attribute
{
public string QualifiedNativeName { get; private set; }
public string Declaration { get; private set; }
public NativeClassAttribute(string qualifiedCppName)
{
QualifiedNativeName = qualifiedCppName;
Declaration = "class " + qualifiedCppName;
}
public NativeClassAttribute(string qualifiedCppName, string declaration)
{
QualifiedNativeName = qualifiedCppName;
Declaration = declaration;
}
}
}