Package com._1c.g5.v8.dt.internal.bsl.ui
Class ProceduralBracketsServiceProvider
java.lang.Object
com._1c.g5.v8.dt.internal.bsl.ui.ProceduralBracketsServiceProvider
Service for working with procedural brackets (such as if-else-endif, while-enddo, try-except-endtry and etc) in Built-in language.
Procedural brackets detected by
DocumentTokenSource.TokenAdapter
s got from BslXtextDocument
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Short presentation of procedural brackets (such as if-else-endif, while-enddo, try-except-endtry and etc) from Built-In language -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindOpenBracketOffset
(BslXtextDocument document, int endOfCloseBracket, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Finds offset of openProceduralBracketsServiceProvider.ProceduralBracket
by the end offset of close bracketboolean
searchMiddleProceduralBracket
(BslXtextDocument document, int offset, Set<ProceduralBracketsServiceProvider.ProceduralBracket> openBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> middleBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> closeBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Tryies to find middleProceduralBracketsServiceProvider.ProceduralBracket
List<org.eclipse.xtext.util.Pair<ProceduralBracketsServiceProvider.ProceduralBracket,
Integer>> searchNonCloseBrackets
(BslXtextDocument document, int offset, boolean reverseSearch, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Search all non-closed open procedural bracketsList<org.eclipse.xtext.util.Pair<ProceduralBracketsServiceProvider.ProceduralBracket,
Integer>> searchProceduralBrackets
(BslXtextDocument document, int offset, boolean reverseSearch, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Gets allProceduralBracketsServiceProvider.ProceduralBracket
s from token stream ofBslXtextDocument
-
Constructor Details
-
ProceduralBracketsServiceProvider
public ProceduralBracketsServiceProvider()
-
-
Method Details
-
searchProceduralBrackets
public List<org.eclipse.xtext.util.Pair<ProceduralBracketsServiceProvider.ProceduralBracket,Integer>> searchProceduralBrackets(BslXtextDocument document, int offset, boolean reverseSearch, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Gets allProceduralBracketsServiceProvider.ProceduralBracket
s from token stream ofBslXtextDocument
- Parameters:
document
-BslXtextDocument
for getting token stream, cannot benull
offset
- start position of searchreverseSearch
-true
if need backward search,false
if need forward searchstopAfter
- set ofProceduralBracketsServiceProvider.ProceduralBracket
s. IfProceduralBracketsServiceProvider.ProceduralBracket
from its set will be found search breaks, cannot benull
- Returns:
- found
ProceduralBracketsServiceProvider.ProceduralBracket
s each with it offset. List ordered by ascending of offset
-
findOpenBracketOffset
public Integer findOpenBracketOffset(BslXtextDocument document, int endOfCloseBracket, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Finds offset of openProceduralBracketsServiceProvider.ProceduralBracket
by the end offset of close bracket- Parameters:
document
-BslXtextDocument
for getting token stream, cannot benull
endOfCloseBracket
- offset of closeProceduralBracketsServiceProvider.ProceduralBracket
stopAfter
- set ofProceduralBracketsServiceProvider.ProceduralBracket
s. IfProceduralBracketsServiceProvider.ProceduralBracket
from its set will be found search breaks, cannot benull
- Returns:
- offset of open
ProceduralBracketsServiceProvider.ProceduralBracket
corresponding to the close bracket with concrete end offset, can benull
if open bracket was not found
-
searchNonCloseBrackets
public List<org.eclipse.xtext.util.Pair<ProceduralBracketsServiceProvider.ProceduralBracket,Integer>> searchNonCloseBrackets(BslXtextDocument document, int offset, boolean reverseSearch, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Search all non-closed open procedural brackets- Parameters:
document
-BslXtextDocument
for getting token stream, cannot benull
offset
- start position of searchreverseSearch
-true
if need backward search,false
if need forward searchstopAfter
- set ofProceduralBracketsServiceProvider.ProceduralBracket
s. IfProceduralBracketsServiceProvider.ProceduralBracket
from its set will be found search breaks, cannot benull
- Returns:
- found non-close
ProceduralBracketsServiceProvider.ProceduralBracket
s each with it offset. List ordered by ascending of offset
-
searchMiddleProceduralBracket
public boolean searchMiddleProceduralBracket(BslXtextDocument document, int offset, Set<ProceduralBracketsServiceProvider.ProceduralBracket> openBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> middleBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> closeBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Tryies to find middleProceduralBracketsServiceProvider.ProceduralBracket
- Parameters:
document
-BslXtextDocument
for getting token stream, cannot benull
offset
- start position of searchopenBrackets
- open brackets linked with searching middle bracket, cannot benull
middleBrackets
- searching middle brackets, cannot benull
closeBrackets
- close brackets linked with searching middle bracket, cannot benull
stopAfter
- set ofProceduralBracketsServiceProvider.ProceduralBracket
s. IfProceduralBracketsServiceProvider.ProceduralBracket
from its set will be found search breaks, cannot benull
- Returns:
true
if middle procedural bracket was found,false
otherwise
-