From f369413f5d09cc3e078fa295de994d0f054203ce Mon Sep 17 00:00:00 2001 From: Ondrej Lhotak Date: Thu, 5 May 2022 14:58:46 +0200 Subject: [PATCH] add comments for length and content().length --- compiler/src/dotty/tools/dotc/util/SourceFile.scala | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler/src/dotty/tools/dotc/util/SourceFile.scala b/compiler/src/dotty/tools/dotc/util/SourceFile.scala index b4c65fd64244..9c3f4fdcec42 100644 --- a/compiler/src/dotty/tools/dotc/util/SourceFile.scala +++ b/compiler/src/dotty/tools/dotc/util/SourceFile.scala @@ -64,6 +64,8 @@ class SourceFile(val file: AbstractFile, computeContent: => Array[Char]) extends private var myContent: Array[Char] | Null = null + /** The contents of the original source file. Note that this can be empty, for example when + * the source is read from Tasty. */ def content(): Array[Char] = { if (myContent == null) myContent = computeContent myContent @@ -92,6 +94,9 @@ class SourceFile(val file: AbstractFile, computeContent: => Array[Char]) extends def apply(idx: Int): Char = content().apply(idx) + /** length of the original source file + * Note that when the source is from Tasty, content() could be empty even though length > 0. + * Use content().length to determine the length of content(). */ def length: Int = if lineIndicesCache ne null then lineIndicesCache.last else content().length