Skip to content

Commit 7992f30

Browse files
committed
rebase и восстановил работоспособность костылем
1 parent 5e33760 commit 7992f30

File tree

6 files changed

+32
-35
lines changed

6 files changed

+32
-35
lines changed

src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646

4747
import static com.github._1c_syntax.bsl.languageserver.providers.DiagnosticProvider.SOURCE;
4848

49-
5049
@Component
5150
public class DisableDiagnosticTriggeringSupplier implements CodeActionSupplier {
5251

@@ -83,7 +82,7 @@ public List<CodeAction> getCodeActions(CodeActionParams params, DocumentContext
8382
.stream()
8483
.filter(token -> token.getLine() == selectedLineNumber)
8584
.max(Comparator.comparingInt(Token::getCharPositionInLine))
86-
.ifPresent(token -> {
85+
.ifPresent((Token token) -> {
8786
if (params.getRange().getStart().getLine() == params.getRange().getEnd().getLine()) {
8887
result.addAll(getDisableActionForLine(params, documentContext, token));
8988
} else {
@@ -176,13 +175,13 @@ private List<CodeAction> actionDisableDiagnostic(Function<String, CodeAction> fu
176175
private List<TextEdit> createInRegionTextEdits(String diagnosticName, Token last, CodeActionParams params) {
177176
List<TextEdit> edits = new ArrayList<>();
178177

179-
Range disableRange = Ranges.create(
178+
var disableRange = Ranges.create(
180179
params.getRange().getStart().getLine(),
181180
0,
182181
params.getRange().getStart().getLine(),
183182
0
184183
);
185-
TextEdit disableTextEdit = new TextEdit(disableRange, String.format("// BSLLS%s-off%n", diagnosticName));
184+
var disableTextEdit = new TextEdit(disableRange, String.format("// BSLLS%s-off%n", diagnosticName));
186185
edits.add(disableTextEdit);
187186

188187
Range enableRange = Ranges.create(
@@ -191,13 +190,13 @@ private List<TextEdit> createInRegionTextEdits(String diagnosticName, Token last
191190
params.getRange().getEnd().getLine(),
192191
last.getCharPositionInLine() + last.getText().length()
193192
);
194-
TextEdit enableTextEdit = new TextEdit(enableRange, String.format("%n// BSLLS%s-on%n", diagnosticName));
193+
var enableTextEdit = new TextEdit(enableRange, String.format("%n// BSLLS%s-on%n", diagnosticName));
195194
edits.add(enableTextEdit);
196195
return edits;
197196
}
198197

199198
private List<TextEdit> createInFileTextEdits(String diagnosticName) {
200-
TextEdit textEdit = new TextEdit(
199+
var textEdit = new TextEdit(
201200
Ranges.create(0, 0, 0, 0),
202201
String.format("// BSLLS%s-off%n", diagnosticName)
203202
);
@@ -206,10 +205,10 @@ private List<TextEdit> createInFileTextEdits(String diagnosticName) {
206205

207206
private CodeAction createCodeAction(String title, List<TextEdit> edits, DocumentContext documentContext) {
208207
Map<String, List<TextEdit>> changes = Map.of(documentContext.getUri().toString(), edits);
209-
WorkspaceEdit edit = new WorkspaceEdit();
208+
var edit = new WorkspaceEdit();
210209
edit.setChanges(changes);
211210

212-
CodeAction codeAction = new CodeAction(title);
211+
var codeAction = new CodeAction(title);
213212
codeAction.setDiagnostics(new ArrayList<>());
214213
codeAction.setKind(CodeActionKind.Refactor);
215214
codeAction.setEdit(edit);
@@ -225,15 +224,14 @@ private String getMessage(String key, Object... args) {
225224
}
226225

227226
private static List<TextEdit> createInLineTextEdits(String diagnosticName, Token last, CodeActionParams params) {
228-
Range range = Ranges.create(
227+
var range = Ranges.create(
229228
params.getRange().getStart().getLine(),
230229
last.getCharPositionInLine() + last.getText().length(),
231230
params.getRange().getStart().getLine(),
232231
last.getCharPositionInLine() + last.getText().length()
233232
);
234233

235-
TextEdit textEdit = new TextEdit(range, String.format(" // BSLLS%s-off", diagnosticName));
234+
var textEdit = new TextEdit(range, String.format(" // BSLLS%s-off", diagnosticName));
236235
return Collections.singletonList(textEdit);
237236
}
238-
239237
}

src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentContext.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import com.github._1c_syntax.bsl.languageserver.context.symbol.SymbolTree;
3636
import com.github._1c_syntax.bsl.languageserver.utils.Trees;
3737
import com.github._1c_syntax.bsl.mdo.MD;
38-
import com.github._1c_syntax.bsl.mdo.Module;
3938
import com.github._1c_syntax.bsl.mdo.support.ScriptVariant;
4039
import com.github._1c_syntax.bsl.parser.BSLLexer;
4140
import com.github._1c_syntax.bsl.parser.BSLParser;
@@ -72,7 +71,6 @@
7271
import java.util.Optional;
7372
import java.util.concurrent.locks.ReentrantLock;
7473
import java.util.regex.Pattern;
75-
import java.util.stream.Collectors;
7674

7775
import static java.util.Objects.requireNonNull;
7876
import static org.antlr.v4.runtime.Token.DEFAULT_CHANNEL;
@@ -161,13 +159,13 @@ public List<Token> getTokens() {
161159
}
162160

163161
public List<Token> getTokensFromDefaultChannel() {
164-
return getTokens().stream().filter(token -> token.getChannel() == DEFAULT_CHANNEL).collect(Collectors.toList());
162+
return getTokens().stream().filter(token -> token.getChannel() == DEFAULT_CHANNEL).toList();
165163
}
166164

167165
public List<Token> getComments() {
168166
return getTokens().stream()
169167
.filter(token -> token.getType() == BSLLexer.LINE_COMMENT)
170-
.collect(Collectors.toList());
168+
.toList();
171169
}
172170

173171
public String getText(Range range) {

src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public ModuleType computeModuleType() {
5151

5252
private ModuleType computeBSL() {
5353
var type = documentContext.getServerContext()
54-
.getConfiguration().getModuleType(documentContext.getUri());
54+
.getConfiguration().getModuleTypeByURI(documentContext.getUri());
5555
return ModuleType.valueOf(type.name());
5656
}
5757

src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/AbstractVariableSymbol.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ public abstract class AbstractVariableSymbol implements VariableSymbol {
9595
*/
9696
Optional<VariableDescription> description;
9797

98+
/**
99+
* Тип переменной
100+
*/
98101
String type;
99102

100103
@Override

src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ private void checkAllPathsHaveReturns(BSLParser.FunctionContext ctx) {
114114
.map(graph::getEdgeSource)
115115
.map(vertex -> nonExplicitReturnNode(vertex, graph))
116116
.flatMap(Optional::stream)
117-
.collect(Collectors.toList());
117+
.toList();
118118

119119
if (incomingVertices.isEmpty()) {
120120
return;
@@ -136,12 +136,12 @@ private void checkAllPathsHaveReturns(BSLParser.FunctionContext ctx) {
136136
}
137137

138138
private Optional<BSLParserRuleContext> nonExplicitReturnNode(CfgVertex v, ControlFlowGraph graph) {
139-
if (v instanceof BasicBlockVertex) {
140-
return checkBasicBlockExitingNode((BasicBlockVertex) v);
141-
} else if (v instanceof LoopVertex) {
142-
return checkLoopExitingNode((LoopVertex) v);
143-
} else if (v instanceof ConditionalVertex) {
144-
return checkElseIfClauseExitingNode((ConditionalVertex) v, graph);
139+
if (v instanceof BasicBlockVertex basicBlockVertex) {
140+
return checkBasicBlockExitingNode(basicBlockVertex);
141+
} else if (v instanceof LoopVertex loopVertex) {
142+
return checkLoopExitingNode(loopVertex);
143+
} else if (v instanceof ConditionalVertex conditionalVertex) {
144+
return checkElseIfClauseExitingNode(conditionalVertex, graph);
145145
}
146146

147147
return v.getAst();
@@ -178,22 +178,19 @@ private Optional<BSLParserRuleContext> checkBasicBlockExitingNode(BasicBlockVert
178178
}
179179

180180
private Optional<BSLParserRuleContext> checkLoopExitingNode(LoopVertex v) {
181-
if (v instanceof WhileLoopVertex) {
182-
var whileLoop = (WhileLoopVertex) v;
183-
if (isEndlessLoop(whileLoop)) {
184-
return Optional.empty();
185-
}
181+
if (v instanceof WhileLoopVertex whileLoop && isEndlessLoop(whileLoop)) {
182+
return Optional.empty();
186183
}
187184

188185
if (loopsExecutedAtLeastOnce) {
189-
// из цикла в exit может придти только falseBranch или пустое тело цикла
186+
// из цикла в exit может прийти только falseBranch или пустое тело цикла
190187
// и то и другое не нужно нам в рамках диагностики
191188
return Optional.empty();
192189
}
193190
return v.getAst();
194191
}
195192

196-
private boolean isEndlessLoop(WhileLoopVertex whileLoop) {
193+
private static boolean isEndlessLoop(WhileLoopVertex whileLoop) {
197194
var expression = whileLoop.getExpression();
198195
return expression.getChildCount() == 1
199196
&& expression.member(0).constValue() != null

src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,15 @@ public class OscriptReferenceFinder implements ReferenceFinder {
4848
public Optional<Reference> findReference(URI uri, Position position) {
4949

5050
DocumentContext document = serverContext.getDocument(uri);
51-
if (document == null
52-
// || document.isComputedDataFrozen()
53-
) {
51+
if (document == null) {
5452
return Optional.empty();
5553
}
5654

55+
if(document.isComputedDataFrozen()) {
56+
document.unfreezeComputedData();
57+
serverContext.rebuildDocument(document);
58+
}
59+
5760
var node = SelectionRangeProvider.findNodeContainsPosition(document.getAst(), position);
5861

5962
if (node.isEmpty()) {
@@ -86,7 +89,5 @@ private boolean filterByType(Optional<TerminalNode> node, ModuleType moduleType)
8689
return (node.get().getParent() instanceof BSLParser.ComplexIdentifierContext)
8790
&& moduleType == ModuleType.OScriptModule;
8891
}
89-
9092
}
91-
9293
}

0 commit comments

Comments
 (0)