private IExpression HandleNewCallExpressionNode(NewCallExpressionNode node) { var methodCallData = new MethodCallExpressionNodeData { Name = "ctor" }; methodCallData.Parameters.AddRange(node.Parameters); return(CreateStaticMethodCallExpression(node.Type, methodCallData)); }
public override object VisitNewCallExpression([NotNull] DoshikParser.NewCallExpressionContext context) { SetWholeExpression(context); VisitChildren(context); _compilationContext.SetParsingAntlrContext(context); var node = new NewCallExpressionNode(context); var newCallCtx = context.newCall(); var foundType = GetTypeNameVisitor.Apply(_compilationContext, newCallCtx.typeType()); foundType.ThrowIfNotFound(_compilationContext); node.Type = foundType.DataType; node.Parameters.AddRange(GetMethodCallParameters(newCallCtx.methodCallParams())); Sequence.Sequence.Add(node); return(null); }