24 instantiations of PointerTypeSymbol
Microsoft.CodeAnalysis.CSharp (24)
Binder\Binder_Conversions.cs (1)
2409stackAllocType = new PointerTypeSymbol(TypeWithAnnotations.Create(elementType));
Binder\Binder_Expressions.cs (3)
368var type = new PointerTypeSymbol(TypeWithAnnotations.Create(boundStackAlloc.ElementType)); 4453new PointerTypeSymbol(BindType(typeSyntax, diagnostics))); 4492new PointerTypeSymbol(elementType));
Binder\Binder_Operators.cs (1)
2553TypeSymbol pointerType = new PointerTypeSymbol(TypeWithAnnotations.Create(operandType));
Binder\Binder_Statements.cs (1)
1365TypeSymbol pointerType = new PointerTypeSymbol(TypeWithAnnotations.Create(elementType));
Binder\Binder_Symbols.cs (1)
601return TypeWithAnnotations.Create(new PointerTypeSymbol(elementType));
Binder\Semantics\Conversions\Conversions.cs (1)
491var sourceAsPointer = new PointerTypeSymbol(TypeWithAnnotations.Create(sourceExpression.ElementType));
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (1)
582var voidPointerType = new PointerTypeSymbol(TypeWithAnnotations.Create(Compilation.GetSpecialType(SpecialType.System_Void)));
Compilation\CSharpCompilation.cs (1)
2388return new PointerTypeSymbol(TypeWithAnnotations.Create(elementType, elementNullableAnnotation));
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (2)
383return new PointerTypeSymbol(symbol.PointedAtTypeWithAnnotations.WithTypeAndModifiers(otherPointedAtType, otherModifiers)); 906return new PointerTypeSymbol(symbol.PointedAtTypeWithAnnotations.WithTypeAndModifiers(translatedPointedAtType, translatedModifiers));
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
374var operandType = new PointerTypeSymbol(TypeWithAnnotations.Create(_factory.SpecialType(SpecialType.System_Void)));
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (1)
560BoundExpression firstElementAddress = new BoundAddressOfOperator(factory.Syntax, firstElement, type: new PointerTypeSymbol(arrayElementType));
Lowering\SyntheticBoundNodeFactory.cs (1)
1226return new BoundPointerIndirectionOperator(Syntax, Default(new PointerTypeSymbol(type)), refersToLocation: false, type.Type);
Symbols\AbstractTypeMap.cs (1)
236return new PointerTypeSymbol(pointedAtType);
Symbols\AssemblySymbol.cs (1)
777return new PointerTypeSymbol(TypeWithAnnotations.Create(symbol));
Symbols\Metadata\PE\DynamicTypeDecoder.cs (1)
343new PointerTypeSymbol(pointerType.PointedAtTypeWithAnnotations.WithTypeAndModifiers(transformedPointedAtType, pointerType.PointedAtTypeWithAnnotations.CustomModifiers));
Symbols\Metadata\PE\PEFieldSymbol.cs (1)
337type = TypeWithAnnotations.Create(new PointerTypeSymbol(TypeWithAnnotations.Create(fixedElementType)));
Symbols\Metadata\PE\SymbolFactory.cs (1)
46return new PointerTypeSymbol(CreateType(type, customModifiers));
Symbols\PointerTypeSymbol.cs (1)
282return PointedAtTypeWithAnnotations.IsSameAs(newPointedAtType) ? this : new PointerTypeSymbol(newPointedAtType);
Symbols\Retargeting\RetargetingSymbolTranslator.cs (1)
756return new PointerTypeSymbol(newPointed);
Symbols\Source\SourceMemberFieldSymbol.cs (1)
561type = TypeWithAnnotations.Create(new PointerTypeSymbol(type));
Symbols\TypeSymbolExtensions.cs (1)
2038pointerType = new PointerTypeSymbol(pointedAtType);
105 references to PointerTypeSymbol
Microsoft.CodeAnalysis.CSharp (105)
Binder\Binder_Crefs.cs (1)
559return ContainsNestedTypeOfUnconstructedGenericType(((PointerTypeSymbol)type).PointedAtType);
Binder\Binder_Expressions.cs (3)
368var type = new PointerTypeSymbol(TypeWithAnnotations.Create(boundStackAlloc.ElementType)); 9536PointerTypeSymbol pointerType = (PointerTypeSymbol)expr.Type;
Binder\Binder_Operators.cs (2)
2476var operandType = operand.Type as PointerTypeSymbol;
Binder\Binder_Statements.cs (1)
1255elementType = ((PointerTypeSymbol)fa.Type).PointedAtType;
Binder\Semantics\AccessCheck.cs (1)
155return IsSymbolAccessibleCore(((PointerTypeSymbol)symbol).PointedAtType, within, null, out failedThroughTypeCheck, compilation, ref useSiteInfo, basesBeingResolved);
Binder\Semantics\Conversions\Conversions.cs (1)
491var sourceAsPointer = new PointerTypeSymbol(TypeWithAnnotations.Create(sourceExpression.ElementType));
Binder\Semantics\Conversions\ConversionsBase.cs (1)
3373return source.IsPointerOrFunctionPointer() && destination is PointerTypeSymbol { PointedAtType: { SpecialType: SpecialType.System_Void } };
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (6)
542PointerTypeSymbol pointerType, 582var voidPointerType = new PointerTypeSymbol(TypeWithAnnotations.Create(Compilation.GetSpecialType(SpecialType.System_Void))); 683var leftType = left.Type as PointerTypeSymbol; 684var rightType = right.Type as PointerTypeSymbol;
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (2)
327var pointerType = operand.Type as PointerTypeSymbol;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (2)
1862ExactInference(((PointerTypeSymbol)source.Type).PointedAtTypeWithAnnotations, ((PointerTypeSymbol)target.Type).PointedAtTypeWithAnnotations, ref useSiteInfo);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (4)
2765var p1 = (PointerTypeSymbol)t1; 2766var p2 = (PointerTypeSymbol)t2;
CodeGen\EmitStackAllocInitializer.cs (2)
24Debug.Assert(type is PointerTypeSymbol || type is NamedTypeSymbol); 28? ((PointerTypeSymbol)type).PointedAtTypeWithAnnotations
CodeGen\EmitStatement.cs (2)
1793PointerTypeSymbol pointerType = (PointerTypeSymbol)local.Type;
CodeGen\Optimizer.cs (1)
1020left.Type.Equals(((PointerTypeSymbol)right.Type).PointedAtType, TypeCompareKind.AllIgnoreOptions);
Compilation\CSharpCompilation.cs (3)
2381internal PointerTypeSymbol CreatePointerTypeSymbol(TypeSymbol elementType, NullableAnnotation elementNullableAnnotation = NullableAnnotation.Oblivious) 4364csharpLeftType is PointerTypeSymbol { PointedAtType.SpecialType: SpecialType.System_Void } && 4365csharpRightType is PointerTypeSymbol { PointedAtType.SpecialType: SpecialType.System_Void })
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (1)
220public override object VisitPointerType(PointerTypeSymbol symbol, StringBuilder builder)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (6)
373public override Symbol? VisitPointerType(PointerTypeSymbol symbol) 661private bool ArePointerTypesEqual(PointerTypeSymbol type, PointerTypeSymbol other) 760return ArePointerTypesEqual((PointerTypeSymbol)type, (PointerTypeSymbol)other); 902public override Symbol VisitPointerType(PointerTypeSymbol symbol)
Emitter\Model\PEModuleBuilder.cs (2)
1155return Translate((PointerTypeSymbol)typeSymbol); 1450internal Cci.IPointerTypeReference Translate(PointerTypeSymbol symbol)
Emitter\Model\PointerTypeSymbolAdapter.cs (2)
145internal PointerTypeSymbolAdapter(PointerTypeSymbol underlyingPointerTypeSymbol) 151internal PointerTypeSymbol AdaptedPointerTypeSymbol { get; }
FlowAnalysis\NullableWalker.cs (2)
4576PointerTypeSymbol pointerType => pointerType.PointedAtTypeWithAnnotations, 4653PointerTypeSymbol pointerType => pointerType.WithPointedAtType(inferredType),
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
374var operandType = new PointerTypeSymbol(TypeWithAnnotations.Create(_factory.SpecialType(SpecialType.System_Void)));
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (5)
2261loweredRight = MakeSizeOfMultiplication(loweredRight, (PointerTypeSymbol)loweredLeft.Type, kind.IsChecked()); 2266loweredLeft = MakeSizeOfMultiplication(loweredLeft, (PointerTypeSymbol)loweredRight.Type, kind.IsChecked()); 2302private BoundExpression MakeSizeOfMultiplication(BoundExpression numericOperand, PointerTypeSymbol pointerType, bool isChecked) 2456PointerTypeSymbol pointerType = (PointerTypeSymbol)loweredLeft.Type;
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (1)
247TypeSymbol initializerType = ((PointerTypeSymbol)initializerExpr.Type).PointedAtType;
Symbols\AbstractTypeMap.cs (3)
110result = SubstitutePointerType((PointerTypeSymbol)previous); 227private PointerTypeSymbol SubstitutePointerType(PointerTypeSymbol t)
Symbols\Compilation_WellKnownMembers.cs (2)
958HandleCustomModifiers(((PointerTypeSymbol)type).PointedAtTypeWithAnnotations.CustomModifiers.Length, transformFlagsBuilder); 1148return type.Kind == SymbolKind.PointerType ? ((PointerTypeSymbol)type).PointedAtType : null;
Symbols\ConstraintsHelper.cs (1)
593Binder.CheckManagedAddr(args.CurrentCompilation, ((PointerTypeSymbol)type).PointedAtType, args.Location, args.Diagnostics);
Symbols\Metadata\PE\DynamicTypeDecoder.cs (3)
167return TransformPointerType((PointerTypeSymbol)type); 325private PointerTypeSymbol TransformPointerType(PointerTypeSymbol pointerType)
Symbols\Metadata\PE\MetadataDecoder.cs (1)
225return IsOrClosedOverATypeFromAssemblies(((PointerTypeSymbol)symbol).PointedAtType, assemblies);
Symbols\Metadata\PE\NativeIntegerTypeDecoder.cs (3)
89return TransformPointerType((PointerTypeSymbol)type); 163private PointerTypeSymbol? TransformPointerType(PointerTypeSymbol type)
Symbols\Metadata\PE\TupleTypeDecoder.cs (3)
171return DecodePointerType((PointerTypeSymbol)type); 204private PointerTypeSymbol DecodePointerType(PointerTypeSymbol type)
Symbols\PointerTypeSymbol.cs (5)
222current = ((PointerTypeSymbol)current).PointedAtType; 230return this.Equals(t2 as PointerTypeSymbol, comparison); 233private bool Equals(PointerTypeSymbol? other, TypeCompareKind comparison) 276TypeWithAnnotations pointedAtType = PointedAtTypeWithAnnotations.MergeEquivalentTypes(((PointerTypeSymbol)other).PointedAtTypeWithAnnotations, VarianceKind.None); 280internal PointerTypeSymbol WithPointedAtType(TypeWithAnnotations newPointedAtType)
Symbols\PublicModel\PointerTypeSymbol.cs (2)
13private readonly Symbols.PointerTypeSymbol _underlying; 16public PointerTypeSymbol(Symbols.PointerTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\Retargeting\RetargetingSymbolTranslator.cs (4)
654return IsOrClosedOverAnExplicitLocalType(((PointerTypeSymbol)symbol).PointedAtType); 746public PointerTypeSymbol Retarget(PointerTypeSymbol type) 1339public override Symbol VisitPointerType(PointerTypeSymbol symbol, RetargetOptions options)
Symbols\Source\SourceFixedFieldSymbol.cs (4)
47var item1 = new TypedConstant(systemType, TypedConstantKind.Type, ((PointerTypeSymbol)this.Type).PointedAtType); 109TypeSymbol elementType = ((PointerTypeSymbol)this.Type).PointedAtType; 160_internalField = new SynthesizedFieldSymbol(this, ((PointerTypeSymbol)field.Type).PointedAtType, FixedElementFieldName, isPublic: true); 183var elementType = ((PointerTypeSymbol)_field.Type).PointedAtType;
Symbols\Source\SourceMemberFieldSymbol.cs (1)
573var elementType = ((PointerTypeSymbol)type.Type).PointedAtType;
Symbols\SymbolDistinguisher.cs (1)
150symbol = ((PointerTypeSymbol)symbol).PointedAtType;
Symbols\SymbolExtensions.cs (1)
671internal static IPointerTypeSymbol? GetPublicSymbol(this PointerTypeSymbol? symbol)
Symbols\SymbolVisitor.cs (1)
95public virtual void VisitPointerType(PointerTypeSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
95public virtual TResult VisitPointerType(PointerTypeSymbol symbol)
Symbols\SymbolVisitor`2.cs (2)
112/// Called when visiting a <see cref="PointerTypeSymbol" />; Override this with specific 118public virtual TResult VisitPointerType(PointerTypeSymbol symbol, TArgument argument)
Symbols\TypeSymbolExtensions.cs (6)
926next = ((PointerTypeSymbol)current).PointedAtTypeWithAnnotations; 1496return type is PointerTypeSymbol; 1551return type is PointerTypeSymbol p && p.PointedAtType.IsVoidType(); 1936var pointerType = (PointerTypeSymbol)type; 2030private static bool NormalizeTaskTypesInPointer(CSharpCompilation compilation, ref PointerTypeSymbol pointerType)
Symbols\TypeUnification.cs (5)
135PointerTypeSymbol pt1 = (PointerTypeSymbol)t1.Type; 136PointerTypeSymbol pt2 = (PointerTypeSymbol)t2.Type; 272return Contains(((PointerTypeSymbol)type).PointedAtType, typeParam);
Utilities\TypeSymbolExtensions.cs (4)
38var pointer = (PointerTypeSymbol)type; 106var pointer = (PointerTypeSymbol)type;