|
|
@ -47,6 +47,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
public readonly static TokenRole ModulusRole = new TokenRole("%="); |
|
|
|
public readonly static TokenRole ModulusRole = new TokenRole("%="); |
|
|
|
public readonly static TokenRole ShiftLeftRole = new TokenRole("<<="); |
|
|
|
public readonly static TokenRole ShiftLeftRole = new TokenRole("<<="); |
|
|
|
public readonly static TokenRole ShiftRightRole = new TokenRole(">>="); |
|
|
|
public readonly static TokenRole ShiftRightRole = new TokenRole(">>="); |
|
|
|
|
|
|
|
public readonly static TokenRole UnsignedShiftRightRole = new TokenRole(">>>="); |
|
|
|
public readonly static TokenRole BitwiseAndRole = new TokenRole("&="); |
|
|
|
public readonly static TokenRole BitwiseAndRole = new TokenRole("&="); |
|
|
|
public readonly static TokenRole BitwiseOrRole = new TokenRole("|="); |
|
|
|
public readonly static TokenRole BitwiseOrRole = new TokenRole("|="); |
|
|
|
public readonly static TokenRole ExclusiveOrRole = new TokenRole("^="); |
|
|
|
public readonly static TokenRole ExclusiveOrRole = new TokenRole("^="); |
|
|
@ -129,6 +130,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
return ShiftLeftRole; |
|
|
|
return ShiftLeftRole; |
|
|
|
case AssignmentOperatorType.ShiftRight: |
|
|
|
case AssignmentOperatorType.ShiftRight: |
|
|
|
return ShiftRightRole; |
|
|
|
return ShiftRightRole; |
|
|
|
|
|
|
|
case AssignmentOperatorType.UnsignedShiftRight: |
|
|
|
|
|
|
|
return UnsignedShiftRightRole; |
|
|
|
case AssignmentOperatorType.BitwiseAnd: |
|
|
|
case AssignmentOperatorType.BitwiseAnd: |
|
|
|
return BitwiseAndRole; |
|
|
|
return BitwiseAndRole; |
|
|
|
case AssignmentOperatorType.BitwiseOr: |
|
|
|
case AssignmentOperatorType.BitwiseOr: |
|
|
@ -164,6 +167,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
return BinaryOperatorType.ShiftLeft; |
|
|
|
return BinaryOperatorType.ShiftLeft; |
|
|
|
case AssignmentOperatorType.ShiftRight: |
|
|
|
case AssignmentOperatorType.ShiftRight: |
|
|
|
return BinaryOperatorType.ShiftRight; |
|
|
|
return BinaryOperatorType.ShiftRight; |
|
|
|
|
|
|
|
case AssignmentOperatorType.UnsignedShiftRight: |
|
|
|
|
|
|
|
return BinaryOperatorType.UnsignedShiftRight; |
|
|
|
case AssignmentOperatorType.BitwiseAnd: |
|
|
|
case AssignmentOperatorType.BitwiseAnd: |
|
|
|
return BinaryOperatorType.BitwiseAnd; |
|
|
|
return BinaryOperatorType.BitwiseAnd; |
|
|
|
case AssignmentOperatorType.BitwiseOr: |
|
|
|
case AssignmentOperatorType.BitwiseOr: |
|
|
@ -195,6 +200,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
return ExpressionType.LeftShiftAssign; |
|
|
|
return ExpressionType.LeftShiftAssign; |
|
|
|
case AssignmentOperatorType.ShiftRight: |
|
|
|
case AssignmentOperatorType.ShiftRight: |
|
|
|
return ExpressionType.RightShiftAssign; |
|
|
|
return ExpressionType.RightShiftAssign; |
|
|
|
|
|
|
|
case AssignmentOperatorType.UnsignedShiftRight: |
|
|
|
|
|
|
|
return ExpressionType.Extension; |
|
|
|
case AssignmentOperatorType.BitwiseAnd: |
|
|
|
case AssignmentOperatorType.BitwiseAnd: |
|
|
|
return ExpressionType.AndAssign; |
|
|
|
return ExpressionType.AndAssign; |
|
|
|
case AssignmentOperatorType.BitwiseOr: |
|
|
|
case AssignmentOperatorType.BitwiseOr: |
|
|
@ -259,6 +266,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
ShiftLeft, |
|
|
|
ShiftLeft, |
|
|
|
/// <summary>left >>= right</summary>
|
|
|
|
/// <summary>left >>= right</summary>
|
|
|
|
ShiftRight, |
|
|
|
ShiftRight, |
|
|
|
|
|
|
|
/// <summary>left >>>= right</summary>
|
|
|
|
|
|
|
|
UnsignedShiftRight, |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>left &= right</summary>
|
|
|
|
/// <summary>left &= right</summary>
|
|
|
|
BitwiseAnd, |
|
|
|
BitwiseAnd, |
|
|
|