703 references to UnaryOperatorKind
Microsoft.CodeAnalysis.CSharp (651)
Binder\Binder_Operators.cs (52)
1378UnaryOperatorKind kind, 1418if (kind == UnaryOperatorKind.UnaryMinus && 2234UnaryOperatorKind kind = SyntaxKindToUnaryOperatorKind(node.Kind()); 2263kind.WithType(UnaryOperatorKind.Dynamic).WithOverflowChecksIfApplicable(CheckOverflowAtRuntime), 2682UnaryOperatorKind kind = SyntaxKindToUnaryOperatorKind(node.Kind()); 2715operatorKind: kind.WithType(UnaryOperatorKind.Dynamic).WithOverflowChecksIfApplicable(CheckOverflowAtRuntime), 2747UnaryOperatorKind resultOperatorKind = signature.Kind; 2766UnaryOperatorKind kind, 2783UnaryOperatorKind newKind = kind.Operator().WithType(upconvertSpecialType); 2791var binder = kind.Operator() == UnaryOperatorKind.BitwiseComplement ? 2801UnaryOperatorKind kind, 2876private static object? FoldNeverOverflowUnaryOperator(UnaryOperatorKind kind, ConstantValue value) 2881case UnaryOperatorKind.DecimalUnaryMinus: 2883case UnaryOperatorKind.DoubleUnaryMinus: 2884case UnaryOperatorKind.FloatUnaryMinus: 2886case UnaryOperatorKind.DecimalUnaryPlus: 2888case UnaryOperatorKind.FloatUnaryPlus: 2889case UnaryOperatorKind.DoubleUnaryPlus: 2891case UnaryOperatorKind.LongUnaryPlus: 2893case UnaryOperatorKind.ULongUnaryPlus: 2895case UnaryOperatorKind.IntUnaryPlus: 2896case UnaryOperatorKind.NIntUnaryPlus: 2898case UnaryOperatorKind.UIntUnaryPlus: 2899case UnaryOperatorKind.NUIntUnaryPlus: 2901case UnaryOperatorKind.BoolLogicalNegation: 2903case UnaryOperatorKind.IntBitwiseComplement: 2905case UnaryOperatorKind.LongBitwiseComplement: 2907case UnaryOperatorKind.UIntBitwiseComplement: 2909case UnaryOperatorKind.ULongBitwiseComplement: 2916private static object? FoldUncheckedIntegralUnaryOperator(UnaryOperatorKind kind, ConstantValue value) 2922case UnaryOperatorKind.LongUnaryMinus: 2924case UnaryOperatorKind.IntUnaryMinus: 2932private static object? FoldCheckedIntegralUnaryOperator(UnaryOperatorKind kind, ConstantValue value) 2938case UnaryOperatorKind.LongUnaryMinus: 2940case UnaryOperatorKind.IntUnaryMinus: 2948private static object? FoldNativeIntegerOverflowingUnaryOperator(UnaryOperatorKind kind, ConstantValue value) 2954case UnaryOperatorKind.NIntUnaryMinus: 2956case UnaryOperatorKind.NIntBitwiseComplement: 2957case UnaryOperatorKind.NUIntBitwiseComplement: 2965public static UnaryOperatorKind SyntaxKindToUnaryOperatorKind(SyntaxKind kind) 2969case SyntaxKind.PreIncrementExpression: return UnaryOperatorKind.PrefixIncrement; 2970case SyntaxKind.PostIncrementExpression: return UnaryOperatorKind.PostfixIncrement; 2971case SyntaxKind.PreDecrementExpression: return UnaryOperatorKind.PrefixDecrement; 2972case SyntaxKind.PostDecrementExpression: return UnaryOperatorKind.PostfixDecrement; 2973case SyntaxKind.UnaryPlusExpression: return UnaryOperatorKind.UnaryPlus; 2974case SyntaxKind.UnaryMinusExpression: return UnaryOperatorKind.UnaryMinus; 2975case SyntaxKind.LogicalNotExpression: return UnaryOperatorKind.LogicalNegation; 2976case SyntaxKind.BitwiseNotExpression: return UnaryOperatorKind.BitwiseComplement; 4378private void CheckNativeIntegerFeatureAvailability(UnaryOperatorKind operatorKind, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 4385switch (operatorKind & UnaryOperatorKind.TypeMask) 4387case UnaryOperatorKind.NInt: 4388case UnaryOperatorKind.NUInt:
Binder\Binder_Statements.cs (2)
2556UnaryOperatorKind.DynamicTrue, 2605var best = this.UnaryOperatorOverloadResolution(UnaryOperatorKind.True, expr, node, diagnostics, out LookupResultKind resultKind, out ImmutableArray<MethodSymbol> originalUserDefinedOperators);
Binder\Binder_TupleOperators.cs (3)
145UnaryOperatorKind boolOpKind; 149boolOpKind = UnaryOperatorKind.False; 152boolOpKind = UnaryOperatorKind.True;
Binder\Semantics\Operators\OperatorFacts.cs (13)
169public static string UnaryOperatorNameFromOperatorKind(UnaryOperatorKind kind, bool isChecked) 171switch (kind & UnaryOperatorKind.OpMask) 173case UnaryOperatorKind.UnaryPlus: return WellKnownMemberNames.UnaryPlusOperatorName; 174case UnaryOperatorKind.UnaryMinus: return isChecked ? WellKnownMemberNames.CheckedUnaryNegationOperatorName : WellKnownMemberNames.UnaryNegationOperatorName; 175case UnaryOperatorKind.BitwiseComplement: return WellKnownMemberNames.OnesComplementOperatorName; 176case UnaryOperatorKind.LogicalNegation: return WellKnownMemberNames.LogicalNotOperatorName; 177case UnaryOperatorKind.PostfixIncrement: 178case UnaryOperatorKind.PrefixIncrement: return isChecked ? WellKnownMemberNames.CheckedIncrementOperatorName : WellKnownMemberNames.IncrementOperatorName; 179case UnaryOperatorKind.PostfixDecrement: 180case UnaryOperatorKind.PrefixDecrement: return isChecked ? WellKnownMemberNames.CheckedDecrementOperatorName : WellKnownMemberNames.DecrementOperatorName; 181case UnaryOperatorKind.True: return WellKnownMemberNames.TrueOperatorName; 182case UnaryOperatorKind.False: return WellKnownMemberNames.FalseOperatorName; 184throw ExceptionUtilities.UnexpectedValue(kind & UnaryOperatorKind.OpMask);
Binder\Semantics\Operators\OperatorKind.cs (36)
294TypeMask = UnaryOperatorKind.TypeMask, 296Int = UnaryOperatorKind.Int, 297UInt = UnaryOperatorKind.UInt, 298Long = UnaryOperatorKind.Long, 299ULong = UnaryOperatorKind.ULong, 300NInt = UnaryOperatorKind.NInt, 301NUInt = UnaryOperatorKind.NUInt, 302Char = UnaryOperatorKind.Char, //not used 303Float = UnaryOperatorKind.Float, 304Double = UnaryOperatorKind.Double, 305Decimal = UnaryOperatorKind.Decimal, 306Bool = UnaryOperatorKind.Bool, 307Object = UnaryOperatorKind._Object, 308String = UnaryOperatorKind._String, 309StringAndObject = UnaryOperatorKind._StringAndObject, 310ObjectAndString = UnaryOperatorKind._ObjectAndString, 312Enum = UnaryOperatorKind.Enum, 313EnumAndUnderlying = UnaryOperatorKind._EnumAndUnderlying, 314UnderlyingAndEnum = UnaryOperatorKind._UnderlyingAndEnum, 315Delegate = UnaryOperatorKind._Delegate, 316Pointer = UnaryOperatorKind.Pointer, 317PointerAndInt = UnaryOperatorKind._PointerAndInt, 318PointerAndUInt = UnaryOperatorKind._PointerAndUInt, 319PointerAndLong = UnaryOperatorKind._PointerAndLong, 320PointerAndULong = UnaryOperatorKind._PointerAndULong, 321IntAndPointer = UnaryOperatorKind._IntAndPointer, 322UIntAndPointer = UnaryOperatorKind._UIntAndPointer, 323LongAndPointer = UnaryOperatorKind._LongAndPointer, 324ULongAndPointer = UnaryOperatorKind._ULongAndPointer, 325NullableNull = UnaryOperatorKind._NullableNull, 326UserDefined = UnaryOperatorKind.UserDefined, 327Dynamic = UnaryOperatorKind.Dynamic, 328Utf8 = UnaryOperatorKind._Utf8, 349Lifted = UnaryOperatorKind.Lifted, 350Logical = UnaryOperatorKind._Logical, 351Checked = UnaryOperatorKind.Checked,
Binder\Semantics\Operators\OperatorKindExtensions.cs (78)
19public static int OperatorIndex(this UnaryOperatorKind kind) 24public static UnaryOperatorKind Operator(this UnaryOperatorKind kind) 26return kind & UnaryOperatorKind.OpMask; 29public static UnaryOperatorKind Unlifted(this UnaryOperatorKind kind) 31return kind & ~UnaryOperatorKind.Lifted; 34public static bool IsLifted(this UnaryOperatorKind kind) 36return 0 != (kind & UnaryOperatorKind.Lifted); 39public static bool IsChecked(this UnaryOperatorKind kind) 41return 0 != (kind & UnaryOperatorKind.Checked); 44public static bool IsUserDefined(this UnaryOperatorKind kind) 46return (kind & UnaryOperatorKind.TypeMask) == UnaryOperatorKind.UserDefined; 49public static UnaryOperatorKind OverflowChecks(this UnaryOperatorKind kind) 51return kind & UnaryOperatorKind.Checked; 54public static UnaryOperatorKind WithOverflowChecksIfApplicable(this UnaryOperatorKind kind, bool enabled) 64return kind | UnaryOperatorKind.Checked; 71case UnaryOperatorKind.PrefixIncrement: 72case UnaryOperatorKind.PostfixIncrement: 73case UnaryOperatorKind.PrefixDecrement: 74case UnaryOperatorKind.PostfixDecrement: 75case UnaryOperatorKind.UnaryMinus: 76return kind | UnaryOperatorKind.Checked; 83return kind & ~UnaryOperatorKind.Checked; 87public static UnaryOperatorKind OperandTypes(this UnaryOperatorKind kind) 89return kind & UnaryOperatorKind.TypeMask; 92public static bool IsDynamic(this UnaryOperatorKind kind) 94return kind.OperandTypes() == UnaryOperatorKind.Dynamic; 97public static bool IsIntegral(this UnaryOperatorKind kind) 101case UnaryOperatorKind.SByte: 102case UnaryOperatorKind.Byte: 103case UnaryOperatorKind.Short: 104case UnaryOperatorKind.UShort: 105case UnaryOperatorKind.Int: 106case UnaryOperatorKind.UInt: 107case UnaryOperatorKind.Long: 108case UnaryOperatorKind.ULong: 109case UnaryOperatorKind.NInt: 110case UnaryOperatorKind.NUInt: 111case UnaryOperatorKind.Char: 112case UnaryOperatorKind.Enum: 113case UnaryOperatorKind.Pointer: 120public static UnaryOperatorKind WithType(this UnaryOperatorKind kind, UnaryOperatorKind type) 122Debug.Assert(kind == (kind & ~UnaryOperatorKind.TypeMask)); 123Debug.Assert(type == (type & UnaryOperatorKind.TypeMask)); 165public static UnaryOperatorKind WithType(this UnaryOperatorKind kind, SpecialType type) 167Debug.Assert(kind == (kind & ~UnaryOperatorKind.TypeMask)); 171return kind | UnaryOperatorKind.Int; 173return kind | UnaryOperatorKind.UInt; 175return kind | UnaryOperatorKind.Long; 177return kind | UnaryOperatorKind.ULong; 281public static bool IsEnum(this UnaryOperatorKind kind) 283return kind.OperandTypes() == UnaryOperatorKind.Enum; 380public static ExpressionType ToExpressionType(this UnaryOperatorKind kind) 384case UnaryOperatorKind.PrefixIncrement: 385case UnaryOperatorKind.PostfixIncrement: 388case UnaryOperatorKind.PostfixDecrement: 389case UnaryOperatorKind.PrefixDecrement: 392case UnaryOperatorKind.UnaryPlus: return ExpressionType.UnaryPlus; 393case UnaryOperatorKind.UnaryMinus: return ExpressionType.Negate; 394case UnaryOperatorKind.LogicalNegation: return ExpressionType.Not; 395case UnaryOperatorKind.BitwiseComplement: return ExpressionType.OnesComplement; 396case UnaryOperatorKind.True: return ExpressionType.IsTrue; 397case UnaryOperatorKind.False: return ExpressionType.IsFalse; 417public static string Dump(this UnaryOperatorKind kind) 420if ((kind & UnaryOperatorKind.Lifted) != 0) b.Append("Lifted"); 421if ((kind & UnaryOperatorKind.Checked) != 0) b.Append("Checked"); 422var type = kind & UnaryOperatorKind.TypeMask; 424var op = kind & UnaryOperatorKind.OpMask;
Binder\Semantics\Operators\UnaryOperatorEasyOut.cs (92)
14private const UnaryOperatorKind ERR = UnaryOperatorKind.Error; 16private const UnaryOperatorKind BOL = UnaryOperatorKind.Bool; 17private const UnaryOperatorKind CHR = UnaryOperatorKind.Char; 18private const UnaryOperatorKind I08 = UnaryOperatorKind.SByte; 19private const UnaryOperatorKind U08 = UnaryOperatorKind.Byte; 20private const UnaryOperatorKind I16 = UnaryOperatorKind.Short; 21private const UnaryOperatorKind U16 = UnaryOperatorKind.UShort; 22private const UnaryOperatorKind I32 = UnaryOperatorKind.Int; 23private const UnaryOperatorKind U32 = UnaryOperatorKind.UInt; 24private const UnaryOperatorKind I64 = UnaryOperatorKind.Long; 25private const UnaryOperatorKind U64 = UnaryOperatorKind.ULong; 26private const UnaryOperatorKind NIN = UnaryOperatorKind.NInt; 27private const UnaryOperatorKind NUI = UnaryOperatorKind.NUInt; 28private const UnaryOperatorKind R32 = UnaryOperatorKind.Float; 29private const UnaryOperatorKind R64 = UnaryOperatorKind.Double; 30private const UnaryOperatorKind DEC = UnaryOperatorKind.Decimal; 31private const UnaryOperatorKind LBOL = UnaryOperatorKind.Lifted | UnaryOperatorKind.Bool; 32private const UnaryOperatorKind LCHR = UnaryOperatorKind.Lifted | UnaryOperatorKind.Char; 33private const UnaryOperatorKind LI08 = UnaryOperatorKind.Lifted | UnaryOperatorKind.SByte; 34private const UnaryOperatorKind LU08 = UnaryOperatorKind.Lifted | UnaryOperatorKind.Byte; 35private const UnaryOperatorKind LI16 = UnaryOperatorKind.Lifted | UnaryOperatorKind.Short; 36private const UnaryOperatorKind LU16 = UnaryOperatorKind.Lifted | UnaryOperatorKind.UShort; 37private const UnaryOperatorKind LI32 = UnaryOperatorKind.Lifted | UnaryOperatorKind.Int; 38private const UnaryOperatorKind LU32 = UnaryOperatorKind.Lifted | UnaryOperatorKind.UInt; 39private const UnaryOperatorKind LI64 = UnaryOperatorKind.Lifted | UnaryOperatorKind.Long; 40private const UnaryOperatorKind LU64 = UnaryOperatorKind.Lifted | UnaryOperatorKind.ULong; 41private const UnaryOperatorKind LNI = UnaryOperatorKind.Lifted | UnaryOperatorKind.NInt; 42private const UnaryOperatorKind LNU = UnaryOperatorKind.Lifted | UnaryOperatorKind.NUInt; 43private const UnaryOperatorKind LR32 = UnaryOperatorKind.Lifted | UnaryOperatorKind.Float; 44private const UnaryOperatorKind LR64 = UnaryOperatorKind.Lifted | UnaryOperatorKind.Double; 45private const UnaryOperatorKind LDEC = UnaryOperatorKind.Lifted | UnaryOperatorKind.Decimal; 47private static readonly UnaryOperatorKind[] s_increment = 52private static readonly UnaryOperatorKind[] s_plus = 57private static readonly UnaryOperatorKind[] s_minus = 62private static readonly UnaryOperatorKind[] s_logicalNegation = 67private static readonly UnaryOperatorKind[] s_bitwiseComplement = 72private static readonly UnaryOperatorKind[][] s_opkind = 84public static UnaryOperatorKind OpKind(UnaryOperatorKind kind, TypeSymbol operand) 89return UnaryOperatorKind.Error; 92var result = (kindIndex >= s_opkind.Length) ? UnaryOperatorKind.Error : s_opkind[kindIndex][index]; 93return result == UnaryOperatorKind.Error ? result : result | kind; 97private void UnaryOperatorEasyOut(UnaryOperatorKind kind, BoundExpression operand, UnaryOperatorOverloadResolutionResult result) 105var easyOut = UnopEasyOut.OpKind(kind, operandType); 107if (easyOut == UnaryOperatorKind.Error)
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (32)
23public void UnaryOperatorOverloadResolution(UnaryOperatorKind kind, bool isChecked, BoundExpression operand, UnaryOperatorOverloadResolutionResult result, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 239private void GetAllBuiltInOperators(UnaryOperatorKind kind, bool isChecked, BoundExpression operand, ArrayBuilder<UnaryOperatorAnalysisResult> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 290private void GetEnumOperations(UnaryOperatorKind kind, BoundExpression operand, ArrayBuilder<UnaryOperatorSignature> operators) 310case UnaryOperatorKind.PostfixIncrement: 311case UnaryOperatorKind.PostfixDecrement: 312case UnaryOperatorKind.PrefixIncrement: 313case UnaryOperatorKind.PrefixDecrement: 314case UnaryOperatorKind.BitwiseComplement: 315operators.Add(new UnaryOperatorSignature(kind | UnaryOperatorKind.Enum, enumType, enumType)); 316operators.Add(new UnaryOperatorSignature(kind | UnaryOperatorKind.Lifted | UnaryOperatorKind.Enum, nullableEnum, nullableEnum)); 321private static UnaryOperatorSignature? GetPointerOperation(UnaryOperatorKind kind, BoundExpression operand) 334case UnaryOperatorKind.PostfixIncrement: 335case UnaryOperatorKind.PostfixDecrement: 336case UnaryOperatorKind.PrefixIncrement: 337case UnaryOperatorKind.PrefixDecrement: 338op = new UnaryOperatorSignature(kind | UnaryOperatorKind.Pointer, pointerType, pointerType); 345private bool GetUserDefinedOperators(UnaryOperatorKind kind, bool isChecked, BoundExpression operand, ArrayBuilder<UnaryOperatorAnalysisResult> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 473UnaryOperatorKind kind, 513static void getDeclaredOperators(TypeSymbol constrainedToTypeOpt, NamedTypeSymbol type, UnaryOperatorKind kind, string name, ArrayBuilder<UnaryOperatorSignature> operators) 526operators.Add(new UnaryOperatorSignature(UnaryOperatorKind.UserDefined | kind, operandType, resultType, op, constrainedToTypeOpt)); 530void addLiftedOperators(TypeSymbol constrainedToTypeOpt, UnaryOperatorKind kind, ArrayBuilder<UnaryOperatorSignature> operators) 538case UnaryOperatorKind.UnaryPlus: 539case UnaryOperatorKind.PrefixDecrement: 540case UnaryOperatorKind.PrefixIncrement: 541case UnaryOperatorKind.UnaryMinus: 542case UnaryOperatorKind.PostfixDecrement: 543case UnaryOperatorKind.PostfixIncrement: 544case UnaryOperatorKind.LogicalNegation: 545case UnaryOperatorKind.BitwiseComplement: 557UnaryOperatorKind.Lifted | UnaryOperatorKind.UserDefined | kind,
Binder\Semantics\Operators\UnaryOperatorSignature.cs (3)
21public readonly UnaryOperatorKind Kind; 23public UnaryOperatorSignature(UnaryOperatorKind kind, TypeSymbol operandType, TypeSymbol returnType) 32public UnaryOperatorSignature(UnaryOperatorKind kind, TypeSymbol operandType, TypeSymbol returnType, MethodSymbol method, TypeSymbol constrainedToTypeOpt)
BoundTree\Constructors.cs (4)
687UnaryOperatorKind operatorKind, 699public BoundUnaryOperator Update(UnaryOperatorKind operatorKind, 713UnaryOperatorKind operatorKind, 728public BoundIncrementOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion, LookupResultKind resultKind, TypeSymbol type)
CodeGen\EmitOperators.cs (13)
19var operatorKind = expression.OperatorKind; 33if (operatorKind == UnaryOperatorKind.BoolLogicalNegation) 42case UnaryOperatorKind.UnaryMinus: 46case UnaryOperatorKind.BitwiseComplement: 50case UnaryOperatorKind.UnaryPlus: 477Debug.Assert(unOp.OperatorKind == UnaryOperatorKind.BoolLogicalNegation); 511Debug.Assert(expression.OperatorKind.Operator() == UnaryOperatorKind.UnaryMinus); 512var type = expression.OperatorKind.OperandTypes(); 524Debug.Assert(type == UnaryOperatorKind.Int || type == UnaryOperatorKind.Long || type == UnaryOperatorKind.NInt); 533if (type == UnaryOperatorKind.Long) 537else if (type == UnaryOperatorKind.NInt)
CodeGen\EmitStatement.cs (1)
577if (unOp.OperatorKind == UnaryOperatorKind.BoolLogicalNegation)
CodeGen\Optimizer.cs (1)
1588if (node.OperatorKind.IsChecked() && node.OperatorKind.Operator() == UnaryOperatorKind.UnaryMinus)
Compilation\BuiltInOperators.cs (176)
44builder.Add(GetSignature((UnaryOperatorKind)kind)); 50internal void GetSimpleBuiltInOperators(UnaryOperatorKind kind, ArrayBuilder<UnaryOperatorSignature> operators, bool skipNativeIntegerOperators) 58(int)UnaryOperatorKind.SBytePostfixIncrement, 59(int)UnaryOperatorKind.BytePostfixIncrement, 60(int)UnaryOperatorKind.ShortPostfixIncrement, 61(int)UnaryOperatorKind.UShortPostfixIncrement, 62(int)UnaryOperatorKind.IntPostfixIncrement, 63(int)UnaryOperatorKind.UIntPostfixIncrement, 64(int)UnaryOperatorKind.LongPostfixIncrement, 65(int)UnaryOperatorKind.ULongPostfixIncrement, 66(int)UnaryOperatorKind.NIntPostfixIncrement, 67(int)UnaryOperatorKind.NUIntPostfixIncrement, 68(int)UnaryOperatorKind.CharPostfixIncrement, 69(int)UnaryOperatorKind.FloatPostfixIncrement, 70(int)UnaryOperatorKind.DoublePostfixIncrement, 71(int)UnaryOperatorKind.DecimalPostfixIncrement, 72(int)UnaryOperatorKind.LiftedSBytePostfixIncrement, 73(int)UnaryOperatorKind.LiftedBytePostfixIncrement, 74(int)UnaryOperatorKind.LiftedShortPostfixIncrement, 75(int)UnaryOperatorKind.LiftedUShortPostfixIncrement, 76(int)UnaryOperatorKind.LiftedIntPostfixIncrement, 77(int)UnaryOperatorKind.LiftedUIntPostfixIncrement, 78(int)UnaryOperatorKind.LiftedLongPostfixIncrement, 79(int)UnaryOperatorKind.LiftedULongPostfixIncrement, 80(int)UnaryOperatorKind.LiftedNIntPostfixIncrement, 81(int)UnaryOperatorKind.LiftedNUIntPostfixIncrement, 82(int)UnaryOperatorKind.LiftedCharPostfixIncrement, 83(int)UnaryOperatorKind.LiftedFloatPostfixIncrement, 84(int)UnaryOperatorKind.LiftedDoublePostfixIncrement, 85(int)UnaryOperatorKind.LiftedDecimalPostfixIncrement, 89(int)UnaryOperatorKind.SBytePostfixDecrement, 90(int)UnaryOperatorKind.BytePostfixDecrement, 91(int)UnaryOperatorKind.ShortPostfixDecrement, 92(int)UnaryOperatorKind.UShortPostfixDecrement, 93(int)UnaryOperatorKind.IntPostfixDecrement, 94(int)UnaryOperatorKind.UIntPostfixDecrement, 95(int)UnaryOperatorKind.LongPostfixDecrement, 96(int)UnaryOperatorKind.ULongPostfixDecrement, 97(int)UnaryOperatorKind.NIntPostfixDecrement, 98(int)UnaryOperatorKind.NUIntPostfixDecrement, 99(int)UnaryOperatorKind.CharPostfixDecrement, 100(int)UnaryOperatorKind.FloatPostfixDecrement, 101(int)UnaryOperatorKind.DoublePostfixDecrement, 102(int)UnaryOperatorKind.DecimalPostfixDecrement, 103(int)UnaryOperatorKind.LiftedSBytePostfixDecrement, 104(int)UnaryOperatorKind.LiftedBytePostfixDecrement, 105(int)UnaryOperatorKind.LiftedShortPostfixDecrement, 106(int)UnaryOperatorKind.LiftedUShortPostfixDecrement, 107(int)UnaryOperatorKind.LiftedIntPostfixDecrement, 108(int)UnaryOperatorKind.LiftedUIntPostfixDecrement, 109(int)UnaryOperatorKind.LiftedLongPostfixDecrement, 110(int)UnaryOperatorKind.LiftedULongPostfixDecrement, 111(int)UnaryOperatorKind.LiftedNIntPostfixDecrement, 112(int)UnaryOperatorKind.LiftedNUIntPostfixDecrement, 113(int)UnaryOperatorKind.LiftedCharPostfixDecrement, 114(int)UnaryOperatorKind.LiftedFloatPostfixDecrement, 115(int)UnaryOperatorKind.LiftedDoublePostfixDecrement, 116(int)UnaryOperatorKind.LiftedDecimalPostfixDecrement, 120(int)UnaryOperatorKind.SBytePrefixIncrement, 121(int)UnaryOperatorKind.BytePrefixIncrement, 122(int)UnaryOperatorKind.ShortPrefixIncrement, 123(int)UnaryOperatorKind.UShortPrefixIncrement, 124(int)UnaryOperatorKind.IntPrefixIncrement, 125(int)UnaryOperatorKind.UIntPrefixIncrement, 126(int)UnaryOperatorKind.LongPrefixIncrement, 127(int)UnaryOperatorKind.ULongPrefixIncrement, 128(int)UnaryOperatorKind.NIntPrefixIncrement, 129(int)UnaryOperatorKind.NUIntPrefixIncrement, 130(int)UnaryOperatorKind.CharPrefixIncrement, 131(int)UnaryOperatorKind.FloatPrefixIncrement, 132(int)UnaryOperatorKind.DoublePrefixIncrement, 133(int)UnaryOperatorKind.DecimalPrefixIncrement, 134(int)UnaryOperatorKind.LiftedSBytePrefixIncrement, 135(int)UnaryOperatorKind.LiftedBytePrefixIncrement, 136(int)UnaryOperatorKind.LiftedShortPrefixIncrement, 137(int)UnaryOperatorKind.LiftedUShortPrefixIncrement, 138(int)UnaryOperatorKind.LiftedIntPrefixIncrement, 139(int)UnaryOperatorKind.LiftedUIntPrefixIncrement, 140(int)UnaryOperatorKind.LiftedLongPrefixIncrement, 141(int)UnaryOperatorKind.LiftedULongPrefixIncrement, 142(int)UnaryOperatorKind.LiftedNIntPrefixIncrement, 143(int)UnaryOperatorKind.LiftedNUIntPrefixIncrement, 144(int)UnaryOperatorKind.LiftedCharPrefixIncrement, 145(int)UnaryOperatorKind.LiftedFloatPrefixIncrement, 146(int)UnaryOperatorKind.LiftedDoublePrefixIncrement, 147(int)UnaryOperatorKind.LiftedDecimalPrefixIncrement, 151(int)UnaryOperatorKind.SBytePrefixDecrement, 152(int)UnaryOperatorKind.BytePrefixDecrement, 153(int)UnaryOperatorKind.ShortPrefixDecrement, 154(int)UnaryOperatorKind.UShortPrefixDecrement, 155(int)UnaryOperatorKind.IntPrefixDecrement, 156(int)UnaryOperatorKind.UIntPrefixDecrement, 157(int)UnaryOperatorKind.NIntPrefixDecrement, 158(int)UnaryOperatorKind.NUIntPrefixDecrement, 159(int)UnaryOperatorKind.LongPrefixDecrement, 160(int)UnaryOperatorKind.ULongPrefixDecrement, 161(int)UnaryOperatorKind.CharPrefixDecrement, 162(int)UnaryOperatorKind.FloatPrefixDecrement, 163(int)UnaryOperatorKind.DoublePrefixDecrement, 164(int)UnaryOperatorKind.DecimalPrefixDecrement, 165(int)UnaryOperatorKind.LiftedSBytePrefixDecrement, 166(int)UnaryOperatorKind.LiftedBytePrefixDecrement, 167(int)UnaryOperatorKind.LiftedShortPrefixDecrement, 168(int)UnaryOperatorKind.LiftedUShortPrefixDecrement, 169(int)UnaryOperatorKind.LiftedIntPrefixDecrement, 170(int)UnaryOperatorKind.LiftedUIntPrefixDecrement, 171(int)UnaryOperatorKind.LiftedLongPrefixDecrement, 172(int)UnaryOperatorKind.LiftedULongPrefixDecrement, 173(int)UnaryOperatorKind.LiftedNIntPrefixDecrement, 174(int)UnaryOperatorKind.LiftedNUIntPrefixDecrement, 175(int)UnaryOperatorKind.LiftedCharPrefixDecrement, 176(int)UnaryOperatorKind.LiftedFloatPrefixDecrement, 177(int)UnaryOperatorKind.LiftedDoublePrefixDecrement, 178(int)UnaryOperatorKind.LiftedDecimalPrefixDecrement, 182(int)UnaryOperatorKind.IntUnaryPlus, 183(int)UnaryOperatorKind.UIntUnaryPlus, 184(int)UnaryOperatorKind.LongUnaryPlus, 185(int)UnaryOperatorKind.ULongUnaryPlus, 186(int)UnaryOperatorKind.NIntUnaryPlus, 187(int)UnaryOperatorKind.NUIntUnaryPlus, 188(int)UnaryOperatorKind.FloatUnaryPlus, 189(int)UnaryOperatorKind.DoubleUnaryPlus, 190(int)UnaryOperatorKind.DecimalUnaryPlus, 191(int)UnaryOperatorKind.LiftedIntUnaryPlus, 192(int)UnaryOperatorKind.LiftedUIntUnaryPlus, 193(int)UnaryOperatorKind.LiftedLongUnaryPlus, 194(int)UnaryOperatorKind.LiftedULongUnaryPlus, 195(int)UnaryOperatorKind.LiftedNIntUnaryPlus, 196(int)UnaryOperatorKind.LiftedNUIntUnaryPlus, 197(int)UnaryOperatorKind.LiftedFloatUnaryPlus, 198(int)UnaryOperatorKind.LiftedDoubleUnaryPlus, 199(int)UnaryOperatorKind.LiftedDecimalUnaryPlus, 203(int)UnaryOperatorKind.IntUnaryMinus, 204(int)UnaryOperatorKind.LongUnaryMinus, 205(int)UnaryOperatorKind.NIntUnaryMinus, 206(int)UnaryOperatorKind.FloatUnaryMinus, 207(int)UnaryOperatorKind.DoubleUnaryMinus, 208(int)UnaryOperatorKind.DecimalUnaryMinus, 209(int)UnaryOperatorKind.LiftedIntUnaryMinus, 210(int)UnaryOperatorKind.LiftedLongUnaryMinus, 211(int)UnaryOperatorKind.LiftedNIntUnaryMinus, 212(int)UnaryOperatorKind.LiftedFloatUnaryMinus, 213(int)UnaryOperatorKind.LiftedDoubleUnaryMinus, 214(int)UnaryOperatorKind.LiftedDecimalUnaryMinus, 218(int)UnaryOperatorKind.BoolLogicalNegation, 219(int)UnaryOperatorKind.LiftedBoolLogicalNegation, 223(int)UnaryOperatorKind.IntBitwiseComplement, 224(int)UnaryOperatorKind.UIntBitwiseComplement, 225(int)UnaryOperatorKind.LongBitwiseComplement, 226(int)UnaryOperatorKind.ULongBitwiseComplement, 227(int)UnaryOperatorKind.NIntBitwiseComplement, 228(int)UnaryOperatorKind.NUIntBitwiseComplement, 229(int)UnaryOperatorKind.LiftedIntBitwiseComplement, 230(int)UnaryOperatorKind.LiftedUIntBitwiseComplement, 231(int)UnaryOperatorKind.LiftedLongBitwiseComplement, 232(int)UnaryOperatorKind.LiftedULongBitwiseComplement, 233(int)UnaryOperatorKind.LiftedNIntBitwiseComplement, 234(int)UnaryOperatorKind.LiftedNUIntBitwiseComplement, 250case UnaryOperatorKind.NInt: 251case UnaryOperatorKind.NUInt: 259internal UnaryOperatorSignature GetSignature(UnaryOperatorKind kind) 264case UnaryOperatorKind.SByte: opType = _compilation.GetSpecialType(SpecialType.System_SByte); break; 265case UnaryOperatorKind.Byte: opType = _compilation.GetSpecialType(SpecialType.System_Byte); break; 266case UnaryOperatorKind.Short: opType = _compilation.GetSpecialType(SpecialType.System_Int16); break; 267case UnaryOperatorKind.UShort: opType = _compilation.GetSpecialType(SpecialType.System_UInt16); break; 268case UnaryOperatorKind.Int: opType = _compilation.GetSpecialType(SpecialType.System_Int32); break; 269case UnaryOperatorKind.UInt: opType = _compilation.GetSpecialType(SpecialType.System_UInt32); break; 270case UnaryOperatorKind.Long: opType = _compilation.GetSpecialType(SpecialType.System_Int64); break; 271case UnaryOperatorKind.ULong: opType = _compilation.GetSpecialType(SpecialType.System_UInt64); break; 272case UnaryOperatorKind.NInt: opType = _compilation.CreateNativeIntegerTypeSymbol(signed: true); break; 273case UnaryOperatorKind.NUInt: opType = _compilation.CreateNativeIntegerTypeSymbol(signed: false); break; 274case UnaryOperatorKind.Char: opType = _compilation.GetSpecialType(SpecialType.System_Char); break; 275case UnaryOperatorKind.Float: opType = _compilation.GetSpecialType(SpecialType.System_Single); break; 276case UnaryOperatorKind.Double: opType = _compilation.GetSpecialType(SpecialType.System_Double); break; 277case UnaryOperatorKind.Decimal: opType = _compilation.GetSpecialType(SpecialType.System_Decimal); break; 278case UnaryOperatorKind.Bool: opType = _compilation.GetSpecialType(SpecialType.System_Boolean); break;
Compilation\CSharpCompilation.cs (8)
4173var unaryKind = Binder.SyntaxKindToUnaryOperatorKind(SyntaxFacts.GetPrefixUnaryExpression(syntaxKind)); 4178var easyOutUnaryKind = OverloadResolution.UnopEasyOut.OpKind(unaryKind, csharpOperandType); 4180if (easyOutUnaryKind != UnaryOperatorKind.Error) 4194unaryKind is UnaryOperatorKind.PrefixIncrement or UnaryOperatorKind.PrefixDecrement or UnaryOperatorKind.BitwiseComplement && 4202unaryKind is UnaryOperatorKind.PrefixIncrement or UnaryOperatorKind.PrefixDecrement &&
Compilation\CSharpSemanticModel.cs (9)
2028UnaryOperatorKind operatorKind = @operator.OperatorKind; 2029return operatorKind == UnaryOperatorKind.UserDefinedTrue || operatorKind == UnaryOperatorKind.UserDefinedFalse; 3784UnaryOperatorKind operandType = unaryOperator.OperatorKind.OperandTypes(); 3787if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || unaryOperator.ResultKind != LookupResultKind.Viable) 3797UnaryOperatorKind op = unaryOperator.OperatorKind.Operator(); 3807UnaryOperatorKind operandType = increment.OperatorKind.OperandTypes(); 3810if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || increment.ResultKind != LookupResultKind.Viable) 3820UnaryOperatorKind op = increment.OperatorKind.Operator();
FlowAnalysis\AbstractFlowPass.cs (1)
2564if (node.OperatorKind == UnaryOperatorKind.BoolLogicalNegation)
FlowAnalysis\NullableWalker.cs (6)
9611var op = node.OperatorKind.Operator(); 9612TypeWithState resultType = (op == UnaryOperatorKind.PrefixIncrement || op == UnaryOperatorKind.PrefixDecrement) ? resultOfIncrementType : operandType; 10311case UnaryOperatorKind.BoolLogicalNegation: 10317case UnaryOperatorKind.DynamicTrue: 10323case UnaryOperatorKind.DynamicLogicalNegation:
Generated\BoundNodes.xml.Generated.cs (6)
1170public BoundUnaryOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false) 1187public UnaryOperatorKind OperatorKind { get; } 1198public BoundUnaryOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type) 1212public BoundIncrementOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false) 1232public UnaryOperatorKind OperatorKind { get; } 1246public BoundIncrementOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (10)
1046var opKind = node.OperatorKind; 1047var op = opKind & UnaryOperatorKind.OpMask; 1048var isChecked = (opKind & UnaryOperatorKind.Checked) != 0; 1053case UnaryOperatorKind.UnaryPlus: 1060case UnaryOperatorKind.UnaryMinus: 1063case UnaryOperatorKind.BitwiseComplement: 1064case UnaryOperatorKind.LogicalNegation: 1071if (node.OperatorKind.OperandTypes() == UnaryOperatorKind.Enum && (opKind & UnaryOperatorKind.Lifted) != 0)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (19)
334return MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, loweredRight, loweredRight.Type); 337return MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, loweredLeft, loweredLeft.Type); 348return MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, loweredRight, loweredRight.Type); 351return MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, loweredLeft, loweredLeft.Type); 362return MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, loweredRight, loweredRight.Type); 365return MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, loweredLeft, loweredLeft.Type); 618var testOperator = isAnd ? UnaryOperatorKind.DynamicFalse : UnaryOperatorKind.DynamicTrue; 624if (testOperator == UnaryOperatorKind.DynamicFalse && constantLeft == ConstantValue.False || 625testOperator == UnaryOperatorKind.DynamicTrue && constantLeft == ConstantValue.True) 667bool leftTestIsConstantFalse = testOperator == UnaryOperatorKind.DynamicFalse && constantLeft == ConstantValue.True || 668testOperator == UnaryOperatorKind.DynamicTrue && constantLeft == ConstantValue.False; 728return _dynamicFactory.MakeDynamicUnaryOperator(negative ? UnaryOperatorKind.DynamicFalse : UnaryOperatorKind.DynamicTrue, loweredLeft, boolean).ToExpression(); 745return new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, converted, ConstantValue.NotAvailable, MethodSymbol.None, constrainedToTypeOpt: null, LookupResultKind.Viable, boolean) 861MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, callHasValue, boolType) : 1777BoundExpression invert = MakeUnaryOperator(UnaryOperatorKind.BoolLogicalNegation, syntax, method: null, constrainedToTypeOpt: null, innerOr, boolType); 1910new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, null, constrainedToTypeOpt: null, LookupResultKind.Viable, returnType);
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (3)
558return _factory.Not(MakeUnaryOperator(UnaryOperatorKind.DynamicFalse, left.Syntax, method: null, constrainedToTypeOpt: null, dynamicResult, boolType)); 562return MakeUnaryOperator(UnaryOperatorKind.DynamicTrue, left.Syntax, method: null, constrainedToTypeOpt: null, dynamicResult, boolType); 578if (boolOperator.Kind != UnaryOperatorKind.Error)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (67)
33case UnaryOperatorKind.PrefixDecrement: 34case UnaryOperatorKind.PrefixIncrement: 35case UnaryOperatorKind.PostfixDecrement: 36case UnaryOperatorKind.PostfixIncrement: 51if (node.OperatorKind == UnaryOperatorKind.DynamicTrue && binaryOperator.OperatorKind == BinaryOperatorKind.DynamicLogicalOr || 52node.OperatorKind == UnaryOperatorKind.DynamicFalse && binaryOperator.OperatorKind == BinaryOperatorKind.DynamicLogicalAnd) 63UnaryOperatorKind kind, 75UnaryOperatorKind kind, 84Debug.Assert((kind == UnaryOperatorKind.DynamicTrue || kind == UnaryOperatorKind.DynamicFalse) && type.SpecialType == SpecialType.System_Boolean 94case UnaryOperatorKind.DynamicTrue: 96case UnaryOperatorKind.DynamicLogicalNegation: 114if (!_inExpressionLambda || kind == UnaryOperatorKind.UserDefinedTrue || kind == UnaryOperatorKind.UserDefinedFalse) 119else if (kind.Operator() == UnaryOperatorKind.UnaryPlus) 125if (kind == UnaryOperatorKind.EnumBitwiseComplement) 135UnaryOperatorKind newKind = kind.Operator().WithType(upconvertSpecialType); 159if (kind == UnaryOperatorKind.DecimalUnaryMinus) 174UnaryOperatorKind kind, 238UnaryOperatorKind operatorKind, 348private BoundExpression GetLiftedUnaryOperatorConsequence(UnaryOperatorKind kind, SyntaxNode syntax, MethodSymbol? method, TypeSymbol? constrainedToTypeOpt, TypeSymbol type, BoundExpression nonNullOperand) 372var op = node.OperatorKind.Operator(); 373return op == UnaryOperatorKind.PostfixIncrement || op == UnaryOperatorKind.PrefixIncrement; 378var op = node.OperatorKind.Operator(); 379return op == UnaryOperatorKind.PrefixIncrement || op == UnaryOperatorKind.PrefixDecrement; 571if (node.OperatorKind.OperandTypes() == UnaryOperatorKind.UserDefined) 752if (node.OperatorKind.OperandTypes() == UnaryOperatorKind.Pointer) 882UnaryOperatorKind kind = node.OperatorKind.OperandTypes(); 887if (kind == UnaryOperatorKind.Enum) 896case UnaryOperatorKind.Int: 899case UnaryOperatorKind.SByte: 902case UnaryOperatorKind.Short: 905case UnaryOperatorKind.Byte: 908case UnaryOperatorKind.UShort: 911case UnaryOperatorKind.Char: 914case UnaryOperatorKind.UInt: 917case UnaryOperatorKind.Long: 920case UnaryOperatorKind.ULong: 923case UnaryOperatorKind.NInt: 926case UnaryOperatorKind.NUInt: 929case UnaryOperatorKind.Float: 932case UnaryOperatorKind.Double: 935case UnaryOperatorKind.Decimal: 938case UnaryOperatorKind.Pointer: 940case UnaryOperatorKind.UserDefined: 941case UnaryOperatorKind.Bool: 962UnaryOperatorKind unaryOperatorKind = node.OperatorKind; 967case UnaryOperatorKind.Int: 968case UnaryOperatorKind.SByte: 969case UnaryOperatorKind.Short: 972case UnaryOperatorKind.Byte: 973case UnaryOperatorKind.UShort: 974case UnaryOperatorKind.Char: 975case UnaryOperatorKind.UInt: 978case UnaryOperatorKind.Long: 981case UnaryOperatorKind.ULong: 984case UnaryOperatorKind.NInt: 987case UnaryOperatorKind.NUInt: 990case UnaryOperatorKind.Float: 993case UnaryOperatorKind.Double: 996case UnaryOperatorKind.Decimal: //Dev10 special cased this, but we'll let DecimalRewriter handle it 999case UnaryOperatorKind.Enum: 1037case UnaryOperatorKind.Pointer: 1040case UnaryOperatorKind.UserDefined: 1041case UnaryOperatorKind.Bool:
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
115UnaryOperatorKind operatorKind,
Lowering\SyntheticBoundNodeFactory.cs (2)
1499return new BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.BoolLogicalNegation, expression, null, null, constrainedToTypeOpt: null, LookupResultKind.Viable, expression.Type); 1742new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null, LookupResultKind.Viable, returnType);
Operations\CSharpOperationFactory_Methods.cs (13)
415internal static bool IsPostfixIncrementOrDecrement(CSharp.UnaryOperatorKind operatorKind) 419case CSharp.UnaryOperatorKind.PostfixIncrement: 420case CSharp.UnaryOperatorKind.PostfixDecrement: 428internal static bool IsDecrement(CSharp.UnaryOperatorKind operatorKind) 432case CSharp.UnaryOperatorKind.PrefixDecrement: 433case CSharp.UnaryOperatorKind.PostfixDecrement: 441internal static UnaryOperatorKind DeriveUnaryOperatorKind(CSharp.UnaryOperatorKind operatorKind) 445case CSharp.UnaryOperatorKind.UnaryPlus: 448case CSharp.UnaryOperatorKind.UnaryMinus: 451case CSharp.UnaryOperatorKind.LogicalNegation: 454case CSharp.UnaryOperatorKind.BitwiseComplement: 457case CSharp.UnaryOperatorKind.True: 460case CSharp.UnaryOperatorKind.False:
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (10)
Emit\NumericIntPtrTests.cs (10)
1495UnaryOperatorKind.PostfixIncrement, 1496UnaryOperatorKind.PostfixDecrement, 1497UnaryOperatorKind.PrefixIncrement, 1498UnaryOperatorKind.PrefixDecrement, 1499UnaryOperatorKind.UnaryPlus, 1500UnaryOperatorKind.UnaryMinus, 1501UnaryOperatorKind.BitwiseComplement, 1525foreach (var operatorKind in unaryOperators) 1537static void verifyUnaryOperators(CSharpCompilation comp, UnaryOperatorKind operatorKind, bool skipNativeIntegerOperators) 1543int expectedUnsigned = skipNativeIntegerOperators ? 0 : (operatorKind == UnaryOperatorKind.UnaryMinus) ? 0 : 1;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (42)
Semantics\NativeIntegerTests.cs (10)
4744UnaryOperatorKind.PostfixIncrement, 4745UnaryOperatorKind.PostfixDecrement, 4746UnaryOperatorKind.PrefixIncrement, 4747UnaryOperatorKind.PrefixDecrement, 4748UnaryOperatorKind.UnaryPlus, 4749UnaryOperatorKind.UnaryMinus, 4750UnaryOperatorKind.BitwiseComplement, 4774foreach (var operatorKind in unaryOperators) 4786static void verifyUnaryOperators(CSharpCompilation comp, UnaryOperatorKind operatorKind, bool skipNativeIntegerOperators) 4792int expectedUnsigned = skipNativeIntegerOperators ? 0 : (operatorKind == UnaryOperatorKind.UnaryMinus) ? 0 : 1;
Semantics\OperatorTests.cs (32)
7396UnaryOperatorKind[] operators = 7398UnaryOperatorKind.PostfixIncrement, 7399UnaryOperatorKind.PostfixDecrement, 7400UnaryOperatorKind.PrefixIncrement, 7401UnaryOperatorKind.PrefixDecrement, 7402UnaryOperatorKind.UnaryPlus, 7403UnaryOperatorKind.UnaryMinus, 7404UnaryOperatorKind.LogicalNegation, 7405UnaryOperatorKind.BitwiseComplement 7453if (operators[k] == UnaryOperatorKind.PostfixDecrement || operators[k] == UnaryOperatorKind.PostfixIncrement) 7509foreach (var op in operators) 7528UnaryOperatorKind op, 7562if (op == UnaryOperatorKind.BitwiseComplement || 7563op == UnaryOperatorKind.PrefixDecrement || op == UnaryOperatorKind.PrefixIncrement || 7564op == UnaryOperatorKind.PostfixDecrement || op == UnaryOperatorKind.PostfixIncrement) 7569UnaryOperatorKind result = OverloadResolution.UnopEasyOut.OpKind(op, underlying); 7572if (result == UnaryOperatorKind.Error) 7576signature = new UnaryOperatorSignature(op | UnaryOperatorKind.Dynamic, type, type); 7579(op == UnaryOperatorKind.PrefixDecrement || op == UnaryOperatorKind.PrefixIncrement || 7580op == UnaryOperatorKind.PostfixDecrement || op == UnaryOperatorKind.PostfixIncrement)) 7582signature = new UnaryOperatorSignature(op | UnaryOperatorKind.Pointer, type, type); 7611if (op == UnaryOperatorKind.LogicalNegation && type.IsEnumType()) 7628case UnaryOperatorKind.UnaryMinus: 7632case UnaryOperatorKind.PrefixDecrement: 7633case UnaryOperatorKind.PrefixIncrement: 7634case UnaryOperatorKind.PostfixDecrement: 7635case UnaryOperatorKind.PostfixIncrement: