Summary
[Editor-Only] Base class for building any element in a procedural script such as namespaces, types, fields, etc.
- Assembly
- Weaver
.dll - Namespace
- Weaver
.Editor .Procedural .Scripting - Base Types
-
- Object
- Derived Types
graph BT
Type-->Base0["Object"]
Type["ElementBuilder"]
class Type type-node
Derived0["NamespaceBuilder"]-->Type
click Derived0 "/weaver/api/Weaver.Editor.Procedural.Scripting/NamespaceBuilder"
Derived1["MemberBuilder"]-->Type
click Derived1 "/weaver/api/Weaver.Editor.Procedural.Scripting/MemberBuilder"
Syntax
public abstract class ElementBuilder
Constructors
Name | Summary |
---|---|
ElementBuilder |
Creates a new Weaver.Editor.Procedural.Scripting.MemberBuilder with the default values.
Consider using one of the overloads of Get instead, in order to utilise object pooling to minimise memory
allocation and garbage collection.
|
Fields
Name | Constant Value | Summary |
---|---|---|
Default |
The default delegate to use to build the XML comment for this element.
Assigned using the return value of
Weaver.Editor.Procedural.Scripting.ElementBuilder.GetDefaultCommentBuilder .
|
Properties
Name | Value | Summary |
---|---|---|
CommentBuilder | Action |
This delegate is used to append the XML comment for this element. By default it will simply append the
Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource .
|
Compilation |
int |
The index in
Weaver.Editor.Procedural.Scripting.ScriptBuilder.CompilationSymbols of the symbol in which this element will be declared, I.E. #if SYMBOL.
|
FullName | string |
Returns the full name of this element, including its
Weaver.Editor.Procedural.Scripting.ElementBuilder.Parent (and any types and namespaces it
is nested inside).
|
HasExistingMember | bool |
Returns true if this element is associated with an existing
System.Reflection.MemberInfo .
|
IsFallbackName | bool |
Indicates whether the current
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element is the primary name derived from the
Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource . A value of false means that there was a name conflict between this element and
another, and the Weaver.Editor.Procedural.Scripting.ElementBuilder.Name was re-derived using Weaver.Editor.Procedural.Scripting.ScriptBuilder.GetFallbackMemberName(System.String,System.String) .
|
MemberType | MemberTypes |
The type of member which this element builds.
|
Name | string |
The actual
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element.
This value is derived from Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource during Weaver.Editor.Procedural.Scripting.ElementBuilder.PrepareToBuild(System.Boolean,System.Boolean@) .
|
NameSource | string |
The source string which will be used to determine the actual
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element. |
Namespace | string |
The name of the
Weaver.Editor.Procedural.Scripting.NamespaceBuilder containing this type (or null if there isn't one). |
Parent | IElementBuilderGroup |
The builder of the type in which this element will be declared.
|
RegionIndex | int |
The index in
Weaver.Editor.Procedural.Scripting.ScriptBuilder.Regions of the region in which this element will be declared, I.E. #region Region Name.
|
ScriptBuilder | ScriptBuilder |
The
Weaver.Editor.Procedural.Scripting.ScriptBuilder in which this element is currently being used.
|
Methods
Name | Value | Summary |
---|---|---|
AppendDescription |
void |
Appends a description of this element by calling
Weaver.Editor.Procedural.Scripting.ElementBuilder.ToString on it.
|
AppendFullName |
void |
Appends the full name of this element, including its
Weaver.Editor.Procedural.Scripting.ElementBuilder.Parent (and any types and namespaces it
is nested inside).
|
AppendHeader |
void |
Appends a C# XML comment using the
Weaver.Editor.Procedural.Scripting.ElementBuilder.CommentBuilder . |
AppendScript |
void |
Appends the declaration of this element in C# code to the specified `text`.
|
DetermineMemberName |
void |
Uses the specified
Weaver.Editor.Procedural.Scripting.ScriptBuilder.GetMemberName(System.String,System.String,System.Boolean@) to determine the Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element.
|
Get |
Action |
Returns the default method to use to build XML comments for this element. Called once by the constructor.
|
GetDescription |
string |
Gets a description of this element by calling
Weaver.Editor.Procedural.Scripting.ElementBuilder.ToString on it and any sub-members.
|
Initialize |
void |
Assigns the specified parameters to this element and determines the
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name .
|
IsExistingMember |
bool |
Checks if the `existingMember` corresponds to this element.
|
ReleaseToPool |
void |
Resets this element and adds it to its object pool to be reused later.
|
Reset |
void |
Resets all of the fields and properties of this element to their default values.
|
SetName |
void |
Sets the
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name and Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource . |
ToString |
string |
Returns a summary of this element including its type,
Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource , Weaver.Editor.Procedural.Scripting.ElementBuilder.Name , and Weaver.Editor.Procedural.Scripting.ElementBuilder.FullName .
|