106 references to StrippedType
Microsoft.CodeAnalysis.CSharp (106)
Binder\Binder_Conversions.cs (3)
823BoundExpression expr = bindObjectCreationExpression(node.Syntax, node.InitializerOpt, node.Binder, destination.StrippedType(), arguments, diagnostics); 2749Debug.Assert(TypeSymbol.Equals(destination.StrippedType(), analysis.Operator.MethodKind == MethodKind.Constructor ? analysis.Operator.ContainingType : analysis.Operator.ReturnType, TypeCompareKind.AllIgnoreOptions)); 2750Debug.Assert(TypeSymbol.Equals(destination.StrippedType(), analysis.ToType, TypeCompareKind.AllIgnoreOptions));
Binder\Binder_Operators.cs (4)
1765bool typeMatchesContainer = TypeSymbol.Equals(signature.ReturnType.StrippedType(), t, TypeCompareKind.ConsiderEverything2) || 1767SourceUserDefinedOperatorSymbol.IsSelfConstrainedTypeParameter((definition = signature.Method.OriginalDefinition).ReturnType.StrippedType(), definition.ContainingType)); 4901if (originalExpression.Type is not null && !originalExpression.Type.Equals(unionMatchingInputType.StrippedType(), TypeCompareKind.AllIgnoreOptions)) 4903diagnostics.Add(ErrorCode.ERR_ConstantValueOfTypeExpected, node.Right.Location, unionMatchingInputType.StrippedType());
Binder\Binder_Patterns.cs (9)
758TypeSymbol narrowedType = inputType.StrippedType(); 916if (originalExpression.Type is not null && !originalExpression.Type.Equals(unionMatchingInputType.StrippedType(), TypeCompareKind.AllIgnoreOptions)) 918diagnostics.Add(ErrorCode.ERR_ConstantValueOfTypeExpected, innerExpression.Location, unionMatchingInputType.StrippedType()); 1058var strippedInputType = inputType.StrippedType(); 1549return TypeWithAnnotations.Create(inputType.StrippedType(), NullableAnnotation.NotAnnotated); 1663narrowedType: boundDeclType?.Type ?? inputType.StrippedType(), hasErrors); 2014var strippedInputType = inputType.StrippedType(); 2071isExplicitNotNullTest: false, isUnionMatching: isUnionMatching, inputType: unionMatchingInputType ?? inputType, narrowedType: inputType.StrippedType(), hasErrors: hasErrors); 2194inputType = receiver.Type.StrippedType();
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 (5)
807var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type.StrippedType(), outParameterTemp); 833TypeSymbol inputType = input.Type.StrippedType(); // since a null check has already been done 932var inputType = recursive.DeclaredType?.Type ?? inputTempType.StrippedType(); 1003if ((receiver is null ? input.Type : receiver.Type.StrippedType()) is NamedTypeSymbol { IsUnionType: true } unionType && 1044input = (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)
3834symbols = OneOrMany.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(unaryOperator.Operand.Type.StrippedType(), 3836unaryOperator.Type.StrippedType())); 3857TypeSymbol opType = increment.Operand.Type.StrippedType(); 3913leftType = leftType.StrippedType(); 3914rightType = rightType.StrippedType(); 3915returnType = returnType.StrippedType();
FlowAnalysis\NullableWalker.cs (10)
4184var strippedTargetCollectionType = targetCollectionType.Type.StrippedType(); 5759derivedType = derivedType.StrippedType(); 6224BoundNullCoalescingOperatorResultKind.LeftUnwrappedType => getLeftResultType(leftResultType!.StrippedType(), rightResultType!), 6226BoundNullCoalescingOperatorResultKind.LeftUnwrappedRightType => getResultStateWithRightType(leftResultType!.StrippedType(), rightResultType!), 9590Debug.Assert(targetField.TypeWithAnnotations.Type.StrippedType() is NamedTypeSymbol { IsUnionType: true }); 10605Debug.Assert(TypeSymbol.Equals(targetTypeWithNullability.Type.StrippedType(), analysis.Operator.MethodKind == MethodKind.Constructor ? analysis.Operator.ContainingType : analysis.Operator.ReturnType, TypeCompareKind.AllIgnoreOptions)); 10606Debug.Assert(TypeSymbol.Equals(targetTypeWithNullability.Type.StrippedType(), analysis.ToType, TypeCompareKind.AllIgnoreOptions)); 10625var toType = (NamedTypeSymbol)targetType.StrippedType(); 10695targetTypeWithNullability.Type.StrippedType() is NamedTypeSymbol { IsUnionType: true } unionType && 12810method = (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; 964Debug.Assert(TypeSymbol.Equals(rewrittenType.StrippedType(), analysis.Operator.MethodKind == MethodKind.Constructor ? analysis.Operator.ContainingType : analysis.Operator.ReturnType, TypeCompareKind.AllIgnoreOptions)); 965Debug.Assert(TypeSymbol.Equals(rewrittenType.StrippedType(), analysis.ToType, TypeCompareKind.AllIgnoreOptions)); 1077when convertedArgument.Type!.Equals(expression.Type.StrippedType(), TypeCompareKind.AllIgnoreOptions): 1094type: conversion.Type.StrippedType(), 1172TypeSymbol typeFrom = rewrittenOperandType.StrippedType(); 1173TypeSymbol typeTo = rewrittenType.StrippedType(); 1630rewrittenOperand = MakeConversionNode(rewrittenOperand, source.StrippedType(), @checked, markAsChecked: true); 1654TypeSymbol t0 = target.StrippedType(); 1655TypeSymbol s0 = source.StrippedType();
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (1)
134Debug.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): 377value = 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\Source\ParameterHelpers.cs (1)
1034(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();
Utilities\ValueSetFactory.UnionTypeTypeUnionValueSetFactory.cs (1)
30ClosedClassTypeUnionValueSetFactory.ExpandClosedSubtypes(caseType.StrippedType(), builder, setBuilder);