Skip to content

Commit 1468ff7

Browse files
committed
drop using legacy lock tokens
1 parent 2927318 commit 1468ff7

3 files changed

Lines changed: 14 additions & 30 deletions

File tree

grammar-kit/src/main/java/org/intellij/grammar/impl/debugger/BnfPositionManager.java

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -195,21 +195,16 @@ public List<Location> locationsOfLine(ReferenceType type, SourcePosition positio
195195

196196
@RequiredReadAction
197197
private int getLineNumber(PsiElement element, String parserClass, int currentLine) {
198-
int line = 0;
199-
AccessToken token = ReadAction.start();
200-
try {
198+
return ReadAction.compute(() -> {
201199
BnfRule rule = PsiTreeUtil.getParentOfType(element, BnfRule.class);
202200
PsiClass aClass = JavaPsiFacade.getInstance(myProcess.getProject()).findClass(parserClass, myProcess.getSearchScope());
203201
Document document =
204-
aClass != null ? PsiDocumentManager.getInstance(myProcess.getProject()).getDocument(aClass.getContainingFile()) : null;
202+
aClass != null ? PsiDocumentManager.getInstance(myProcess.getProject()).getDocument(aClass.getContainingFile()) : null;
205203
if (rule != null && document != null) {
206204
return getLineNumber(aClass, document, currentLine, rule, element);
207205
}
208-
}
209-
finally {
210-
token.finish();
211-
}
212-
return line;
206+
return 0;
207+
});
213208
}
214209

215210
@RequiredReadAction
@@ -262,19 +257,15 @@ public ClassPrepareRequest createPrepareRequest(
262257

263258
@Nonnull
264259
private String getParserClass(SourcePosition classPosition) throws NoDataException {
265-
AccessToken token = ReadAction.start();
266-
try {
260+
return ReadAction.computeNotNull(() -> {
267261
BnfRule rule = getRuleAt(classPosition);
268262
String version = rule.getContainingFile() instanceof BnfFile bnfFile ? bnfFile.getVersion() : null;
269263
String parserClass = ParserGeneratorUtil.getAttribute(version, rule, KnownAttribute.PARSER_CLASS);
270264
if (StringUtil.isEmpty(parserClass)) {
271265
throw new NoDataException();
272266
}
273267
return parserClass;
274-
}
275-
finally {
276-
token.finish();
277-
}
268+
});
278269
}
279270

280271
@Nonnull

grammar-kit/src/main/java/org/intellij/grammar/impl/inspection/CreateRuleFromTokenFix.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import consulo.annotation.access.RequiredReadAction;
2020
import consulo.devkit.grammarKit.localize.BnfLocalize;
2121
import consulo.localize.LocalizeValue;
22+
import consulo.ui.annotation.RequiredUIAccess;
2223
import jakarta.annotation.Nonnull;
2324

2425
import consulo.application.AccessToken;
@@ -59,10 +60,9 @@ public LocalizeValue getFamilyName() {
5960
}
6061

6162
@Override
62-
@RequiredReadAction
63+
@RequiredUIAccess
6364
public void applyFix(final @Nonnull Project project, @Nonnull ProblemDescriptor descriptor) {
64-
final AccessToken token = WriteAction.start();
65-
try {
65+
WriteAction.run(() -> {
6666
final PsiElement element = descriptor.getPsiElement();
6767
final BnfRule rule = PsiTreeUtil.getParentOfType(element, BnfRule.class);
6868
if (rule == null) {
@@ -71,17 +71,14 @@ public void applyFix(final @Nonnull Project project, @Nonnull ProblemDescriptor
7171

7272
final BnfRule addedRule = BnfIntroduceRuleHandler.addNextRule(project, rule, "private " + myName + " ::= ");
7373
final FileEditor selectedEditor =
74-
FileEditorManager.getInstance(project).getSelectedEditor(rule.getContainingFile().getVirtualFile());
74+
FileEditorManager.getInstance(project).getSelectedEditor(rule.getContainingFile().getVirtualFile());
7575
if (selectedEditor instanceof TextEditor textEditor) {
7676
final Editor editor = textEditor.getEditor();
7777
editor.getCaretModel().moveToOffset(
78-
addedRule.getTextRange().getEndOffset() - (BnfIntroduceRuleHandler.endsWithSemicolon(addedRule) ? 1 : 0)
78+
addedRule.getTextRange().getEndOffset() - (BnfIntroduceRuleHandler.endsWithSemicolon(addedRule) ? 1 : 0)
7979
);
8080
editor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE);
8181
}
82-
}
83-
finally {
84-
token.finish();
85-
}
82+
});
8683
}
8784
}

grammar-kit/src/main/java/org/intellij/grammar/impl/refactor/BnfIntroduceRulePopup.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ public BnfIntroduceRulePopup(Project project, Editor editor, BnfRule rule, BnfEx
9393
@Override
9494
protected void moveOffsetAfter(boolean success) {
9595
RangeMarker exprMarker = getExprMarker();
96-
final AccessToken accessToken = WriteAction.start();
97-
try {
96+
WriteAction.run(() -> {
9897
Document document = myEditor.getDocument();
9998
// todo restore original expression if not success
10099
PsiDocumentManager.getInstance(myProject).commitDocument(document);
@@ -103,10 +102,7 @@ protected void moveOffsetAfter(boolean success) {
103102
myEditor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE);
104103
exprMarker.dispose();
105104
}
106-
}
107-
finally {
108-
accessToken.finish();
109-
}
105+
});
110106
}
111107

112108
@Override

0 commit comments

Comments
 (0)