public void ExitPrimaryexpression([NotNull] sqfParser.PrimaryexpressionContext context) { var node = this.ExitGeneric <SqfPrimaryExpression>(context); if (context.NUMBER() != null) { var value = new SqfNumber(node.GetParent()); var valContext = context.NUMBER(); value.Value = valContext.GetText(); value.StartOffset = node.StartOffset; value.Length = node.Length; value.Col = node.Col; node.GetParent().Children[node.GetParent().Children.IndexOf(node)] = value; } else if (context.STRING() != null) { var value = new SqfString(node.GetParent()); var valContext = context.STRING(); value.Value = valContext.GetText(); value.StartOffset = node.StartOffset; value.Length = node.Length; value.Col = node.Col; node.GetParent().Children[node.GetParent().Children.IndexOf(node)] = value; } else { if (context.GetToken(sqfLexer.CURLYOPEN, 0) != null) { if (node.Children.Count > 0) { node.RemoveFromTree(); } else { var value = new SqfCode(node.GetParent()); var numberContext = context.STRING(); value.StartOffset = node.StartOffset; value.Length = node.Length; value.Col = node.Col; node.GetParent().Children[node.GetParent().Children.IndexOf(node)] = value; } } else { node.RemoveFromTree(); } } }
public void EnterPrimaryexpression([NotNull] sqfParser.PrimaryexpressionContext context) { this.EnterGeneric(new SqfPrimaryExpression(this.Current)); }