anchor.diff:    }
   }
   
  -Future test1(Tracer tracer) {
  -  foo() async
  -      * //# asyncStar: ok
  -  {
  +Future<void> test1(Tracer tracer) {
  +  Future<void> foo() async {
       var savedStackTrace;
       try {
         try {
  
positive.code:     tracer.trace("f");
    }
  
    return foo()
        .toList() //# asyncStar: continued
        ;
  }
  
  Future test2(Tracer tracer) {
    var savedStackTrace;
    foo() async
        * //# asyncStar: continued
    {
      try {
        tracer.trace("a");
        throw "Error";
  
negative.code:     tracer.trace("d");
    }
  
    return foo().catchError((e, st) {
      tracer.trace("e");
      Expect.equals(savedStackTrace.toString(), st.toString());
    });
  }
  
  Future<List<void>> test2star(Tracer tracer) {
    var savedStackTrace;
    Stream<void> foo() async* {
      try {
        tracer.trace("a");
        throw "Error";
      } catch (e, st) {
        tracer.trace("b");
        savedStackTrace = st;
      }
      tracer.trace("c");
      await new Future.error("Error 2", savedStackTrace);
      tracer.trace("d");
    }
  
    return foo().toList().catchError((e, st) {
      tracer.trace("e");
      Expect.equals(savedStackTrace.toString(), st.toString());
      return [];
    });
  }
  
  Future<void> test3(Tracer tracer) {
    var savedStackTrace;
    Future<void> foo() async {
      try {
        tracer.trace("a");
        throw "Error";
  