public abstract class TypeSymbolBase of everything usable as a type. Type identity is structural: two int[] symbols built independently compare equal, so the binder can construct types on demand without interning them.
Fields and properties (9)
public abstract TypeKind TypeKindpublic virtual SpecialType SpecialTypeThe intrinsic type this is, or None.
public virtual ResourceKind ResourceKindHow a shader field of this type binds on the GPU, or None when it is not a resource at all.
public virtual bool IsWritableResourceWhether a shader may store into a binding of this type. False for everything the host uploads — a uniform, a sampled texture, a read-only buffer.
public bool IsErrorTypeTrue when this type stands in for a type that failed to resolve.
public bool IsVoidpublic bool IsNumericLikeScalar, vector or matrix — the types arithmetic operators accept.
public virtual NamedTypeSymbol? BaseTypeThe type this one derives from, or null.
public virtual IReadOnlyList<NamedTypeSymbol> InterfacesProtocols this type conforms to.
Methods (4)
public virtual IReadOnlyList<Symbol> GetMembers()public virtual IReadOnlyList<Symbol> GetMembers(string name)public IEnumerable<TypeSymbol> TypeAndBases()This type plus its base types and protocols, nearest first. Member lookup walks this sequence and stops at the first type that has a match.
public bool IsSubtypeOf(TypeSymbol other)True when is this type or one of its bases/protocols.
Used by (89, showing 40)
- ArrayTypeSymbolVixen.Raven
- BinaryOperatorSignatureVixen.Raven
- BinderVixen.Raven
- BindingContextVixen.Raven
- BoundArrayAccessExpressionVixen.Raven
- BoundAssignmentExpressionVixen.Raven
- BoundBaseExpressionVixen.Raven
- BoundBinaryExpressionVixen.Raven
- BoundBodyVixen.Raven
- BoundCollectionExpressionVixen.Raven
- BoundConditionalExpressionVixen.Raven
- BoundConversionExpressionVixen.Raven
- BoundErrorExpressionVixen.Raven
- BoundExpressionVixen.Raven
- BoundFieldExpressionVixen.Raven
- BoundInvocationExpressionVixen.Raven
- BoundLiteralExpressionVixen.Raven
- BoundLocalExpressionVixen.Raven
- BoundMethodGroupExpressionVixen.Raven
- BoundNamespaceExpressionVixen.Raven
- BoundObjectCreationExpressionVixen.Raven
- BoundParameterExpressionVixen.Raven
- BoundPropertyExpressionVixen.Raven
- BoundRangeExpressionVixen.Raven
- BoundSelfExpressionVixen.Raven
- BoundTupleExpressionVixen.Raven
- BoundTypeExpressionVixen.Raven
- BoundUnaryExpressionVixen.Raven
- BufferTypeSymbolVixen.Raven
- BuilderVixen.Raven
- CompilationVixen.Raven
- CompiledLibraryTestsVixen.Raven.Tests
- ComposeTestsVixen.Raven.Tests
- ConstantEvaluatorVixen.Raven
- ConstraintResolutionVixen.Raven
- ConstructedNamedTypeSymbolVixen.Raven
- ConversionsVixen.Raven
- FieldSymbolVixen.Raven
- FlowAnalysisVixen.Raven
- ImportBinderVixen.Raven