-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathUnity.ProjectAuditor.Editor.api
More file actions
239 lines (220 loc) · 10.9 KB
/
Unity.ProjectAuditor.Editor.api
File metadata and controls
239 lines (220 loc) · 10.9 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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
// This file is generated. Do not modify by hand.
// XML documentation file not found. To check if public methods have XML comments,
// make sure the XML doc file is present and located next to the scraped dll
namespace Unity.ProjectAuditor.Editor
{
public enum Area
{
public const Unity.ProjectAuditor.Editor.Area All = 5;
public const Unity.ProjectAuditor.Editor.Area BuildSize = 3;
public const Unity.ProjectAuditor.Editor.Area CPU = 0;
public const Unity.ProjectAuditor.Editor.Area GPU = 1;
public const Unity.ProjectAuditor.Editor.Area LoadTimes = 4;
public const Unity.ProjectAuditor.Editor.Area Memory = 2;
public int value__;
}
public class AssemblyCompilationException : System.Exception
{
public AssemblyCompilationException() {}
}
public class AssetDependencyNode : Unity.ProjectAuditor.Editor.DependencyNode
{
public AssetDependencyNode() {}
public virtual string GetPrettyName();
public virtual bool IsPerfCritical();
}
public abstract class DependencyNode
{
public Unity.ProjectAuditor.Editor.Utils.Location location;
protected System.Collections.Generic.List<Unity.ProjectAuditor.Editor.DependencyNode> m_Children;
public bool perfCriticalContext;
public string prettyName { get; }
protected DependencyNode() {}
public void AddChild(Unity.ProjectAuditor.Editor.DependencyNode child);
public Unity.ProjectAuditor.Editor.DependencyNode GetChild(int index = 0);
public int GetNumChildren();
public abstract string GetPrettyName();
public bool HasChildren();
public bool HasValidChildren();
public abstract bool IsPerfCritical();
}
public interface IAuditor
{
public abstract void Audit(System.Action<Unity.ProjectAuditor.Editor.ProjectIssue> onIssueFound, System.Action onComplete, Unity.ProjectAuditor.Editor.IProgressBar progressBar = default(Unity.ProjectAuditor.Editor.IProgressBar));
public abstract System.Collections.Generic.IEnumerable<Unity.ProjectAuditor.Editor.ProblemDescriptor> GetDescriptors();
public abstract void Initialize(Unity.ProjectAuditor.Editor.ProjectAuditorConfig config);
public abstract void RegisterDescriptor(Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor);
public abstract void Reload(string path);
}
public interface IProgressBar
{
public abstract void AdvanceProgressBar(string description = );
public abstract void ClearProgressBar();
public abstract void Initialize(string title, string description, int total);
}
public interface IProjectIssueFilter
{
public abstract bool Match(Unity.ProjectAuditor.Editor.ProjectIssue issue);
}
public enum IssueCategory
{
public const Unity.ProjectAuditor.Editor.IssueCategory Assets = 0;
public const Unity.ProjectAuditor.Editor.IssueCategory Code = 1;
public const Unity.ProjectAuditor.Editor.IssueCategory NumCategories = 3;
public const Unity.ProjectAuditor.Editor.IssueCategory ProjectSettings = 2;
public int value__;
}
public class ProblemDescriptor : System.IEquatable<Unity.ProjectAuditor.Editor.ProblemDescriptor>
{
public Unity.ProjectAuditor.Editor.Rule.Action action;
public string area;
public bool critical;
public string customevaluator;
public string description;
public int id;
public string method;
public string problem;
public string solution;
public string type;
public string value;
public ProblemDescriptor(int id, string description, Unity.ProjectAuditor.Editor.Area area, string problem, string solution) {}
public virtual bool Equals(object obj);
public virtual bool Equals(Unity.ProjectAuditor.Editor.ProblemDescriptor other);
public virtual int GetHashCode();
}
public class ProjectAuditor : UnityEditor.Build.IOrderedCallback, UnityEditor.Build.IPreprocessBuildWithReport
{
public const string DefaultAssetPath = Assets/Editor/ProjectAuditorConfig.asset;
public virtual int callbackOrder { get; }
public Unity.ProjectAuditor.Editor.ProjectAuditorConfig config { get; set; }
public ProjectAuditor() {}
public ProjectAuditor(string assetPath) {}
public Unity.ProjectAuditor.Editor.ProjectReport Audit(Unity.ProjectAuditor.Editor.IProgressBar progressBar = default(Unity.ProjectAuditor.Editor.IProgressBar));
public void Audit(System.Action<Unity.ProjectAuditor.Editor.ProjectIssue> onIssueFound, System.Action<bool> onUpdate, Unity.ProjectAuditor.Editor.IProgressBar progressBar = default(Unity.ProjectAuditor.Editor.IProgressBar));
public virtual void OnPreprocessBuild(UnityEditor.Build.Reporting.BuildReport report);
public void Reload(string path);
}
public class ProjectAuditorConfig : UnityEngine.ScriptableObject
{
public bool AnalyzeInBackground;
public bool AnalyzeOnBuild;
public bool FailBuildOnIssues;
public bool LogTimingsInfo;
public int NumRules { get; }
public ProjectAuditorConfig() {}
public void AddRule(Unity.ProjectAuditor.Editor.Rule ruleToAdd);
public void ClearAllRules();
public void ClearRules(Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor, string filter = );
public Unity.ProjectAuditor.Editor.Rule.Action GetAction(Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor, string filter = );
public Unity.ProjectAuditor.Editor.Rule GetRule(Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor, string filter = );
}
public class ProjectIssue
{
public Unity.ProjectAuditor.Editor.IssueCategory category;
public Unity.ProjectAuditor.Editor.DependencyNode dependencies;
public string description;
public Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor;
public Unity.ProjectAuditor.Editor.Utils.Location location;
public string callingMethod { get; }
public string filename { get; }
public bool isPerfCriticalContext { get; }
public int line { get; }
public string name { get; }
public string relativePath { get; }
public ProjectIssue(Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor, string description, Unity.ProjectAuditor.Editor.IssueCategory category, Unity.ProjectAuditor.Editor.CodeAnalysis.CallTreeNode dependenciesNode) {}
public ProjectIssue(Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor, string description, Unity.ProjectAuditor.Editor.IssueCategory category, Unity.ProjectAuditor.Editor.Utils.Location location = default(Unity.ProjectAuditor.Editor.Utils.Location)) {}
public string GetCustomProperty(int index);
public void SetCustomProperties(string[] properties);
}
public class ProjectReport
{
public int NumTotalIssues { get; }
public ProjectReport() {}
public void ExportToCSV(string reportPath, System.Func<Unity.ProjectAuditor.Editor.ProjectIssue, bool> match = default(System.Func<Unity.ProjectAuditor.Editor.ProjectIssue, bool>));
public Unity.ProjectAuditor.Editor.ProjectIssue[] GetIssues(Unity.ProjectAuditor.Editor.IssueCategory category);
public int GetNumIssues(Unity.ProjectAuditor.Editor.IssueCategory category);
}
public class Rule : System.IEquatable<Unity.ProjectAuditor.Editor.Rule>
{
public Unity.ProjectAuditor.Editor.Rule.Action action;
public string filter;
public int id;
public Rule() {}
public virtual bool Equals(object obj);
public virtual bool Equals(Unity.ProjectAuditor.Editor.Rule other);
public virtual int GetHashCode();
public static bool operator ==(Unity.ProjectAuditor.Editor.Rule a, Unity.ProjectAuditor.Editor.Rule b);
public static bool operator !=(Unity.ProjectAuditor.Editor.Rule a, Unity.ProjectAuditor.Editor.Rule b);
public enum Action
{
public const Unity.ProjectAuditor.Editor.Rule.Action Default = 0;
public const Unity.ProjectAuditor.Editor.Rule.Action Error = 1;
public const Unity.ProjectAuditor.Editor.Rule.Action Hidden = 5;
public const Unity.ProjectAuditor.Editor.Rule.Action Info = 3;
public const Unity.ProjectAuditor.Editor.Rule.Action None = 4;
public int value__;
public const Unity.ProjectAuditor.Editor.Rule.Action Warning = 2;
}
}
public class TextFilter : Unity.ProjectAuditor.Editor.IProjectIssueFilter
{
public bool matchCase;
public bool searchDependencies;
public string searchText;
public TextFilter() {}
public virtual bool Match(Unity.ProjectAuditor.Editor.ProjectIssue issue);
}
}
namespace Unity.ProjectAuditor.Editor.Auditors
{
public class AssetsAuditor : Unity.ProjectAuditor.Editor.IAuditor
{
public AssetsAuditor() {}
public virtual void Audit(System.Action<Unity.ProjectAuditor.Editor.ProjectIssue> onIssueFound, System.Action onComplete, Unity.ProjectAuditor.Editor.IProgressBar progressBar = default(Unity.ProjectAuditor.Editor.IProgressBar));
public virtual System.Collections.Generic.IEnumerable<Unity.ProjectAuditor.Editor.ProblemDescriptor> GetDescriptors();
public virtual void Initialize(Unity.ProjectAuditor.Editor.ProjectAuditorConfig config);
public virtual void RegisterDescriptor(Unity.ProjectAuditor.Editor.ProblemDescriptor descriptor);
public virtual void Reload(string path);
}
}
namespace Unity.ProjectAuditor.Editor.CodeAnalysis
{
public class CallTreeNode : Unity.ProjectAuditor.Editor.DependencyNode
{
public string assemblyName;
public string methodName;
public string name;
public string typeName;
public virtual string GetPrettyName();
public virtual bool IsPerfCritical();
}
}
namespace Unity.ProjectAuditor.Editor.InstructionAnalyzers
{
public interface IInstructionAnalyzer
{
public abstract Unity.ProjectAuditor.Editor.ProjectIssue Analyze(Mono.Cecil.MethodDefinition methodDefinition, Mono.Cecil.Cil.Instruction inst);
public abstract System.Collections.Generic.IEnumerable<Mono.Cecil.Cil.OpCode> GetOpCodes();
public abstract void Initialize(Unity.ProjectAuditor.Editor.IAuditor auditor);
}
}
namespace Unity.ProjectAuditor.Editor.SettingsAnalyzers
{
public interface ISettingsAnalyzer
{
public abstract Unity.ProjectAuditor.Editor.ProjectIssue Analyze();
public abstract int GetDescriptorId();
public abstract void Initialize(Unity.ProjectAuditor.Editor.IAuditor auditor);
}
}
namespace Unity.ProjectAuditor.Editor.Utils
{
public class Location
{
public string Extension { get; }
public string Filename { get; }
public int Line { get; }
public string Path { get; }
public bool IsValid();
}
}