public ThrowBuilder(ThrowNode throwNode) { node = throwNode; DotDefinition = new List <IDotElement>(); CreateNode(); CreateEdgeToNextSibling(); CreateSpecialEdge(); }
public virtual void Visit(ThrowNode node) { if (node != null) { if (node.Operand != null) { node.Operand.Accept(this); } } }
private Statement ProcessThrowStatement(ThrowNode node) { Debug.Assert(node.Value != null); Expression valueExpression = _expressionBuilder.BuildExpression(node.Value); if (valueExpression is MemberExpression) { valueExpression = _expressionBuilder.TransformMemberExpression((MemberExpression)valueExpression); } return(new ThrowStatement(valueExpression)); }
bool IParseNodeValidator.Validate(ParseNode node, CompilerOptions options, IErrorHandler errorHandler) { ThrowNode throwNode = (ThrowNode)node; if (throwNode.Value == null) { errorHandler.ReportNodeValidationError(DSharpStringResources.THROW_NODE_VALIDATION_ERROR, throwNode); return(false); } return(true); }
bool IParseNodeValidator.Validate(ParseNode node, CompilerOptions options, IErrorHandler errorHandler) { ThrowNode throwNode = (ThrowNode)node; if (throwNode.Value == null) { errorHandler.ReportError("Throw statements must specify an exception object.", throwNode.Token.Location); return(false); } return(true); }
public object Process(Parser parser, SortedDictionary <string, object> parameters) { if (parser.CurrenToken.Type == TokenType.KwThrow) { parser.NextToken(); var _statThrow = (ExpressionNode) new ThrowStatementp().Process(parser, parameters); var _throw = new ThrowNode { ThrowStatementNode = _statThrow }; return(_throw); } else { //Epsilon throw new ParserException("This was expected the token: throw, Received: [" + parser.CurrenToken.LexemeVal + "], Row: " + parser.CurrenToken.Row + ", Column: " + parser.CurrenToken.Column); } }
public override bool Walk(ThrowNode node) { CheckStatement(node); return(base.Walk(node)); }
public ThrowNodeTests() { subject = new ThrowNode(SourcePosition.NIL, new StringNode(SourcePosition.NIL, "foo")); }
public override bool Walk(ThrowNode node) { UpdateChildRanges(node); return(base.Walk(node)); }
public override bool Walk(ThrowNode node) { _eval.EvaluateMaybeNull(node.Operand); return(false); }
public ThrowCompiler(ThrowNode node) { this.node = node; }
public void VisitThrow(ThrowNode node) { UpdateLine(node); node.Value.Accept(this); asm.Throw(); }
public virtual void Visit(ThrowNode node) { if (node != null) { AcceptChildren(node); } }
public override bool Walk(ThrowNode node) { AddNode(node); return(true); }
public virtual bool Walk(ThrowNode node) { return(true); }
public void Visit(ThrowNode node) { // not applicable; terminate }
public virtual void PostWalk(ThrowNode node) { }
public virtual bool Walk(ThrowNode node) { return true; }
public void VisitThrow(ThrowNode node) { VisitThrowHandler(node); }
public void TranslateThrowNode(ThrowNode node) { TranslateDependentPureNodes(node); builder.AppendLine($"throw {GetPinIncomingValue(node.ExceptionPin)};"); }