private void updateVersionNumber(TerminalNode currentVersionToken, final int newVersion) {
Interval sourceInterval = ParseTrees.getSourceInterval(currentVersionToken);
OffsetRegion region = OffsetRegion.fromBounds(sourceInterval.a, sourceInterval.b + 1);
TrackingPositionRegion trackingRegion = _snapshot.createTrackingRegion(region, TrackingPositionRegion.Bias.Forward);
final SnapshotPositionRegion currentRegion = trackingRegion.getRegion(_snapshot.getVersionedDocument().getCurrentSnapshot());
final BaseDocument baseDocument = (BaseDocument)_snapshot.getVersionedDocument().getDocument();
if (baseDocument == null) {
throw new UnsupportedOperationException("No document available");
}
baseDocument.runAtomicAsUser(new Runnable() {
@Override
public void run() {
try {
baseDocument.remove(currentRegion.getStart().getOffset(), currentRegion.getLength());
baseDocument.insertString(currentRegion.getStart().getOffset(), Integer.toString(newVersion), null);
} catch (BadLocationException ex) {
Exceptions.printStackTrace(ex);
}
}
});
}
IncrementRuleVersionAction.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:goworks
作者:
评论列表
文章目录