示例#1
0
 public static string ToSymbolString(this AccessOperator @operator)
 {
     return(@operator switch
     {
         AccessOperator.Standard => ".",
         AccessOperator.Conditional => "?.",
         _ => throw ExhaustiveMatch.Failed(@operator)
     });
示例#2
0
 public QualifiedNameExpressionSyntax(
     TextSpan span,
     IExpressionSyntax context,
     AccessOperator accessOperator,
     INameExpressionSyntax field)
     : base(span)
 {
     this.context   = context;
     AccessOperator = accessOperator;
     Field          = field;
 }
 public FieldAccessExpression(
     TextSpan span,
     DataType dataType,
     ExpressionSemantics semantics,
     IExpression context,
     AccessOperator accessOperator,
     FieldSymbol referencedSymbol)
     : base(span, dataType, semantics)
 {
     Context          = context;
     AccessOperator   = accessOperator;
     ReferencedSymbol = referencedSymbol;
 }
 public override string ToString()
 {
     return($"{Context.ToGroupedString(ExpressionPrecedence)}{AccessOperator.ToSymbolString()}{ReferencedSymbol.Name}");
 }