Uast, Minor: Group binary operators
This commit is contained in:
@@ -17,108 +17,114 @@ package org.jetbrains.uast
|
|||||||
|
|
||||||
import org.jetbrains.uast.kinds.UastOperator
|
import org.jetbrains.uast.kinds.UastOperator
|
||||||
|
|
||||||
class UastBinaryOperator(override val text: String): UastOperator {
|
open class UastBinaryOperator(override val text: String): UastOperator {
|
||||||
|
class LogicalOperator(text: String): UastBinaryOperator(text)
|
||||||
|
class ComparationOperator(text: String): UastBinaryOperator(text)
|
||||||
|
class ArithmeticOperator(text: String): UastBinaryOperator(text)
|
||||||
|
class BitwiseOperator(text: String): UastBinaryOperator(text)
|
||||||
|
class AssignOperator(text: String): UastBinaryOperator(text)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@JvmField
|
@JvmField
|
||||||
val ASSIGN = UastBinaryOperator("=")
|
val ASSIGN = AssignOperator("=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val PLUS = UastBinaryOperator("+")
|
val PLUS = ArithmeticOperator("+")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MINUS = UastBinaryOperator("-")
|
val MINUS = ArithmeticOperator("-")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MULT = UastBinaryOperator("*")
|
val MULT = ArithmeticOperator("*")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val DIV = UastBinaryOperator("/")
|
val DIV = ArithmeticOperator("/")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MOD = UastBinaryOperator("%")
|
val MOD = ArithmeticOperator("%")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val LOGICAL_OR = UastBinaryOperator("||")
|
val LOGICAL_OR = LogicalOperator("||")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val LOGICAL_AND = UastBinaryOperator("&&")
|
val LOGICAL_AND = LogicalOperator("&&")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val BITWISE_OR = UastBinaryOperator("|")
|
val BITWISE_OR = BitwiseOperator("|")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val BITWISE_AND = UastBinaryOperator("&")
|
val BITWISE_AND = BitwiseOperator("&")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val BITWISE_XOR = UastBinaryOperator("^")
|
val BITWISE_XOR = BitwiseOperator("^")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val EQUALS = UastBinaryOperator("==")
|
val EQUALS = ComparationOperator("==")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val NOT_EQUALS = UastBinaryOperator("!=")
|
val NOT_EQUALS = ComparationOperator("!=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val IDENTITY_EQUALS = UastBinaryOperator("===")
|
val IDENTITY_EQUALS = ComparationOperator("===")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val IDENTITY_NOT_EQUALS = UastBinaryOperator("!==")
|
val IDENTITY_NOT_EQUALS = ComparationOperator("!==")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val GREATER = UastBinaryOperator(">")
|
val GREATER = ComparationOperator(">")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val GREATER_OR_EQUAL = UastBinaryOperator(">=")
|
val GREATER_OR_EQUAL = ComparationOperator(">=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val LESS = UastBinaryOperator("<")
|
val LESS = ComparationOperator("<")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val LESS_OR_EQUAL = UastBinaryOperator("<=")
|
val LESS_OR_EQUAL = ComparationOperator("<=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val SHIFT_LEFT = UastBinaryOperator("<<")
|
val SHIFT_LEFT = BitwiseOperator("<<")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val SHIFT_RIGHT = UastBinaryOperator(">>")
|
val SHIFT_RIGHT = BitwiseOperator(">>")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val BITWISE_SHIFT_RIGHT = UastBinaryOperator(">>>")
|
val UNSIGNED_SHIFT_RIGHT = BitwiseOperator(">>>")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val UNKNOWN = UastBinaryOperator("<unknown>")
|
val UNKNOWN = UastBinaryOperator("<unknown>")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val PLUS_ASSIGN = UastBinaryOperator("+=")
|
val PLUS_ASSIGN = AssignOperator("+=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MINUS_ASSIGN = UastBinaryOperator("-=")
|
val MINUS_ASSIGN = AssignOperator("-=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MULTIPLY_ASSIGN = UastBinaryOperator("*=")
|
val MULTIPLY_ASSIGN = AssignOperator("*=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val DIVIDE_ASSIGN = UastBinaryOperator("/=")
|
val DIVIDE_ASSIGN = AssignOperator("/=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val REMAINDER_ASSIGN = UastBinaryOperator("%=")
|
val REMAINDER_ASSIGN = AssignOperator("%=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val AND_ASSIGN = UastBinaryOperator("&=")
|
val AND_ASSIGN = AssignOperator("&=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val XOR_ASSIGN = UastBinaryOperator("^=")
|
val XOR_ASSIGN = AssignOperator("^=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val OR_ASSIGN = UastBinaryOperator("|=")
|
val OR_ASSIGN = AssignOperator("|=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val SHIFT_LEFT_ASSIGN = UastBinaryOperator("<<=")
|
val SHIFT_LEFT_ASSIGN = AssignOperator("<<=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val SHIFT_RIGHT_ASSIGN = UastBinaryOperator(">>=")
|
val SHIFT_RIGHT_ASSIGN = AssignOperator(">>=")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val UNSIGNED_SHIFT_RIGHT_ASSIGN = UastBinaryOperator(">>>=")
|
val UNSIGNED_SHIFT_RIGHT_ASSIGN = AssignOperator(">>>=")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -64,7 +64,7 @@ internal fun IElementType.getOperatorType() = when (this) {
|
|||||||
JavaTokenType.LE -> UastBinaryOperator.LESS_OR_EQUAL
|
JavaTokenType.LE -> UastBinaryOperator.LESS_OR_EQUAL
|
||||||
JavaTokenType.LTLT -> UastBinaryOperator.SHIFT_LEFT
|
JavaTokenType.LTLT -> UastBinaryOperator.SHIFT_LEFT
|
||||||
JavaTokenType.GTGT -> UastBinaryOperator.SHIFT_RIGHT
|
JavaTokenType.GTGT -> UastBinaryOperator.SHIFT_RIGHT
|
||||||
JavaTokenType.GTGTGT -> UastBinaryOperator.BITWISE_SHIFT_RIGHT
|
JavaTokenType.GTGTGT -> UastBinaryOperator.UNSIGNED_SHIFT_RIGHT
|
||||||
JavaTokenType.PLUSEQ -> UastBinaryOperator.PLUS_ASSIGN
|
JavaTokenType.PLUSEQ -> UastBinaryOperator.PLUS_ASSIGN
|
||||||
JavaTokenType.MINUSEQ -> UastBinaryOperator.MINUS_ASSIGN
|
JavaTokenType.MINUSEQ -> UastBinaryOperator.MINUS_ASSIGN
|
||||||
JavaTokenType.ASTERISKEQ -> UastBinaryOperator.MULTIPLY_ASSIGN
|
JavaTokenType.ASTERISKEQ -> UastBinaryOperator.MULTIPLY_ASSIGN
|
||||||
|
|||||||
Reference in New Issue
Block a user