// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.google.dart.compiler.ast;

import com.google.common.collect.Lists;

/**
 * Represents a Dart block containing a single return statement.
 */
public class DartReturnBlock extends DartBlock {
  public DartReturnBlock(DartExpression returnVal) {
    super(Lists.<DartStatement> newArrayList(new DartReturnStatement(returnVal)));
    // Set the source information for the synthesized node.
    getStatements().get(0).setSourceInfo(returnVal.getSourceInfo());
  }

  @Override
  public <R> R accept(ASTVisitor<R> visitor) {
    return visitor.visitReturnBlock(this);
  }
}

@@ -410,16 +410,55 @@
 Block %7B%0A
+  private final DartExpression value;%0A%0A
   public
@@ -489,25 +489,21 @@
 ression 
-returnVal
+value
 ) %7B%0A    
@@ -571,20 +571,40 @@
 ent(
-returnVal)))
+value)));%0A    this.value = value
 ;%0A  
@@ -706,17 +706,13 @@
 nfo(
-returnVal
+value
 .get
@@ -836,11 +836,71 @@
 is);%0A  %7D
+%0A%0A  public DartExpression getValue() %7B%0A    return value;%0A  %7D
 %0A%7D%0A

Convert into/from => function syntax