public void YieldReturnStatementTest()
        {
            YieldReturnStatement yieldStmt = ParseUtilCSharp.ParseStatement <YieldReturnStatement>("yield return \"Foo\";");
            PrimitiveExpression  expr      = (PrimitiveExpression)yieldStmt.Expression;

            Assert.AreEqual("Foo", expr.Value);
        }
 public virtual void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     if (ThrowException)
     {
         throw (Exception)CreateException(yieldReturnStatement);
     }
 }
Exemple #3
0
 public virtual void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     if (this.ThrowException)
     {
         throw (System.Exception) this.CreateException(yieldReturnStatement);
     }
 }
        public void CSharpCodeGenerator_YieldReturnExpression()
        {
            var statement = new YieldReturnStatement(10);
            var generator = new CSharpCodeGenerator();
            var result    = generator.Write(statement);

            Assert.That.StringEquals(@"yield return 10;
", result);
        }
        public JNode VisitYieldReturnStatement(YieldReturnStatement node)
        {
            var exp2 = VisitExpression(node.Expression);

            if (SupportClrYield)
            {
                return(new JsYieldReturnStatement {
                    Expression = exp2
                });
            }
            var node2 = J.Member("$yield.add").Invoke(exp2).Statement();

            return(node2);
        }
        public JsNode VisitYieldReturnStatement(YieldReturnStatement node)
        {
            qiucw.AddYieldReturn(node);

            var exp2 = VisitExpression(node.Expression);

            if (SupportClrYield)
            {
                return(new JsYieldReturnStatement {
                    Expression = exp2
                });
            }
            //var node2 = Js.Member("$yield.push").Invoke(exp2).Statement();
            //return node2;

            return(Js.Member("yield").Invoke(exp2).Statement());
        }
Exemple #7
0
 public RedILNode VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement, State data)
 {
     throw new System.NotImplementedException();
 }
Exemple #8
0
        public void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
        {
            JsonObject statement = CreateJsonStatement(yieldReturnStatement);
            statement.AddJsonValue("yield-keyword", GetKeyword(YieldReturnStatement.YieldKeywordRole));
            statement.AddJsonValue("return-keyword", GetKeyword(YieldReturnStatement.ReturnKeywordRole));
            statement.AddJsonValue("expression", GenExpression(yieldReturnStatement.Expression));

            Push(statement);
        }
		public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement) {
			var compiledExpr = CompileExpression(yieldReturnStatement.Expression, true);
			_result.AddRange(compiledExpr.AdditionalStatements);
			_result.Add(JsStatement.Yield(compiledExpr.Expression));
		}
 public override void VisitYieldReturnStatement(YieldReturnStatement syntax)
 {
     _underlyingVisitor.VisitYieldReturnStatement(syntax);
 }
Exemple #11
0
 public YieldBlock(IEmitter emitter, YieldReturnStatement yieldReturnStatement)
     : base(emitter, yieldReturnStatement)
 {
     this.Emitter = emitter;
     this.YieldReturnStatement = yieldReturnStatement;
 }
 public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     throw NotSupportedToConsistency();
 }
Exemple #13
0
 private Statement ParseYield(TokenSet followers)
   //^ requires this.currentToken == Token.Yield;
   //^ ensures followers[this.currentToken] || this.currentToken == Token.EndOfFile;
 {
   Token nextToken = this.PeekNextToken();
   if (nextToken == Token.Break){
     this.GetNextToken();
     ISourceLocation sctx = this.scanner.SourceLocationOfLastScannedToken;
     Statement result = new YieldBreakStatement(sctx);
     this.SkipOverTo(Token.Break, followers);
     return result;
   } 
   if (nextToken == Token.Return) {
     this.GetNextToken();
     //^ assume this.currentToken == Token.Return;
     this.GetNextToken();
     Expression val = this.ParseExpression(followers);
     ISourceLocation sctx = this.scanner.SourceLocationOfLastScannedToken;
     Statement result = new YieldReturnStatement(val, sctx);
     //^ assume followers[this.currentToken] || this.currentToken == Token.EndOfFile;
     return result;
   }
   return this.ParseExpressionStatementOrDeclaration(false, true, followers, true);
 }
Exemple #14
0
        public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
        {
            this.Add(yieldReturnStatement);

            base.VisitYieldReturnStatement(yieldReturnStatement);
        }
Exemple #15
0
 public StringBuilder VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement, int data)
 {
     throw new ASLException("ASL does not have iterators.");
 }
 public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     this.Found = true;
 }
		public virtual void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
		{
			StartNode(yieldReturnStatement);
			DebugStart(yieldReturnStatement);
			WriteKeywordReferences(YieldReturnStatement.YieldKeywordRole, YieldReturnStatement.ReturnKeywordRole, currentMethodReference);
			Space();
			yieldReturnStatement.Expression.AcceptVisitor(this);
			SemicolonDebugEnd(yieldReturnStatement);
			EndNode(yieldReturnStatement);
		}
