/** * {@link #setStatus(org.sonar.api.batch.fs.InputFile.Status)} */ @Override public Status status() { checkMetadata(); return status; }
@Override public Charset charset() { checkMetadata(); return charset; }
@Override public boolean isEmpty() { checkMetadata(); return metadata.isEmpty(); }
@Override public int lines() { checkMetadata(); return metadata.lines(); }
/** * Digest hash of the file. */ public String hash() { checkMetadata(); return metadata.hash(); }
public int lastValidOffset() { checkMetadata(); return metadata.lastValidOffset(); }
public int nonBlankLines() { checkMetadata(); return metadata.nonBlankLines(); }
@Override public TextPointer newPointer(int line, int lineOffset) { checkMetadata(); DefaultTextPointer textPointer = new DefaultTextPointer(line, lineOffset); checkValid(textPointer, "pointer"); return textPointer; }
public int[] originalLineStartOffsets() { checkMetadata(); Preconditions.checkState(metadata.originalLineStartOffsets() != null, "InputFile is not properly initialized."); Preconditions.checkState(metadata.originalLineStartOffsets().length == metadata.lines(), "InputFile is not properly initialized. 'originalLineStartOffsets' property length should be equal to 'lines'"); return metadata.originalLineStartOffsets(); }
public int[] originalLineEndOffsets() { checkMetadata(); Preconditions.checkState(metadata.originalLineEndOffsets() != null, "InputFile is not properly initialized."); Preconditions.checkState(metadata.originalLineEndOffsets().length == metadata.lines(), "InputFile is not properly initialized. 'originalLineEndOffsets' property length should be equal to 'lines'"); return metadata.originalLineEndOffsets(); }
@Override public TextRange newRange(int startLine, int startLineOffset, int endLine, int endLineOffset) { checkMetadata(); TextPointer start = newPointer(startLine, startLineOffset); TextPointer end = newPointer(endLine, endLineOffset); return newRangeValidPointers(start, end, false); }
/** * Create Range from global offsets. Used for backward compatibility with older API. */ public TextRange newRange(int startOffset, int endOffset) { checkMetadata(); return newRangeValidPointers(newPointer(startOffset), newPointer(endOffset), false); }
public TextPointer newPointer(int globalOffset) { checkMetadata(); Preconditions.checkArgument(globalOffset >= 0, "%s is not a valid offset for a file", globalOffset); Preconditions.checkArgument(globalOffset <= lastValidOffset(), "%s is not a valid offset for file %s. Max offset is %s", globalOffset, this, lastValidOffset()); int line = findLine(globalOffset); int startLineOffset = originalLineStartOffsets()[line - 1]; // In case the global offset is between \r and \n, move the pointer to a valid location return new DefaultTextPointer(line, Math.min(globalOffset, originalLineEndOffsets()[line - 1]) - startLineOffset); }
@Override public TextRange newRange(TextPointer start, TextPointer end) { checkMetadata(); checkValid(start, "start pointer"); checkValid(end, "end pointer"); return newRangeValidPointers(start, end, false); }
public void validate(TextRange range) { checkMetadata(); checkValid(range.start(), "start pointer"); checkValid(range.end(), "end pointer"); }
@Override public TextRange selectLine(int line) { checkMetadata(); TextPointer startPointer = newPointer(line, 0); TextPointer endPointer = newPointer(line, lineLength(line)); return newRangeValidPointers(startPointer, endPointer, true); }
evaluateDuplicationExclusions(moduleCoverageAndDuplicationExclusions, inputFile); if (properties.preloadFileMetadata()) { inputFile.checkMetadata();
@Override public int lines() { checkMetadata(); return metadata.lines(); }
public void validate(TextRange range) { checkMetadata(); checkValid(range.start(), "start pointer"); checkValid(range.end(), "end pointer"); }
public int[] originalLineEndOffsets() { checkMetadata(); Preconditions.checkState(metadata.originalLineEndOffsets() != null, "InputFile is not properly initialized."); Preconditions.checkState(metadata.originalLineEndOffsets().length == metadata.lines(), "InputFile is not properly initialized. 'originalLineEndOffsets' property length should be equal to 'lines'"); return metadata.originalLineEndOffsets(); }