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.TokenAdapters got from BslXtextDocument-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumShort 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.ProceduralBracketby the end offset of close bracketbooleansearchMiddleProceduralBracket(BslXtextDocument document, int offset, Set<ProceduralBracketsServiceProvider.ProceduralBracket> openBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> middleBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> closeBrackets, Set<ProceduralBracketsServiceProvider.ProceduralBracket> stopAfter) Tryies to find middleProceduralBracketsServiceProvider.ProceduralBracketList<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.ProceduralBrackets 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.ProceduralBrackets from token stream ofBslXtextDocument- Parameters:
document-BslXtextDocumentfor getting token stream, cannot benulloffset- start position of searchreverseSearch-trueif need backward search,falseif need forward searchstopAfter- set ofProceduralBracketsServiceProvider.ProceduralBrackets. IfProceduralBracketsServiceProvider.ProceduralBracketfrom its set will be found search breaks, cannot benull- Returns:
- found
ProceduralBracketsServiceProvider.ProceduralBrackets 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.ProceduralBracketby the end offset of close bracket- Parameters:
document-BslXtextDocumentfor getting token stream, cannot benullendOfCloseBracket- offset of closeProceduralBracketsServiceProvider.ProceduralBracketstopAfter- set ofProceduralBracketsServiceProvider.ProceduralBrackets. IfProceduralBracketsServiceProvider.ProceduralBracketfrom its set will be found search breaks, cannot benull- Returns:
- offset of open
ProceduralBracketsServiceProvider.ProceduralBracketcorresponding to the close bracket with concrete end offset, can benullif 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-BslXtextDocumentfor getting token stream, cannot benulloffset- start position of searchreverseSearch-trueif need backward search,falseif need forward searchstopAfter- set ofProceduralBracketsServiceProvider.ProceduralBrackets. IfProceduralBracketsServiceProvider.ProceduralBracketfrom its set will be found search breaks, cannot benull- Returns:
- found non-close
ProceduralBracketsServiceProvider.ProceduralBrackets 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-BslXtextDocumentfor getting token stream, cannot benulloffset- start position of searchopenBrackets- open brackets linked with searching middle bracket, cannot benullmiddleBrackets- searching middle brackets, cannot benullcloseBrackets- close brackets linked with searching middle bracket, cannot benullstopAfter- set ofProceduralBracketsServiceProvider.ProceduralBrackets. IfProceduralBracketsServiceProvider.ProceduralBracketfrom its set will be found search breaks, cannot benull- Returns:
trueif middle procedural bracket was found,falseotherwise
-