LCOV - code coverage report
Current view: top level - source_span-1.8.1/lib/src - span_with_context.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 8 0.0 %
Date: 2021-11-28 14:37:50 Functions: 0 0 -

          Line data    Source code
       1             : // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
       2             : // for details. All rights reserved. Use of this source code is governed by a
       3             : // BSD-style license that can be found in the LICENSE file.
       4             : 
       5             : import 'location.dart';
       6             : import 'span.dart';
       7             : import 'utils.dart';
       8             : 
       9             : /// A class that describes a segment of source text with additional context.
      10             : class SourceSpanWithContext extends SourceSpanBase {
      11             :   // This is a getter so that subclasses can override it.
      12             :   /// Text around the span, which includes the line containing this span.
      13           0 :   String get context => _context;
      14             :   final String _context;
      15             : 
      16             :   /// Creates a new span from [start] to [end] (exclusive) containing [text], in
      17             :   /// the given [context].
      18             :   ///
      19             :   /// [start] and [end] must have the same source URL and [start] must come
      20             :   /// before [end]. [text] must have a number of characters equal to the
      21             :   /// distance between [start] and [end]. [context] must contain [text], and
      22             :   /// [text] should start at `start.column` from the beginning of a line in
      23             :   /// [context].
      24           0 :   SourceSpanWithContext(
      25             :       SourceLocation start, SourceLocation end, String text, this._context)
      26           0 :       : super(start, end, text) {
      27           0 :     if (!context.contains(text)) {
      28           0 :       throw ArgumentError('The context line "$context" must contain "$text".');
      29             :     }
      30             : 
      31           0 :     if (findLineStart(context, text, start.column) == null) {
      32           0 :       throw ArgumentError('The span text "$text" must start at '
      33           0 :           'column ${start.column + 1} in a line within "$context".');
      34             :     }
      35             :   }
      36             : }

Generated by: LCOV version 1.14