88 references to StrippedType
Microsoft.CodeAnalysis.CSharp (88)
Binder\Binder_Conversions.cs (1)
746BoundExpression expr = bindObjectCreationExpression(node.Syntax, node.InitializerOpt, node.Binder, destination.StrippedType(), arguments, diagnostics);
Binder\Binder_Operators.cs (2)
1159bool typeMatchesContainer = TypeSymbol.Equals(signature.ReturnType.StrippedType(), t, TypeCompareKind.ConsiderEverything2) || 1161SourceUserDefinedOperatorSymbol.IsSelfConstrainedTypeParameter((definition = signature.Method.OriginalDefinition).ReturnType.StrippedType(), definition.ContainingType));
Binder\Binder_Patterns.cs (7)
300TypeSymbol narrowedType = inputType.StrippedType(); 560var strippedInputType = inputType.StrippedType(); 942return TypeWithAnnotations.Create(inputType.StrippedType(), NullableAnnotation.NotAnnotated); 1045narrowedType: boundDeclType?.Type ?? inputType.StrippedType(), hasErrors); 1377var strippedInputType = inputType.StrippedType(); 1431isExplicitNotNullTest: false, inputType: inputType, narrowedType: inputType.StrippedType(), hasErrors: hasErrors); 1521symbol = 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)
458TypeSymbol inputType = input.Type.StrippedType(); // since a null check has already been done 523var inputType = recursive.DeclaredType?.Type ?? input.Type.StrippedType(); 614input = 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\ForEachLoopBinder.cs (1)
908(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())); 916var strippedSource = source.StrippedType(); 917var strippedDestination = destination.StrippedType(); 2159var s0 = source.StrippedType(); 2160var t0 = target.StrippedType(); 2255TypeSymbol unwrappedSource = source.StrippedType(); 2451TypeSymbol unwrappedSource = source.StrippedType(); 2452TypeSymbol unwrappedDestination = destination.StrippedType(); 3905return 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(); 504bool isExactSubtraction = TypeSymbol.Equals(right.Type?.StrippedType(), underlying, TypeCompareKind.ConsiderEverything2); 611leftType = leftType.StrippedType(); 617rightType = rightType.StrippedType();
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (2)
302enumType = enumType.StrippedType(); 379TypeSymbol type0 = operand.Type.StrippedType();
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
654if (!binder.TryGetCollectionIterationType((ExpressionSyntax)argument.Syntax, targetType.StrippedType(), out TypeWithAnnotations targetElementType))
BoundTree\BoundListPattern.cs (1)
17Debug.Assert(NarrowedType.Equals(InputType.StrippedType(), TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundRecursivePattern.cs (1)
15NarrowedType.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)
3809symbols = OneOrMany.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(unaryOperator.Operand.Type.StrippedType(), 3811unaryOperator.Type.StrippedType())); 3832TypeSymbol opType = increment.Operand.Type.StrippedType(); 3888leftType = leftType.StrippedType(); 3889rightType = rightType.StrippedType(); 3890returnType = returnType.StrippedType();
FlowAnalysis\NullableWalker.cs (5)
3829var strippedTargetCollectionType = targetCollectionType.Type.StrippedType(); 5256derivedType = derivedType.StrippedType(); 5683BoundNullCoalescingOperatorResultKind.LeftUnwrappedType => getLeftResultType(leftResultType!.StrippedType(), rightResultType!), 5685BoundNullCoalescingOperatorResultKind.LeftUnwrappedRightType => getResultStateWithRightType(leftResultType!.StrippedType(), rightResultType!), 11322method = (MethodSymbol)AsMemberOfType(operandType.Type!.StrippedType(), method);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (6)
510var promotedType = PromotedType(enumOperand.Type.StrippedType().GetEnumUnderlyingType()); 539conversion.Type.StrippedType().IsEnumType()) 603if (e.StrippedType().TypeKind == TypeKind.Enum) 701var strippedOperandType = operandType.StrippedType(); 705!TypeSymbol.Equals(strippedOperandType, ((node.ConversionKind == ConversionKind.ExplicitUserDefined) ? conversionInputType : conversionInputType.StrippedType()), TypeCompareKind.ConsiderEverything2); 1188var promotedType = PromotedType(arg.Type.StrippedType().GetEnumUnderlyingType());
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (8)
763type.StrippedType().EnumUnderlyingTypeOrSelf().SpecialType; 1008when convertedArgument.Type!.Equals(expression.Type.StrippedType(), TypeCompareKind.AllIgnoreOptions): 1024type: conversion.Type.StrippedType(), 1104TypeSymbol typeFrom = rewrittenOperandType.StrippedType(); 1105TypeSymbol typeTo = rewrittenType.StrippedType(); 1516rewrittenOperand = MakeConversionNode(rewrittenOperand, source.StrippedType(), @checked, markAsChecked: true); 1540TypeSymbol t0 = target.StrippedType(); 1541TypeSymbol 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)
1596boundNullCoalescingOperator.Type.Equals(boundNullCoalescingOperator.LeftOperand.Type?.StrippedType(), TypeCompareKind.IgnoreCustomModifiersAndArraySizesAndLowerBounds | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes)) 2555ITypeSymbol matchedType = (boundRecursivePattern.DeclaredType?.Type ?? boundRecursivePattern.InputType.StrippedType()).GetPublicSymbol(); 2582boundITuplePattern.InputType.StrippedType().GetPublicSymbol(), 2928=> member.Receiver?.Type.StrippedType().GetPublicSymbol() ?? matchedType;
Symbols\Source\ParameterHelpers.cs (1)
822(defaultExpression.IsImplicitObjectCreation() ? convertedExpression.Type.StrippedType() : defaultExpression.Type), parameterSyntax.Identifier.ValueText);
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (11)
445var source0 = source.StrippedType(); 446var target0 = target.StrippedType(); 603if (!MatchesContainingType(this.GetParameterType(0).StrippedType())) 623if (!MatchesContainingType(this.GetParameterType(0).StrippedType())) 673if (!MatchesContainingType(parameterType.StrippedType())) 721if (!MatchesContainingType(this.GetParameterType(0).StrippedType())) 727else if (this.GetParameterType(1).StrippedType().SpecialType != SpecialType.System_Int32) 740if (!MatchesContainingType(this.GetParameterType(0).StrippedType()) && 741!MatchesContainingType(this.GetParameterType(1).StrippedType())) 752if (!IsSelfConstrainedTypeParameter(this.GetParameterType(0).StrippedType()) && 753!IsSelfConstrainedTypeParameter(this.GetParameterType(1).StrippedType()))
Symbols\TypeSymbolExtensions.cs (1)
191return type?.StrippedType().IsNativeIntegerType == true;
Symbols\TypeWithAnnotations.cs (2)
905internal override TypeSymbol GetNullableUnderlyingTypeOrSelf(TypeSymbol typeSymbol) => typeSymbol.StrippedType(); 1006internal override TypeSymbol GetNullableUnderlyingTypeOrSelf(TypeSymbol typeSymbol) => typeSymbol.StrippedType();