106 references to StrippedType
Microsoft.CodeAnalysis.CSharp (100)
Binder\Binder_Conversions.cs (3)
815BoundExpression expr = bindObjectCreationExpression(node.Syntax, node.InitializerOpt, node.Binder, destination.StrippedType(), arguments, diagnostics); 2702Debug.Assert(TypeSymbol.Equals(destination.StrippedType(), analysis.Operator.ContainingType, TypeCompareKind.AllIgnoreOptions)); 2703Debug.Assert(TypeSymbol.Equals(destination.StrippedType(), analysis.ToType, TypeCompareKind.AllIgnoreOptions));
Binder\Binder_Operators.cs (2)
1765bool typeMatchesContainer = TypeSymbol.Equals(signature.ReturnType.StrippedType(), t, TypeCompareKind.ConsiderEverything2) || 1767SourceUserDefinedOperatorSymbol.IsSelfConstrainedTypeParameter((definition = signature.Method.OriginalDefinition).ReturnType.StrippedType(), definition.ContainingType));
Binder\Binder_Patterns.cs (7)
519TypeSymbol narrowedType = inputType.StrippedType(); 816var strippedInputType = inputType.StrippedType(); 1308return TypeWithAnnotations.Create(inputType.StrippedType(), NullableAnnotation.NotAnnotated); 1422narrowedType: boundDeclType?.Type ?? inputType.StrippedType(), hasErrors); 1776var strippedInputType = inputType.StrippedType(); 1833isExplicitNotNullTest: false, isUnionMatching: isUnionMatching, inputType: unionMatchingInputType ?? inputType, narrowedType: inputType.StrippedType(), hasErrors: hasErrors); 1946symbol = BindPropertyPatternMember(receiver.Type.StrippedType(), name, ref hasErrors, diagnostics);
Binder\Binder_TupleOperators.cs (3)
339Debug.Assert(targetType.StrippedType().IsTupleType); 369if (type.StrippedType() is { IsTupleType: true } tupleType) 390TypeSymbol tupleType = expr.Type.StrippedType();
Binder\DecisionDagBuilder.cs (3)
830TypeSymbol inputType = input.Type.StrippedType(); // since a null check has already been done 929var inputType = recursive.DeclaredType?.Type ?? inputTempType.StrippedType(); 1042input = (BoundDagTemp)MakeConvertToType((TestInputOutputInfo)input, member.Syntax, member.Receiver.Type.StrippedType(), isExplicitTest: false, tests);
Binder\DecisionDagBuilder_CheckOrReachability.cs (1)
995new BoundTypeExpression(recursivePattern.Syntax, aliasOpt: null, recursivePattern.InputType.StrippedType()),
Binder\DecisionDagBuilder_ListPatterns.cs (1)
20inputType.StrippedType().Equals(list.NarrowedType, TypeCompareKind.ConsiderEverything) &&
Binder\ForEachLoopBinder.cs (1)
931(originalCollectionExpr.Type?.IsNullableType() == true && originalCollectionExpr.Type.StrippedType().Equals(collectionExpr.Type, TypeCompareKind.AllIgnoreOptions)));
Binder\Semantics\Conversions\ConversionsBase.cs (10)
496return Conversion.MakeNullableConversion(convKind, FastClassifyConversion(source.StrippedType(), target.StrippedType())); 930var strippedSource = source.StrippedType(); 931var strippedDestination = destination.StrippedType(); 2173var s0 = source.StrippedType(); 2174var t0 = target.StrippedType(); 2269TypeSymbol unwrappedSource = source.StrippedType(); 2471TypeSymbol unwrappedSource = source.StrippedType(); 2472TypeSymbol unwrappedDestination = destination.StrippedType(); 3925return IsIntegerTypeSupportingPointerConversions(destination.StrippedType());
Binder\Semantics\Conversions\UserDefinedConversions.cs (1)
87type = type.StrippedType();
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (1)
994if (target.StrippedType() is not NamedTypeSymbol namedTarget || !namedTarget.IsUnionType)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (5)
78TypeSymbol leftOperatorSourceOpt = left.Type?.StrippedType(); 79TypeSymbol rightOperatorSourceOpt = right.Type?.StrippedType(); 517bool isExactSubtraction = TypeSymbol.Equals(right.Type?.StrippedType(), underlying, TypeCompareKind.ConsiderEverything2); 624leftType = leftType.StrippedType(); 630rightType = rightType.StrippedType();
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (2)
559enumType = enumType.StrippedType(); 643return GetUserDefinedOperators(operand.Type.StrippedType(), kind, isChecked, name1, name2Opt, operand, results, ref useSiteInfo);
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
682if (!binder.TryGetCollectionIterationType((ExpressionSyntax)argument.Syntax, targetType.StrippedType(), out TypeWithAnnotations targetElementType))
Binder\SwitchBinder.cs (1)
271if (!conversion.IsUnion && !(caseExpression.IsLiteralNull() && SwitchGoverningType.StrippedType() is NamedTypeSymbol { IsUnionType: true }))
Binder\UnionMatchingRewriter.cs (2)
62PropertySymbol? valueProperty = Binder.GetUnionTypeValuePropertyNoUseSiteDiagnostics((NamedTypeSymbol)unionMatchingInputType.StrippedType()); 450var unionType = unionMatchingInputType.StrippedType();
BoundTree\BoundListPattern.cs (1)
32Debug.Assert(NarrowedType.Equals(InputType.StrippedType(), TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundRecursivePattern.cs (1)
23Debug.Assert(NarrowedType.Equals(InputType.StrippedType(), TypeCompareKind.AllIgnoreOptions));
BoundTree\TupleBinaryOperatorInfo.cs (2)
111Debug.Assert(leftConvertedTypeOpt is null || leftConvertedTypeOpt.StrippedType().IsTupleType); 112Debug.Assert(rightConvertedTypeOpt is null || rightConvertedTypeOpt.StrippedType().IsTupleType);
Compilation\CSharpSemanticModel.cs (6)
3840symbols = OneOrMany.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(unaryOperator.Operand.Type.StrippedType(), 3842unaryOperator.Type.StrippedType())); 3863TypeSymbol opType = increment.Operand.Type.StrippedType(); 3919leftType = leftType.StrippedType(); 3920rightType = rightType.StrippedType(); 3921returnType = returnType.StrippedType();
FlowAnalysis\NullableWalker.cs (10)
4146var strippedTargetCollectionType = targetCollectionType.Type.StrippedType(); 5719derivedType = derivedType.StrippedType(); 6184BoundNullCoalescingOperatorResultKind.LeftUnwrappedType => getLeftResultType(leftResultType!.StrippedType(), rightResultType!), 6186BoundNullCoalescingOperatorResultKind.LeftUnwrappedRightType => getResultStateWithRightType(leftResultType!.StrippedType(), rightResultType!), 9553Debug.Assert(targetField.TypeWithAnnotations.Type.StrippedType() is NamedTypeSymbol { IsUnionType: true }); 10556Debug.Assert(TypeSymbol.Equals(targetTypeWithNullability.Type.StrippedType(), analysis.Operator.ContainingType, TypeCompareKind.AllIgnoreOptions)); 10557Debug.Assert(TypeSymbol.Equals(targetTypeWithNullability.Type.StrippedType(), analysis.ToType, TypeCompareKind.AllIgnoreOptions)); 10576var toType = (NamedTypeSymbol)targetType.StrippedType(); 10645targetTypeWithNullability.Type.StrippedType() is NamedTypeSymbol { IsUnionType: true } unionType && 12755method = (MethodSymbol)AsMemberOfType(operandType.Type!.StrippedType(), method);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (6)
517var promotedType = PromotedType(enumOperand.Type.StrippedType().GetEnumUnderlyingType()); 546conversion.Type.StrippedType().IsEnumType()) 610if (e.StrippedType().TypeKind == TypeKind.Enum) 711var strippedOperandType = operandType.StrippedType(); 715!TypeSymbol.Equals(strippedOperandType, ((node.ConversionKind == ConversionKind.ExplicitUserDefined) ? conversionInputType : conversionInputType.StrippedType()), TypeCompareKind.ConsiderEverything2); 1240var promotedType = PromotedType(arg.Type.StrippedType().GetEnumUnderlyingType());
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (10)
778type.StrippedType().EnumUnderlyingTypeOrSelf().SpecialType; 961Debug.Assert(TypeSymbol.Equals(rewrittenType.StrippedType(), analysis.Operator.ContainingType, TypeCompareKind.AllIgnoreOptions)); 962Debug.Assert(TypeSymbol.Equals(rewrittenType.StrippedType(), analysis.ToType, TypeCompareKind.AllIgnoreOptions)); 1074when convertedArgument.Type!.Equals(expression.Type.StrippedType(), TypeCompareKind.AllIgnoreOptions): 1091type: conversion.Type.StrippedType(), 1169TypeSymbol typeFrom = rewrittenOperandType.StrippedType(); 1170TypeSymbol typeTo = rewrittenType.StrippedType(); 1614rewrittenOperand = MakeConversionNode(rewrittenOperand, source.StrippedType(), @checked, markAsChecked: true); 1638TypeSymbol t0 = target.StrippedType(); 1639TypeSymbol s0 = source.StrippedType();
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (1)
125Debug.Assert(transformedLHS.Type.GetNullableUnderlyingType().Equals(tmp.Type.StrippedType(), TypeCompareKind.AllIgnoreOptions));
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (2)
91expr.Type is { } exprType && exprType.IsNullableType() && exprType.StrippedType().Equals(o.Type, TypeCompareKind.AllIgnoreOptions): 376value = new BoundDefaultExpression(expr.Syntax, expr.Type.StrippedType());
Operations\CSharpOperationFactory.cs (4)
1662boundNullCoalescingOperator.Type.Equals(boundNullCoalescingOperator.LeftOperand.Type?.StrippedType(), TypeCompareKind.IgnoreCustomModifiersAndArraySizesAndLowerBounds | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes)) 2621ITypeSymbol matchedType = (boundRecursivePattern.DeclaredType?.Type ?? boundRecursivePattern.InputType.StrippedType()).GetPublicSymbol(); 2648boundITuplePattern.InputType.StrippedType().GetPublicSymbol(), 2994=> member.Receiver?.Type.StrippedType().GetPublicSymbol() ?? matchedType;
Symbols\NamedTypeSymbol.cs (1)
1827var candidate = ctor.Parameters[0].Type.StrippedType();
Symbols\Source\ParameterHelpers.cs (1)
1044(defaultExpression.IsImplicitObjectCreation() ? convertedExpression.Type.StrippedType() : defaultExpression.Type), parameterSyntax.Identifier.ValueText);
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (6)
637var source0 = source.StrippedType(); 638var target0 = target.StrippedType(); 907type = type.StrippedType(); 953else if (this.GetParameterType(1).StrippedType().SpecialType != SpecialType.System_Int32) 981if (!IsSelfConstrainedTypeParameter(this.GetParameterType(0).StrippedType()) && 982!IsSelfConstrainedTypeParameter(this.GetParameterType(1).StrippedType()))
Symbols\TypeSymbolExtensions.cs (3)
187public bool IsSubjectForUnionMatching => patternInputType.StrippedType() is NamedTypeSymbol { IsUnionType: true }; 191if (patternInputType.StrippedType() is NamedTypeSymbol { IsUnionType: true } named) 209return type?.StrippedType().IsNativeIntegerType == true;
Symbols\TypeWithAnnotations.cs (2)
905internal override TypeSymbol GetNullableUnderlyingTypeOrSelf(TypeSymbol typeSymbol) => typeSymbol.StrippedType(); 1006internal override TypeSymbol GetNullableUnderlyingTypeOrSelf(TypeSymbol typeSymbol) => typeSymbol.StrippedType();
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (3)
Semantics\NullableReferenceTypesTests.cs (3)
11738Assert.True(m1.Parameters[0].Type.StrippedType().IsValueType); 11773Assert.False(m1.Parameters[0].Type.StrippedType().IsValueType); 11774Assert.False(m1.Parameters[0].Type.StrippedType().IsReferenceType);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (3)
Symbols\TypeTests.cs (3)
1520underType = memType.StrippedType(); 1529underType = memType.StrippedType(); 1553underType = memType.StrippedType();