메소드 |
설명 |
|
ExecutableBlockStmtType ( LNode _n, Pedantics p = Pedantics.Lax ) : Symbol |
|
|
IsAssignmentOperator ( Symbol opName ) : bool |
|
|
IsBracedBlock ( LNode n ) : bool |
|
|
IsComplexIdentifier ( LNode n, ICI f = ICI.Default, Pedantics p = Pedantics.Lax ) : bool |
|
|
IsEventDefinition ( LNode n, Pedantics p ) : bool |
|
|
IsExecutableBlockStmt ( LNode _n, Pedantics p = Pedantics.Lax ) : bool |
|
|
IsForwardedProperty ( LNode _n, Pedantics p = Pedantics.Lax ) : bool |
|
|
IsIdentContChar ( char c ) : bool |
|
|
IsIdentStartChar ( char c ) : bool |
|
|
IsLabelStmt ( LNode _n, Pedantics p = Pedantics.Lax ) : bool |
|
|
IsNamedArgument ( LNode _n, Pedantics p = Pedantics.Lax ) : bool |
|
|
IsOperator ( Symbol opName ) : bool |
|
|
IsPlainCsIdentContChar ( char c ) : bool |
|
|
IsPlainCsIdentStartChar ( char c ) : bool |
|
|
IsPlainCsIdentifier ( string text ) : bool |
|
|
IsPrintableTypeParam ( LNode n, Pedantics p = Pedantics.Lax ) : bool |
Checks if 'n' is a legal type parameter definition. A type parameter definition must be a simple symbol with at most one #in or #out attribute, and at most one #where attribute with an argument list consisting of complex identifiers. |
|
IsPropertyDefinition ( LNode n, LNode &retType, LNode &name, LNode &args, LNode &body, LNode &initialValue, Pedantics p = Pedantics.Lax ) : bool |
Returns true iff the given node has a valid syntax tree for a property definition, and gets the component parts of the definition. The body may be anything. If it calls CodeSymbols.Braces, it's a normal body. |
|
IsPropertyDefinition ( LNode n, Pedantics p = Pedantics.Lax ) : bool |
Returns true iff the given node has a valid syntax tree for a property definition. |
|
IsResultExpr ( LNode n, Pedantics p = Pedantics.Lax ) : bool |
|
|
IsSimpleIdentifier ( LNode n, Pedantics p ) : bool |
|
|
IsVariableDecl ( LNode _n, bool allowMultiple, bool allowNoAssignment, Pedantics p ) : bool |
|
|
IsVariableDeclExpr ( LNode expr, LNode &type, LNode &name, LNode &initialValue ) : bool |
Verifies that a declaration of a single variable is valid and gets its parts. |
|
KeyNameComponentOf ( LNode name ) : Symbol |
Given a complex name such as global::Foo<int>.Bar<T> , this method identifies the base name component, which in this example is Bar. This is used, for example, to identify the expected name for a constructor based on the class name, e.g. Foo<T> => Foo. It is not verified that name is a complex identifier. There is no error detection but in some cases an empty name may be returned, e.g. for input like Foo."Hello" . |
|
MayBeImplicitChildStatement ( LNode node, int childIndex ) : bool |
Returns true if the specified child of the specified node can be an implicit child statement, i.e. a child statement that is not necessarily a braced block, e.g. the second child of a while loop. This method helps the printer decide when a newline should be added before an unbraced child statement when there are no attributes dictating whether to add a newline or not. This method only cares about executable parent nodes. It returns false for class/space and function/property bodies, which are always braced blocks and therefore get a newline before every child statement automatically. |
|
MethodDefinitionKind ( LNode n, LNode &retType, LNode &name, LNode &args, LNode &body, bool allowDelegate, Pedantics p = Pedantics.Lax ) : Symbol |
If the given node has a valid syntax tree for a method definition, a constructor, or (when orDelegate is true) a delegate definition, gets the definition kind (#fn, #cons, or #delegate). Method declarations (no body) also count. A destructor counts as a #fn with a method name that calls the ~ operator. |
|
MethodDefinitionKind ( LNode n, bool allowDelegate, Pedantics p = Pedantics.Lax ) : Symbol |
If the given node has a valid syntax tree for a method definition, a constructor, or (when orDelegate is true) a delegate definition, gets the definition kind (#fn, #cons, or #delegate). |
|
SanitizeIdentifier ( string id ) : string |
Eliminates punctuation and special characters from a string so that the string can be used as a plain C# identifier, e.g. "I'd" => "I_aposd", "123" => "_123", "+5" => "_plus5". The empty string "" becomes "__empty__", ASCII punctuation becomes "_xyz" where xyz is an HTML entity name, e.g. '!' becomes "_excl", and all other characters become "Xxx" where xx is the hexadecimal representation of the code point. Designed for the Unicode BMP only. |
|
SpaceDefinitionKind ( LNode n, LNode &name, LNode &bases, LNode &body, Pedantics p = Pedantics.Lax ) : Symbol |
Returns the space kind, which is one of the names #struct, #class, #enum, #interface, #namespace, #alias, #trait, or null if the node Name or structure is not valid for a space statement. |
|
SpaceDefinitionKind ( LNode n, Pedantics p = Pedantics.Lax ) : Symbol |
Returns the space kind, which is one of the names #struct, #class, #enum, #interface, #namespace, #alias, #trait, or null if the node Name or structure is not valid for a space statement. |
|