mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-162853 more utilities for SyntaxElementTypeSet
GitOrigin-RevId: 2c898262f6c425dea65ebdecfebe76ae9340ef7c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c9c5a844e6
commit
c7cfcdeb3d
@@ -32,8 +32,11 @@
|
||||
- containsAll(java.util.Collection):Z
|
||||
- f:containsNullable(com.intellij.platform.syntax.SyntaxElementType):Z
|
||||
- getSize():I
|
||||
- f:intersect(com.intellij.platform.syntax.SyntaxElementTypeSet):com.intellij.platform.syntax.SyntaxElementTypeSet
|
||||
- isEmpty():Z
|
||||
- iterator():java.util.Iterator
|
||||
- f:minus(com.intellij.platform.syntax.SyntaxElementType):com.intellij.platform.syntax.SyntaxElementTypeSet
|
||||
- f:minus(java.lang.Iterable):com.intellij.platform.syntax.SyntaxElementTypeSet
|
||||
- f:plus(com.intellij.platform.syntax.SyntaxElementType):com.intellij.platform.syntax.SyntaxElementTypeSet
|
||||
- f:plus(java.lang.Iterable):com.intellij.platform.syntax.SyntaxElementTypeSet
|
||||
- remove(java.lang.Object):Z
|
||||
|
||||
@@ -68,4 +68,21 @@ class SyntaxElementTypeSet internal constructor(
|
||||
if (other in this) return this
|
||||
return setOf(*tokens, other).asSyntaxElementTypeSet()
|
||||
}
|
||||
|
||||
operator fun minus(other: Iterable<SyntaxElementType>): SyntaxElementTypeSet {
|
||||
val newSet = tokens.toSet() - other.toSet()
|
||||
if (newSet.size == size) return this // no removed elements
|
||||
return newSet.asSyntaxElementTypeSet()
|
||||
}
|
||||
|
||||
operator fun minus(other: SyntaxElementType): SyntaxElementTypeSet {
|
||||
if (other !in this) return this
|
||||
return (setOf(*tokens) - other).asSyntaxElementTypeSet()
|
||||
}
|
||||
|
||||
fun intersect(other: SyntaxElementTypeSet): SyntaxElementTypeSet {
|
||||
val newSet = tokens.toSet().intersect(other)
|
||||
if (newSet.size == size) return this // no removed elements
|
||||
return newSet.asSyntaxElementTypeSet()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user