88 references to StrippedType
Microsoft.CodeAnalysis.CSharp (82)
Binder\Binder_Conversions.cs (1)
346BoundExpression expr = bindObjectCreationExpression(node.Syntax, node.InitializerOpt, node.Binder, destination.StrippedType(), arguments, diagnostics);
Binder\Binder_Operators.cs (2)
1128bool typeMatchesContainer = TypeSymbol.Equals(signature.ReturnType.StrippedType(), t, TypeCompareKind.ConsiderEverything2) || 1130SourceUserDefinedOperatorSymbol.IsSelfConstrainedTypeParameter((definition = signature.Method.OriginalDefinition).ReturnType.StrippedType(), definition.ContainingType));
Binder\Binder_Patterns.cs (6)
300TypeSymbol narrowedType = inputType.StrippedType(); 933return TypeWithAnnotations.Create(inputType.StrippedType(), NullableAnnotation.NotAnnotated); 1036narrowedType: boundDeclType?.Type ?? inputType.StrippedType(), hasErrors); 1368var strippedInputType = inputType.StrippedType(); 1422isExplicitNotNullTest: false, inputType: inputType, narrowedType: inputType.StrippedType(), hasErrors: hasErrors); 1512symbol = BindPropertyPatternMember(receiver.Type.StrippedType(), name, ref hasErrors, diagnostics);
Binder\Binder_TupleOperators.cs (3)
332Debug.Assert(targetType.StrippedType().IsTupleType); 362if (type.StrippedType() is { IsTupleType: true } tupleType) 383TypeSymbol tupleType = expr.Type.StrippedType();
Binder\DecisionDagBuilder.cs (3)
455TypeSymbol inputType = input.Type.StrippedType(); // since a null check has already been done 520var inputType = recursive.DeclaredType?.Type ?? input.Type.StrippedType(); 611input = MakeConvertToType(input, member.Syntax, member.Receiver.Type.StrippedType(), isExplicitTest: false, tests);
Binder\DecisionDagBuilder_ListPatterns.cs (1)
17input.Type.StrippedType().Equals(list.NarrowedType, TypeCompareKind.ConsiderEverything) &&
Binder\Semantics\Conversions\ConversionsBase.cs (10)
487return Conversion.MakeNullableConversion(convKind, FastClassifyConversion(source.StrippedType(), target.StrippedType())); 884var strippedSource = source.StrippedType(); 885var strippedDestination = destination.StrippedType(); 2010var s0 = source.StrippedType(); 2011var t0 = target.StrippedType(); 2106TypeSymbol unwrappedSource = source.StrippedType(); 2302TypeSymbol unwrappedSource = source.StrippedType(); 2303TypeSymbol unwrappedDestination = destination.StrippedType(); 3666return IsIntegerTypeSupportingPointerConversions(destination.StrippedType());
Binder\Semantics\Conversions\UserDefinedConversions.cs (1)
87type = type.StrippedType();
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (5)
67TypeSymbol leftOperatorSourceOpt = left.Type?.StrippedType(); 68TypeSymbol rightOperatorSourceOpt = right.Type?.StrippedType(); 505bool isExactSubtraction = TypeSymbol.Equals(right.Type?.StrippedType(), underlying, TypeCompareKind.ConsiderEverything2); 612leftType = leftType.StrippedType(); 618rightType = rightType.StrippedType();
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (2)
300enumType = enumType.StrippedType(); 377TypeSymbol type0 = operand.Type.StrippedType();
BoundTree\TupleBinaryOperatorInfo.cs (2)
111Debug.Assert(leftConvertedTypeOpt is null || leftConvertedTypeOpt.StrippedType().IsTupleType); 112Debug.Assert(rightConvertedTypeOpt is null || rightConvertedTypeOpt.StrippedType().IsTupleType);
Compilation\CSharpSemanticModel.cs (7)
3798symbols = ImmutableArray.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(unaryOperator.Operand.Type.StrippedType(), 3800unaryOperator.Type.StrippedType())); 3821symbols = ImmutableArray.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(increment.Operand.Type.StrippedType(), 3823increment.Type.StrippedType())); 3876leftType = leftType.StrippedType(); 3877rightType = rightType.StrippedType(); 3878returnType = returnType.StrippedType();
FlowAnalysis\NullableWalker.cs (4)
4749derivedType = derivedType.StrippedType(); 5161BoundNullCoalescingOperatorResultKind.LeftUnwrappedType => getLeftResultType(leftResultType!.StrippedType(), rightResultType!), 5163BoundNullCoalescingOperatorResultKind.LeftUnwrappedRightType => getResultStateWithRightType(leftResultType!.StrippedType(), rightResultType!), 10343method = (MethodSymbol)AsMemberOfType(operandType.Type!.StrippedType(), method);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (6)
444var promotedType = PromotedType(enumOperand.Type.StrippedType().GetEnumUnderlyingType()); 473conversion.Type.StrippedType().IsEnumType()) 533if (e.StrippedType().TypeKind == TypeKind.Enum) 631var strippedOperandType = operandType.StrippedType(); 635!TypeSymbol.Equals(strippedOperandType, ((node.ConversionKind == ConversionKind.ExplicitUserDefined) ? conversionInputType : conversionInputType.StrippedType()), TypeCompareKind.ConsiderEverything2); 1074var promotedType = PromotedType(arg.Type.StrippedType().GetEnumUnderlyingType());
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (8)
621type.StrippedType().EnumUnderlyingTypeOrSelf().SpecialType; 866when convertedArgument.Type!.Equals(expression.Type.StrippedType(), TypeCompareKind.AllIgnoreOptions): 882type: conversion.Type.StrippedType(), 962TypeSymbol typeFrom = rewrittenOperandType.StrippedType(); 963TypeSymbol typeTo = rewrittenType.StrippedType(); 1359rewrittenOperand = MakeConversionNode(rewrittenOperand, source.StrippedType(), @checked, markAsChecked: true); 1387TypeSymbol t0 = target.StrippedType(); 1388TypeSymbol s0 = source.StrippedType();
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (1)
112Debug.Assert(transformedLHS.Type.GetNullableUnderlyingType().Equals(tmp.Type.StrippedType(), TypeCompareKind.AllIgnoreOptions));
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (2)
90expr.Type is { } exprType && exprType.IsNullableType() && exprType.StrippedType().Equals(o.Type, TypeCompareKind.AllIgnoreOptions): 371value = new BoundDefaultExpression(expr.Syntax, expr.Type.StrippedType());
Operations\CSharpOperationFactory.cs (4)
1529boundNullCoalescingOperator.Type.Equals(boundNullCoalescingOperator.LeftOperand.Type?.StrippedType(), TypeCompareKind.IgnoreCustomModifiersAndArraySizesAndLowerBounds | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes)) 2438ITypeSymbol matchedType = (boundRecursivePattern.DeclaredType?.Type ?? boundRecursivePattern.InputType.StrippedType()).GetPublicSymbol(); 2465boundITuplePattern.InputType.StrippedType().GetPublicSymbol(), 2783=> member.Receiver?.Type.StrippedType().GetPublicSymbol() ?? matchedType;
Symbols\Source\ParameterHelpers.cs (1)
795(defaultExpression.IsImplicitObjectCreation() ? convertedExpression.Type.StrippedType() : defaultExpression.Type), parameterSyntax.Identifier.ValueText);
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (11)
442var source0 = source.StrippedType(); 443var target0 = target.StrippedType(); 600if (!MatchesContainingType(this.GetParameterType(0).StrippedType())) 620if (!MatchesContainingType(this.GetParameterType(0).StrippedType())) 670if (!MatchesContainingType(parameterType.StrippedType())) 718if (!MatchesContainingType(this.GetParameterType(0).StrippedType())) 724else if (this.GetParameterType(1).StrippedType().SpecialType != SpecialType.System_Int32) 737if (!MatchesContainingType(this.GetParameterType(0).StrippedType()) && 738!MatchesContainingType(this.GetParameterType(1).StrippedType())) 749if (!IsSelfConstrainedTypeParameter(this.GetParameterType(0).StrippedType()) && 750!IsSelfConstrainedTypeParameter(this.GetParameterType(1).StrippedType()))
Symbols\TypeSymbolExtensions.cs (1)
170return type?.StrippedType().IsNativeIntegerType == true;
Symbols\TypeWithAnnotations.cs (1)
877internal override TypeSymbol GetNullableUnderlyingTypeOrSelf(TypeSymbol typeSymbol) => typeSymbol.StrippedType();
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (3)
Semantics\NullableReferenceTypesTests.cs (3)
11722Assert.True(m1.Parameters[0].Type.StrippedType().IsValueType); 11757Assert.False(m1.Parameters[0].Type.StrippedType().IsValueType); 11758Assert.False(m1.Parameters[0].Type.StrippedType().IsReferenceType);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (3)
Symbols\TypeTests.cs (3)
1519underType = memType.StrippedType(); 1528underType = memType.StrippedType(); 1552underType = memType.StrippedType();