234 references to UnaryOperatorKind
Microsoft.CodeAnalysis.VisualBasic (224)
Analysis\FlowAnalysis\AbstractFlowPass.vb (1)
2271If node.OperatorKind = UnaryOperatorKind.Not Then
Binding\Binder_Conversions.vb (1)
371Dim isTrue As BoundUserDefinedUnaryOperator = BindUserDefinedUnaryOperator(node, UnaryOperatorKind.IsTrue, argument, isTrueOperator, diagnostics)
Binding\Binder_Operators.vb (12)
739UnaryOperatorKind.IsFalse, 740UnaryOperatorKind.IsTrue), 1107Dim preliminaryOperatorKind As UnaryOperatorKind = OverloadResolution.MapUnaryOperatorKind(node.Kind) 1127Dim operatorKind As UnaryOperatorKind = OverloadResolution.ResolveUnaryOperator(preliminaryOperatorKind, operand, Me, intrinsicOperatorType, userDefinedOperator, useSiteInfo) 1134If operatorKind = UnaryOperatorKind.UserDefined Then 1145operatorKind = UnaryOperatorKind.Error 1148If operatorKind = UnaryOperatorKind.Error Then 1151Return New BoundUnaryOperator(node, preliminaryOperatorKind Or UnaryOperatorKind.Error, operand, CheckOverflow, ErrorTypeSymbol.UnknownResultType, HasErrors:=True) 1174Debug.Assert(((operatorKind And UnaryOperatorKind.Lifted) <> 0) = resultType.IsNullableType()) 1209opKind As UnaryOperatorKind, 1218opKind = opKind Or UnaryOperatorKind.UserDefined 1235opKind = opKind Or UnaryOperatorKind.Lifted
Binding\DocumentationCommentCrefBinder.vb (7)
903Dim opInfo As New OverloadResolution.OperatorInfo(UnaryOperatorKind.IsTrue) 909Dim opInfo As New OverloadResolution.OperatorInfo(UnaryOperatorKind.IsFalse) 915Dim opInfo As New OverloadResolution.OperatorInfo(UnaryOperatorKind.Not) 924Dim opInfo As New OverloadResolution.OperatorInfo(UnaryOperatorKind.Plus) 933Dim opInfo As New OverloadResolution.OperatorInfo(UnaryOperatorKind.Minus) 1064WellKnownMemberNames.ImplicitConversionName, New OverloadResolution.OperatorInfo(UnaryOperatorKind.Implicit), 1066WellKnownMemberNames.ExplicitConversionName, New OverloadResolution.OperatorInfo(UnaryOperatorKind.Explicit))
BoundTree\BoundUnaryOperator.vb (5)
15operatorKind As UnaryOperatorKind, 34If (OperatorKind And UnaryOperatorKind.Error) = 0 Then 35Dim op As UnaryOperatorKind = (OperatorKind And UnaryOperatorKind.OpMask) 39Dim isChecked = Checked AndAlso operandType.IsIntegralType() AndAlso op = UnaryOperatorKind.Minus
BoundTree\BoundUserDefinedUnaryOperator.vb (2)
28Debug.Assert((OperatorKind And UnaryOperatorKind.UserDefined) <> 0) 38If (OperatorKind And UnaryOperatorKind.Lifted) <> 0 Then
CodeGen\EmitConversion.vb (3)
130Select Case (DirectCast(conversion.Operand, BoundUnaryOperator).OperatorKind And UnaryOperatorKind.IntrinsicOpMask) 131Case UnaryOperatorKind.Minus, 132UnaryOperatorKind.Plus
CodeGen\EmitOperators.vb (6)
15Debug.Assert((expression.OperatorKind And Not UnaryOperatorKind.IntrinsicOpMask) = 0 AndAlso expression.OperatorKind <> 0) 23Case UnaryOperatorKind.Minus 53Case UnaryOperatorKind.Not 76Case UnaryOperatorKind.Plus 88expression.OperatorKind = UnaryOperatorKind.Minus AndAlso 596Debug.Assert(unOp.OperatorKind = UnaryOperatorKind.Not AndAlso unOp.Type.IsBooleanType())
CodeGen\EmitStatement.vb (1)
758If (unOp.OperatorKind = UnaryOperatorKind.Not) Then
CodeGen\Optimizer\StackScheduler.Analyzer.vb (2)
1001If node.Checked AndAlso (node.OperatorKind And UnaryOperatorKind.OpMask) = UnaryOperatorKind.Minus Then
Compilation\VisualBasicCompilation.vb (4)
3028opInfo.UnaryOperatorKind = UnaryOperatorKind.Not AndAlso 3037If opInfo.UnaryOperatorKind = UnaryOperatorKind.Not OrElse 3038opInfo.UnaryOperatorKind = UnaryOperatorKind.Plus OrElse 3039opInfo.UnaryOperatorKind = UnaryOperatorKind.Minus Then
Generated\BoundNodes.xml.Generated.vb (8)
1358Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False) 1376Private ReadOnly _OperatorKind As UnaryOperatorKind 1377Public ReadOnly Property OperatorKind As UnaryOperatorKind 1409Public Function Update(operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundUnaryOperator 1422Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 1438Private ReadOnly _OperatorKind As UnaryOperatorKind 1439Public ReadOnly Property OperatorKind As UnaryOperatorKind 1457Public Function Update(operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol) As BoundUserDefinedUnaryOperator
Lowering\Diagnostics\DiagnosticsPass_ExpressionLambdas.vb (6)
34Dim opKind As UnaryOperatorKind = node.OperatorKind And UnaryOperatorKind.OpMask 35Dim isLifted As Boolean = (node.OperatorKind And UnaryOperatorKind.Lifted) <> 0 38Case UnaryOperatorKind.Minus, 39UnaryOperatorKind.Plus, 40UnaryOperatorKind.Not
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (6)
664Private Function AdjustCallForLiftedOperator(opKind As UnaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol) As BoundExpression 665Debug.Assert((opKind And UnaryOperatorKind.Lifted) <> 0) 666Debug.Assert((opKind And UnaryOperatorKind.OpMask) = UnaryOperatorKind.IsTrue OrElse 667(opKind And UnaryOperatorKind.OpMask) = UnaryOperatorKind.IsFalse)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (35)
31Dim opKind As UnaryOperatorKind = node.OperatorKind And UnaryOperatorKind.OpMask 35Debug.Assert((node.OperatorKind And UnaryOperatorKind.UserDefined) = 0) 38Case UnaryOperatorKind.Plus 49Case UnaryOperatorKind.Minus 53Case UnaryOperatorKind.Not 114Dim opKind As UnaryOperatorKind = userDefinedOperator.OperatorKind 115If (opKind And UnaryOperatorKind.OpMask) <> UnaryOperatorKind.IsTrue OrElse (opKind And UnaryOperatorKind.Lifted) = 0 Then 141Private Function BuildLambdaBodyForCoalesce(opKind As UnaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol, lambdaParameter As ParameterSymbol) As BoundExpression 163Dim opKind As UnaryOperatorKind = node.OperatorKind And UnaryOperatorKind.OpMask 164Dim isLifted As Boolean = (node.OperatorKind And UnaryOperatorKind.Lifted) <> 0 167Case UnaryOperatorKind.IsTrue, 168UnaryOperatorKind.IsFalse 171Case UnaryOperatorKind.Minus, 172UnaryOperatorKind.Plus, 173UnaryOperatorKind.Not 189Dim opKind As UnaryOperatorKind = node.OperatorKind 191If (opKind And UnaryOperatorKind.Lifted) = 0 Then 202Private Function GetHelperForDecimalUnaryOperation(opKind As UnaryOperatorKind) As MethodSymbol 203opKind = opKind And UnaryOperatorKind.OpMask 207Case UnaryOperatorKind.Minus, 208UnaryOperatorKind.Not 218Private Function GetHelperForObjectUnaryOperation(opKind As UnaryOperatorKind) As MethodSymbol 219opKind = opKind And UnaryOperatorKind.OpMask 223Case UnaryOperatorKind.Plus 225Case UnaryOperatorKind.Minus 227Case UnaryOperatorKind.Not 240Private Shared Function GetUnaryOperatorMethodName(opKind As UnaryOperatorKind, isChecked As Boolean) As String 241Select Case (opKind And UnaryOperatorKind.OpMask) 242Case UnaryOperatorKind.Not 244Case UnaryOperatorKind.Plus 246Case UnaryOperatorKind.Minus
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.vb (5)
395If (unaryOperator.OperatorKind And UnaryOperatorKind.UserDefined) = 0 Then 396Select Case (unaryOperator.OperatorKind And UnaryOperatorKind.IntrinsicOpMask) 397Case UnaryOperatorKind.Minus, 398UnaryOperatorKind.Plus, 399UnaryOperatorKind.Not
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (4)
1004UnaryOperatorKind.Not, 1129New BoundUnaryOperator(syntax, UnaryOperatorKind.Not, 1273UnaryOperatorKind.Not, 1359UnaryOperatorKind.Not,
Lowering\LocalRewriter\LocalRewriter_UnaryOperators.vb (13)
72If (node.OperatorKind And UnaryOperatorKind.Lifted) <> 0 Then 80If (node.OperatorKind And UnaryOperatorKind.Lifted) = 0 OrElse _inExpressionLambda Then 95Dim kind As UnaryOperatorKind = node.OperatorKind 97If Not node.HasErrors AndAlso ((kind And UnaryOperatorKind.Lifted) = 0) AndAlso (kind <> UnaryOperatorKind.Error) AndAlso Not _inExpressionLambda Then 114Dim opKind = (node.OperatorKind And UnaryOperatorKind.IntrinsicOpMask) 118If opKind = UnaryOperatorKind.Plus Then 120ElseIf opKind = UnaryOperatorKind.Minus Then 123Debug.Assert(opKind = UnaryOperatorKind.Not) 142Dim opKind = (node.OperatorKind And UnaryOperatorKind.IntrinsicOpMask) 144If opKind = UnaryOperatorKind.Plus Then 147Debug.Assert(opKind = UnaryOperatorKind.Minus) 316Dim unliftedOpKind = originalOperator.OperatorKind And (Not UnaryOperatorKind.Lifted)
Lowering\SyntheticBoundNodeFactory.vb (1)
1052Return New BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.Not, expression, False, expression.Type)
Operations\VisualBasicOperationFactory.vb (2)
505Dim isLifted As Boolean = (boundUnaryOperator.OperatorKind And VisualBasic.UnaryOperatorKind.Lifted) <> 0 518Dim isLifted As Boolean = (boundUserDefinedUnaryOperator.OperatorKind And VisualBasic.UnaryOperatorKind.Lifted) <> 0
Operations\VisualBasicOperationFactory_Methods.vb (7)
616Friend Shared Function DeriveUnaryOperatorKind(operatorKind As VisualBasic.UnaryOperatorKind) As UnaryOperatorKind 617Select Case operatorKind And VisualBasic.UnaryOperatorKind.OpMask 618Case VisualBasic.UnaryOperatorKind.Plus 620Case VisualBasic.UnaryOperatorKind.Minus 622Case VisualBasic.UnaryOperatorKind.Not 624Case VisualBasic.UnaryOperatorKind.IsTrue 626Case VisualBasic.UnaryOperatorKind.IsFalse
Semantics\Operators.vb (83)
31Public Sub New(op As UnaryOperatorKind) 57Public ReadOnly Property UnaryOperatorKind As UnaryOperatorKind 60Return UnaryOperatorKind.Error 63Return CType(_Id >> 2, UnaryOperatorKind) 91operators.Add(WellKnownMemberNames.OnesComplementOperatorName, New OperatorInfo(UnaryOperatorKind.Not)) 92operators.Add(WellKnownMemberNames.TrueOperatorName, New OperatorInfo(UnaryOperatorKind.IsTrue)) 93operators.Add(WellKnownMemberNames.FalseOperatorName, New OperatorInfo(UnaryOperatorKind.IsFalse)) 94operators.Add(WellKnownMemberNames.UnaryPlusOperatorName, New OperatorInfo(UnaryOperatorKind.Plus)) 96operators.Add(WellKnownMemberNames.UnaryNegationOperatorName, New OperatorInfo(UnaryOperatorKind.Minus)) 116operators.Add(WellKnownMemberNames.ImplicitConversionName, New OperatorInfo(UnaryOperatorKind.Implicit)) 117operators.Add(WellKnownMemberNames.ExplicitConversionName, New OperatorInfo(UnaryOperatorKind.Explicit)) 120operators.Add(WellKnownMemberNames.LogicalNotOperatorName, New OperatorInfo(UnaryOperatorKind.Not)) 142Friend Shared Function GetOperatorTokenKind(op As UnaryOperatorKind) As SyntaxKind 144Case UnaryOperatorKind.IsFalse 146Case UnaryOperatorKind.IsTrue 148Case UnaryOperatorKind.Minus 150Case UnaryOperatorKind.Not 152Case UnaryOperatorKind.Plus 154Case UnaryOperatorKind.Implicit, UnaryOperatorKind.Explicit 270Friend Shared Function TryGetOperatorName(op As UnaryOperatorKind, isChecked As Boolean) As String 272Select Case (op And UnaryOperatorKind.OpMask) 273Case UnaryOperatorKind.Plus 275Case UnaryOperatorKind.Minus 277Case UnaryOperatorKind.Not 279Case UnaryOperatorKind.Implicit 281Case UnaryOperatorKind.Explicit 283Case UnaryOperatorKind.IsTrue 285Case UnaryOperatorKind.IsFalse 323Case UnaryOperatorKind.Implicit, UnaryOperatorKind.Explicit 334Case UnaryOperatorKind.IsTrue 341Case UnaryOperatorKind.IsFalse 477Public Shared Function MapUnaryOperatorKind(opCode As SyntaxKind) As UnaryOperatorKind 478Dim result As UnaryOperatorKind 482result = UnaryOperatorKind.Plus 484result = UnaryOperatorKind.Minus 486result = UnaryOperatorKind.Not 498opCode As UnaryOperatorKind, 504) As UnaryOperatorKind 505Debug.Assert((opCode And UnaryOperatorKind.IntrinsicOpMask) = opCode AndAlso opCode <> UnaryOperatorKind.Error) 507opCode = (opCode And UnaryOperatorKind.IntrinsicOpMask) 524Return UnaryOperatorKind.Error 539Return UnaryOperatorKind.Error 543Return UnaryOperatorKind.UserDefined 546Return UnaryOperatorKind.Error 549Dim result As UnaryOperatorKind = UnaryOperatorKind.Error 551If operandIsEnum AndAlso opCode = UnaryOperatorKind.Not AndAlso sourceType.IsIntegralType() Then 555result = UnaryOperatorKind.Not 564If result <> UnaryOperatorKind.Error AndAlso operandIsNullable Then 565result = result Or UnaryOperatorKind.Lifted 575opCode As UnaryOperatorKind, 582Case UnaryOperatorKind.Not 613Case UnaryOperatorKind.Plus 645Case UnaryOperatorKind.Minus 703op As UnaryOperatorKind, 734Select Case (op And UnaryOperatorKind.IntrinsicOpMask) 735Case UnaryOperatorKind.Plus 737Case UnaryOperatorKind.Minus 745Case UnaryOperatorKind.Not 757integerOverflow = (op And UnaryOperatorKind.IntrinsicOpMask) = UnaryOperatorKind.Minus AndAlso (integerOverflow OrElse detectedIntegerOverflow) 762Select Case (op And UnaryOperatorKind.IntrinsicOpMask) 763Case UnaryOperatorKind.Plus 765Case UnaryOperatorKind.Minus 787Select Case (op And UnaryOperatorKind.IntrinsicOpMask) 788Case UnaryOperatorKind.Plus 790Case UnaryOperatorKind.Minus 801Debug.Assert((op And UnaryOperatorKind.IntrinsicOpMask) = UnaryOperatorKind.Not) 2837WellKnownMemberNames.ImplicitConversionName, New OperatorInfo(UnaryOperatorKind.Implicit), 2838WellKnownMemberNames.ExplicitConversionName, New OperatorInfo(UnaryOperatorKind.Explicit), 2956WellKnownMemberNames.TrueOperatorName, New OperatorInfo(UnaryOperatorKind.IsTrue), 2970WellKnownMemberNames.FalseOperatorName, New OperatorInfo(UnaryOperatorKind.IsFalse), 2982opKind As UnaryOperatorKind, 2990Case UnaryOperatorKind.Not 2991Dim opInfo As New OperatorInfo(UnaryOperatorKind.Not) 2996Case UnaryOperatorKind.Minus 2998WellKnownMemberNames.UnaryNegationOperatorName, New OperatorInfo(UnaryOperatorKind.Minus), 3001Case UnaryOperatorKind.Plus 3003WellKnownMemberNames.UnaryPlusOperatorName, New OperatorInfo(UnaryOperatorKind.Minus),
SymbolDisplay\SymbolDisplayVisitor.Members.vb (1)
400If (opInfo.IsUnary AndAlso opInfo.UnaryOperatorKind <> UnaryOperatorKind.Error) OrElse
Symbols\Metadata\PE\PEMethodSymbol.vb (7)
427Case UnaryOperatorKind.Implicit 429Case UnaryOperatorKind.Explicit 431Case UnaryOperatorKind.IsFalse, UnaryOperatorKind.IsTrue, UnaryOperatorKind.Minus, UnaryOperatorKind.Plus 433Case UnaryOperatorKind.Not
Symbols\Source\SourceMemberContainerTypeSymbol.vb (2)
3654Case UnaryOperatorKind.IsTrue 3656Case UnaryOperatorKind.IsFalse
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (10)
Semantics\OverloadResolution.vb (3)
198Dim intVal As BoundExpression = New BoundUnaryOperator(_syntaxNode, UnaryOperatorKind.Minus, intZero, False, intZero.Type) 203Dim doubleVal As BoundExpression = New BoundUnaryOperator(_syntaxNode, UnaryOperatorKind.Minus, doubleConst, False, doubleConst.Type) 3076Dim intVal As BoundExpression = New BoundUnaryOperator(_syntaxNode, UnaryOperatorKind.Minus, IntegerMaxValue, False, IntegerMaxValue.Type)
Semantics\UnaryOperators.vb (7)
595Dim operators() As UnaryOperatorKind = 597UnaryOperatorKind.Plus, 598UnaryOperatorKind.Minus, 599UnaryOperatorKind.Not 692op As UnaryOperatorKind, 739If op = UnaryOperatorKind.Not AndAlso type.IsEnumType() Then 763Assert.Equal(op = UnaryOperatorKind.Minus AndAlso symbol1.ContainingType.IsIntegralType(),