anchor.diff:      expect(identifier.name, 'y');
     }
   
  +  void test_nullCheckFunctionResult() {
  +    parseNNBDCompilationUnit('f() { var x = g()! + 7; }');
  +  }
  +
  +  void test_nullCheckIndexedValue() {
  +    parseNNBDCompilationUnit('f(int? y) { var x = y[0]! + 7; }');
  +  }
  +
  +  void test_nullCheckIndexedValue2() {
  +    parseNNBDCompilationUnit('f(int? y) { var x = super.y[0]! + 7; }');
  +  }
  +
     void test_nullCheckInExpression() {
       parseNNBDCompilationUnit('f(int? y) { var x = y! + 7; }');
     }
  
positive.code:     ]);
    }
  
    @failingTest
    void test_nullCheckOnLiteral() {
      // TODO(danrubel): Report error for null check on invalid target
      parseNNBDCompilationUnit('f() { var x = 0!; }',
          errors: [expectedError(ParserErrorCode.MISSING_IDENTIFIER, 78, 1)]);
    }
  
    void test_nullCheckOnLiteral_disabled() {
  
negative.code:         errors: [expectedError(ParserErrorCode.EXPERIMENT_NOT_ENABLED, 15, 1)]);
    }
  
    void test_nullCheckOnLiteralDouble() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = 1.2!; }');
    }
  
    void test_nullCheckOnLiteralInt() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = 0!; }');
    }
  
    void test_nullCheckOnLiteralList() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = [1,2]!; }');
    }
  
    void test_nullCheckOnLiteralMap() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = {1:2}!; }');
    }
  
    void test_nullCheckOnLiteralSet() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = {1,2}!; }');
    }
  
    void test_nullCheckOnLiteralString() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = "seven"!; }');
    }
  
    void test_nullCheckOnNull() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = null!; }');
    }
  
    void test_nullCheckOnSymbol() {
      // Issues like this should be caught during later analysis
      parseNNBDCompilationUnit('f() { var x = #seven!; }');
    }
  
    void test_nullCheckOnValue() {
      parseNNBDCompilationUnit('f(Point p) { var x = p.y! + 7; }');
    }
  