Exemple #18
0
        public UnifiedElement VisitYieldReturnStatement(YieldReturnStatement stmt, object data)
        {
            var value = stmt.Expression.TryAcceptForExpression(this);

            return(UnifiedYieldReturn.Create(value));
        }
 public Node VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     return(CreateDummy(yieldReturnStatement));
 }
 public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     _errorReporter.Message(7998, yieldReturnStatement.GetRegion(), "yield return");
     _result = false;
 }
Exemple #21
0
 public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     this.Found = true;
 }
Exemple #22
0
 public override AstNode VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement, ICecilArgumentsResolver argumentsResolver)
 {
     return(yieldReturnStatement);
 }
Exemple #23
0
 public void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     throw new NotImplementedException();
 }
 public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     new YieldBlock(this, yieldReturnStatement).Emit();
 }
		public override void VisitYieldReturnStatement(YieldReturnStatement yieldStatement)
		{
			yieldStatement.Expression.AcceptVisitor(this);
			FixSemicolon(yieldStatement.SemicolonToken);
		}
 /// <inheritdoc/>
 public virtual void VisitYieldReturnStatement(YieldReturnStatement syntax)
 {
     VisitNode(syntax);
 }
Exemple #27
0
        protected internal override bool DoMatch(AstNode other, PatternMatching.Match match)
        {
            YieldReturnStatement o = other as YieldReturnStatement;

            return(o != null && this.Expression.DoMatch(o.Expression, match));
        }
Exemple #28
0
 public override IEnumerable <Expression> VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     yield return(yieldReturnStatement.Expression);
 }
Exemple #29
0
 public override ControlFlowNode VisitYieldReturnStatement(YieldReturnStatement yieldStatement, ControlFlowNode data)
 {
     return(CreateConnectedEndNode(yieldStatement, data));
 }
Exemple #30
0
 public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     new YieldBlock(this, yieldReturnStatement).Emit();
 }
		public virtual void VisitYieldReturnStatement (YieldReturnStatement yieldReturnStatement)
		{
			VisitChildren (yieldReturnStatement);
		}
Exemple #32
0
 public YieldBlock(IEmitter emitter, YieldReturnStatement yieldReturnStatement)
     : base(emitter, yieldReturnStatement)
 {
     this.Emitter = emitter;
     this.YieldReturnStatement = yieldReturnStatement;
 }
Exemple #33
0
 public void VisitYieldReturnStatement(YieldReturnStatement node)
 {
     NotSupported(node);
 }
 public virtual void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     if (this.ThrowException)
     {
         throw (Exception)this.CreateException(yieldReturnStatement);
     }
 }
 public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     _result = true;
 }
		public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement) {
			var compiledExpr = CompileExpression(yieldReturnStatement.Expression, CompileExpressionFlags.ReturnValueIsImportant | CompileExpressionFlags.IsAssignmentSource);
			_result.AddRange(compiledExpr.AdditionalStatements);
			_result.Add(JsStatement.Yield(compiledExpr.Expression));
		}
Exemple #37
0
 public StringBuilder VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     throw new NotImplementedException();
 }
Exemple #38
0
			public override object Visit(Yield yieldStatement)
			{
				var result = new YieldReturnStatement();
				var location = LocationsBag.GetLocations(yieldStatement);
				
				result.AddChild(new CSharpTokenNode(Convert(yieldStatement.loc), YieldReturnStatement.YieldKeywordRole), YieldReturnStatement.YieldKeywordRole);
				if (location != null)
					result.AddChild(new CSharpTokenNode(Convert(location [0]), YieldReturnStatement.ReturnKeywordRole), YieldReturnStatement.ReturnKeywordRole);
				if (yieldStatement.Expr != null)
					result.AddChild((Expression)yieldStatement.Expr.Accept(this), Roles.Expression);
				if (location != null && location.Count > 1)
					result.AddChild(new CSharpTokenNode(Convert(location [1]), Roles.Semicolon), Roles.Semicolon);
				
				return result;
			}
Exemple #39
0
        public override void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
        {
            this.AwaitExpressions.Add(new Tuple <int, AstNode>(this.InvocationLevel, yieldReturnStatement));

            base.VisitYieldReturnStatement(yieldReturnStatement);
        }
Exemple #40
0
		public void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
		{
			StartNode(yieldReturnStatement);
			WriteKeyword(YieldReturnStatement.YieldKeywordRole);
			WriteKeyword(YieldReturnStatement.ReturnKeywordRole);
			Space();
			yieldReturnStatement.Expression.AcceptVisitor(this);
			Semicolon();
			EndNode(yieldReturnStatement);
		}
 public virtual Node VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)
 {
     throw new System.NotImplementedException();
 }