CxExpression
Description
- Derived from
-
CxNode abstract
ICxUsageContainer<CxExpressionUsage>
ICxReference - Extended by
-
CxExpressionBinary sealed
CxExpressionCall sealed
CxExpressionCast sealed
CxExpressionDefault sealed
CxExpressionIf sealed
CxExpressionIndex sealed
CxExpressionLiteral sealed
CxExpressionMember sealed
CxExpressionName sealed
CxExpressionNew sealed
CxExpressionUnary sealed
Abstract base for classes that represent a Code-X expression.
The ICxReference.Resolved property may return the following values:
CxExpression... |Binary
| |Call
| | |Cast
| | | |Default
| | | | |If |Index
| | | | | | |Literal
| | | | | | | |Member
| | | | | | | | |Name
Cx... | | | | | | | | | |New|Unary
--------------------+---+---+---+---+---+---+---+---+---+---+---
Declaration | A | | A | A | A | A | A | C | C | A | A
DeclarationDelegate | | B | | | | | | | | |
Item | | | | | | | | D | D | |
MemberConstructor | | | | | | | | | | B |
MemberMethod | K | B | | | | | | | | | K
MemberProperty | | | | | | K | | E | E | |
MethodGroup | | | | | | | | F | F | |
NamespaceGroup | | | | | | | | G | G | |
Parameter | | | | | | | | | H | |
TypeParameter | | | | | | | | | I | |
Variable | | | | | | | | J | J | |
The cases A .. O are defined as follows:
-
Case
A:
The type declaration that results from resolving the expression type. -
Case
B:
The method or delegate that is invoked by a call expression or the constructor that is called by an object creation expression. -
Case
C:
The type declaration that is referred to by the name / member expression. -
Case
D:
The enumeration item that is referred to by the name / member expression. -
Case
E:
The property that is referred to by the name / member expression or, when inside of the property setter, by the special name expressionvalue. -
Case
F:
The method group that has the same name as indicated by the name / member expression. -
Case
G:
The group of those namespaces that match the name / member expression in the context of the enclosing code unit. -
Case
H:
The parameter of a constructor, delegate or method that is referred to by the name expression. -
Case
I:
The type parameter of a class, delegate, interface, struct or method that is referred to by the name expression. -
Case
J:
The variable of a constant or field member that is referred to by the name / member expression or the variable in a for loop, a catch block or a statement block that is referred to by the name expression. -
Case
K:
The operator method or indexer property that is referred to by the unary / binary expression or index expression.
There is no expression for explicitly wrapping another expression in braces, i.e. (expr). The necessity for braces may be queried with NeedsBraces.
Public / Constants
Public / Constructors
FromSource
Parses the given expression.
- ValidatingException
-
If the syntax of source in is invalid.
- See also
Public / Methods
WriteSourceCodeWithBraces
Produces source code by feeding the given source code writer.
- IOException
-
If an I/O error occurs while emitting source code to writer in.
Public / Attributes
Precedence
The expression precedence value.
- See also
-
CxExpression.PrecedenceAdditive
CxExpression.PrecedenceAssignment
CxExpression.PrecedenceConditional
CxExpression.PrecedenceConditionalAnd
CxExpression.PrecedenceConditionalOr
CxExpression.PrecedenceEquality
CxExpression.PrecedenceLogicalAnd
CxExpression.PrecedenceLogicalOr
CxExpression.PrecedenceLogicalXOr
CxExpression.PrecedenceMultiplicative
CxExpression.PrecedencePrimary
CxExpression.PrecedenceRelational
CxExpression.PrecedenceShift
CxExpression.PrecedenceUnary
Protected / Methods
ComputeExpressionType
Computes the expression type from the given resolved node.
Computes the expression type.
This method is called from PsiNode.OnResolved.
- See also