using Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax; namespace Microsoft.CodeAnalysis.CSharp.Syntax; public sealed class CastExpressionSyntax : ExpressionSyntax { private TypeSyntax? type; private ExpressionSyntax? expression; public SyntaxToken OpenParenToken => new SyntaxToken((SyntaxNode)(object)this, (GreenNode)(object)((Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CastExpressionSyntax)(object)((SyntaxNode)this).Green).openParenToken, ((SyntaxNode)this).Position, 0); public TypeSyntax Type => ((SyntaxNode)this).GetRed(ref type, 1); public SyntaxToken CloseParenToken => new SyntaxToken((SyntaxNode)(object)this, (GreenNode)(object)((Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CastExpressionSyntax)(object)((SyntaxNode)this).Green).closeParenToken, ((SyntaxNode)this).GetChildPosition(2), ((SyntaxNode)this).GetChildIndex(2)); public ExpressionSyntax Expression => ((SyntaxNode)this).GetRed(ref expression, 3); internal CastExpressionSyntax(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) : base(green, parent, position) { } internal override SyntaxNode? GetNodeSlot(int index) { return (SyntaxNode?)(index switch { 1 => ((SyntaxNode)this).GetRed(ref type, 1), 3 => ((SyntaxNode)this).GetRed(ref expression, 3), _ => null, }); } internal override SyntaxNode? GetCachedSlot(int index) { return (SyntaxNode?)(index switch { 1 => type, 3 => expression, _ => null, }); } public override void Accept(CSharpSyntaxVisitor visitor) { visitor.VisitCastExpression(this); } public override TResult? Accept(CSharpSyntaxVisitor visitor) { return visitor.VisitCastExpression(this); } public CastExpressionSyntax Update(SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken, ExpressionSyntax expression) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) if (openParenToken != OpenParenToken || type != Type || closeParenToken != CloseParenToken || expression != Expression) { CastExpressionSyntax castExpressionSyntax = SyntaxFactory.CastExpression(openParenToken, type, closeParenToken, expression); SyntaxAnnotation[] annotations = ((SyntaxNode)this).GetAnnotations(); if (annotations == null || annotations.Length == 0) { return castExpressionSyntax; } return castExpressionSyntax.WithAnnotations(annotations); } return this; } public CastExpressionSyntax WithOpenParenToken(SyntaxToken openParenToken) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) return Update(openParenToken, Type, CloseParenToken, Expression); } public CastExpressionSyntax WithType(TypeSyntax type) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) return Update(OpenParenToken, type, CloseParenToken, Expression); } public CastExpressionSyntax WithCloseParenToken(SyntaxToken closeParenToken) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) return Update(OpenParenToken, Type, closeParenToken, Expression); } public CastExpressionSyntax WithExpression(ExpressionSyntax expression) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return Update(OpenParenToken, Type, CloseParenToken, expression); } }