ControlFlowStatementVisitorBase: length check

Fixes EA-130021 - assert: BaseInspectionVisitor.registerErrorAtOffset
This commit is contained in:
Tagir Valeev
2018-10-18 11:01:40 +07:00
parent 6e5d42e80b
commit ec67bbd5cb
@@ -110,8 +110,10 @@ public abstract class ControlFlowStatementVisitorBase extends BaseInspectionVisi
if (parent != null) {
int parentStart = parent.getTextRange().getStartOffset();
int startOffset = rangeStart.getTextRange().getStartOffset();
registerErrorAtOffset(parent, startOffset - parentStart, omittedBodyBounds.getFirst().getTextRange().getStartOffset() - startOffset,
keywordText);
int length = omittedBodyBounds.getFirst().getTextRange().getStartOffset() - startOffset;
if (length > 0) {
registerErrorAtOffset(parent, startOffset - parentStart, length, keywordText);
}
}
}
@@ -122,10 +124,13 @@ public abstract class ControlFlowStatementVisitorBase extends BaseInspectionVisi
if (parent != null) {
int parentStart = parent.getTextRange().getStartOffset();
int startOffset = afterOmitted.getTextRange().getEndOffset();
registerErrorAtOffset(parent, startOffset - parentStart, rangeEnd.getTextRange().getEndOffset() - startOffset,
keywordText);
int length = rangeEnd.getTextRange().getEndOffset() - startOffset;
if (length > 0) {
registerErrorAtOffset(parent, startOffset - parentStart, length,
keywordText);
}
}
}
}
}
}
}