xuty 4 лет назад
Родитель
Сommit
bc1526fea3
3 измененных файлов с 14 добавлено и 6 удалено
  1. 2 2
      lib/buffer/buffer.dart
  2. 1 1
      lib/terminal/terminal.dart
  3. 11 3
      lib/utli/circular_list.dart

+ 2 - 2
lib/buffer/buffer.dart

@@ -112,7 +112,7 @@ class Buffer {
   /// [Terminal.viewHeight].
   BufferLine getViewLine(int index) {
     index = index.clamp(0, terminal.viewHeight - 1);
-    return lines[convertViewLineToRawLine(index)]!;
+    return lines[convertViewLineToRawLine(index)];
   }
 
   BufferLine get currentLine {
@@ -171,7 +171,7 @@ class Buffer {
     for (var i = height - terminal.viewHeight; i < height; i++) {
       final y = i - scrollOffsetFromBottom;
       if (y >= 0 && y < height) {
-        result.add(lines[y]!);
+        result.add(lines[y]);
       }
     }
 

+ 1 - 1
lib/terminal/terminal.dart

@@ -449,7 +449,7 @@ class Terminal with Observable {
         break;
       }
 
-      final line = buffer.lines[row]!;
+      final line = buffer.lines[row];
 
       var xStart = 0;
       var xEnd = viewWidth - 1;

+ 11 - 3
lib/utli/circular_list.dart

@@ -58,11 +58,19 @@ class CircularList<T> {
     }
   }
 
-  T? operator [](int index) {
-    return _array[_getCyclicIndex(index)];
+  T operator [](int index) {
+    if (index > length - 1) {
+      throw RangeError.range(index, 0, length - 1);
+    }
+
+    return _array[_getCyclicIndex(index)]!;
   }
 
-  operator []=(int index, T? value) {
+  operator []=(int index, T value) {
+    if (index > length - 1) {
+      throw RangeError.range(index, 0, length - 1);
+    }
+
     _array[_getCyclicIndex(index)] = value;
   }