/// <summary> /// Visits the string value node. /// </summary> /// <returns>the node itself.</returns> /// <param name="node">Node.</param> public ISemanticCheckValue VisitStringValueNode(StringValueNode node) { // Here, the node itself is the evaluation we're looking for. // Value nodes implement the ISemanticCheckValue interface. return(node); }
/// <summary> /// Checks the static semantic constraints of a StringValueNode. /// </summary> /// <returns>An ISemanticCheckValue.</returns> /// <param name="node">Node.</param> public ISemanticCheckValue VisitStringValueNode(StringValueNode node) { // This is not a statement so it needs not to be actually checked here. // So, we pass it to the TypeCheckerVisitor instead. return(node.Accept(this.typeChecker)); }
/// <summary> /// Visits the string value node. /// </summary> /// <returns>An ISemanticCheckValue.</returns> /// <param name="node">Node.</param> public ISemanticCheckValue VisitStringValueNode(StringValueNode node) { // let the evaluator evaluate this node return(node.Accept(evaluator)); }