public bool Visit(StructFieldAccessSyntaxNode node) { if (!node.Source.Accept(this)) { return(false); } _ticTypeGraph.SetFieldAccess(node.Source.OrderNumber, node.OrderNumber, node.FieldName); return(true); }
public IExpressionNode Visit(StructFieldAccessSyntaxNode node) { var structNode = ReadNode(node.Source); //Funtic allows default values for not specified types // so call: // y = {}.missingField // is allowed, but it semantically incorrect if (!structNode.Type.StructTypeSpecification.ContainsKey(node.FieldName)) { throw FunParseException.ErrorStubToDo($"Access to non exist field {node.FieldName}"); } return(new StructFieldAccessExpressionNode(node.FieldName, structNode, node.Interval)); }
public virtual VisitorEnterResult Visit(StructFieldAccessSyntaxNode node) => DefaultVisitEnter(node);
public string Visit(StructFieldAccessSyntaxNode node) => $".{node.FieldName}";
public virtual bool Visit(StructFieldAccessSyntaxNode node) => true;