Click or drag to resize

ISourceAssemblySymbol Interface



Represents a source assembly symbol exposed by the compiler.

Namespace:  Microsoft.CodeAnalysis
Assembly:  Microsoft.CodeAnalysis (in Microsoft.CodeAnalysis.dll) Version: 2.3.0-dev-56735-00. Commit Hash: <developer build>
Syntax
public interface ISourceAssemblySymbol : IAssemblySymbol, 
	ISymbol, IEquatable

The ISourceAssemblySymbol type exposes the following members.

Properties
  NameDescription
Public propertyCanBeReferencedByName
Returns true if this symbol can be referenced by its name in code.
(Inherited from ISymbol.)
Public propertyCompilation
Public propertyContainingAssembly
Gets the IAssemblySymbol for the containing assembly. Returns null if the symbol is shared across multiple assemblies.
(Inherited from ISymbol.)
Public propertyContainingModule
Gets the IModuleSymbol for the containing module. Returns null if the symbol is shared across multiple modules.
(Inherited from ISymbol.)
Public propertyContainingNamespace
Gets the INamespaceSymbol for the nearest enclosing namespace. Returns null if the symbol isn't contained in a namespace.
(Inherited from ISymbol.)
Public propertyContainingSymbol
Gets the ISymbol for the immediately containing symbol.
(Inherited from ISymbol.)
Public propertyContainingType
Gets the INamedTypeSymbol for the containing type. Returns null if the symbol is not contained within a type.
(Inherited from ISymbol.)
Public propertyDeclaredAccessibility
Gets a Accessibility indicating the declared accessibility for the symbol. Returns NotApplicable if no accessibility is declared.
(Inherited from ISymbol.)
Public propertyDeclaringSyntaxReferences
Get the syntax node(s) where this symbol was declared in source. Some symbols (for example, partial classes) may be defined in more than one location. This property should return one or more syntax nodes only if the symbol was declared in source code and also was not implicitly declared (see the IsImplicitlyDeclared property). Note that for namespace symbol, the declaring syntax might be declaring a nested namespace. For example, the declaring syntax node for N1 in "namespace N1.N2 {...}" is the entire NamespaceDeclarationSyntax for N1.N2. For the global namespace, the declaring syntax will be the CompilationUnitSyntax.
(Inherited from ISymbol.)
Public propertyGlobalNamespace
Gets the merged root namespace that contains all namespaces and types defined in the modules of this assembly. If there is just one module in this assembly, this property just returns the GlobalNamespace of that module.
(Inherited from IAssemblySymbol.)
Public propertyHasUnsupportedMetadata
Indicates that this symbol uses metadata that cannot be supported by the language. Examples include: - Pointer types in VB - ByRef return type - Required custom modifiers This is distinguished from, for example, references to metadata symbols defined in assemblies that weren't referenced. Symbols where this returns true can never be used successfully, and thus should never appear in any IDE feature. This is set for metadata symbols, as follows: Type - if a type is unsupported (e.g., a pointer type, etc.) Method - parameter or return type is unsupported Field - type is unsupported Event - type is unsupported Property - type is unsupported Parameter - type is unsupported
(Inherited from ISymbol.)
Public propertyIdentity
Gets the name of this assembly.
(Inherited from IAssemblySymbol.)
Public propertyIsAbstract
Gets a value indicating whether the symbol is abstract.
(Inherited from ISymbol.)
Public propertyIsDefinition
Gets a value indicating whether the symbol is the original definition. Returns false if the symbol is derived from another symbol, by type substitution for instance.
(Inherited from ISymbol.)
Public propertyIsExtern
Gets a value indicating whether the symbol is defined externally.
(Inherited from ISymbol.)
Public propertyIsImplicitlyDeclared
Returns true if this symbol was automatically created by the compiler, and does not have an explicit corresponding source code declaration.
(Inherited from ISymbol.)
Public propertyIsInteractive
True if the assembly contains interactive code.
(Inherited from IAssemblySymbol.)
Public propertyIsOverride
Gets a value indicating whether the symbol is an override of a base class symbol.
(Inherited from ISymbol.)
Public propertyIsSealed
Gets a value indicating whether the symbol is sealed.
(Inherited from ISymbol.)
Public propertyIsStatic
Gets a value indicating whether the symbol is static.
(Inherited from ISymbol.)
Public propertyIsVirtual
Gets a value indicating whether the symbol is virtual.
(Inherited from ISymbol.)
Public propertyKind
Gets the SymbolKind indicating what kind of symbol it is.
(Inherited from ISymbol.)
Public propertyLanguage
Gets the source language ("C#" or "Visual Basic").
(Inherited from ISymbol.)
Public propertyLocations
Gets the locations where the symbol was originally defined, either in source or metadata. Some symbols (for example, partial classes) may be defined in more than one location.
(Inherited from ISymbol.)
Public propertyMetadataName
Gets the name of a symbol as it appears in metadata. Most of the time, this is the same as the Name property, with the following exceptions: 1) The metadata name of generic types includes the "`1", "`2" etc. suffix that indicates the number of type parameters (it does not include, however, names of containing types or namespaces). 2) The metadata name of explicit interface names have spaces removed, compared to the name property. 3) The length of names is limited to not exceed metadata restrictions.
(Inherited from ISymbol.)
Public propertyMightContainExtensionMethods
Determines if the assembly might contain extension methods. If false, the assembly does not contain extension methods.
(Inherited from IAssemblySymbol.)
Public propertyModules
Gets the modules in this assembly. (There must be at least one.) The first one is the main module that holds the assembly manifest.
(Inherited from IAssemblySymbol.)
Public propertyName
Gets the symbol name. Returns the empty string if unnamed.
(Inherited from ISymbol.)
Public propertyNamespaceNames
Gets the set of namespace names from this assembly.
(Inherited from IAssemblySymbol.)
Public propertyOriginalDefinition
Gets the ISymbol for the original definition of the symbol. If this symbol is derived from another symbol, by type substitution for instance, this gets the original symbol, as it was defined in source or metadata.
(Inherited from ISymbol.)
Public propertyTypeNames
Gets the set of type identifiers from this assembly.
(Inherited from IAssemblySymbol.)
Top
Methods
  NameDescription
Public methodAccept(SymbolVisitor) (Inherited from ISymbol.)
Public methodAcceptTResult(SymbolVisitorTResult) (Inherited from ISymbol.)
Public methodGetAttributes (Inherited from ISymbol.)
Public methodGetDocumentationCommentId
Returns the Documentation Comment ID for the symbol, or null if the symbol doesn't support documentation comments.
(Inherited from ISymbol.)
Public methodGetDocumentationCommentXml
Gets the XML (as text) for the comment associated with the symbol.
(Inherited from ISymbol.)
Public methodGetMetadata
If this symbol represents a metadata assembly returns the underlying AssemblyMetadata. Otherwise, this returns
null
.
(Inherited from IAssemblySymbol.)
Public methodGetTypeByMetadataName
Lookup a type within the assembly using the canonical CLR metadata name of the type.
(Inherited from IAssemblySymbol.)
Public methodGivesAccessTo
Gets a value indicating whether this assembly gives toAssembly access to internal symbols
(Inherited from IAssemblySymbol.)
Public methodResolveForwardedType
Returns the type symbol for a forwarded type based its canonical CLR metadata name. The name should refer to a non-nested type. If type with this name is not forwarded, null is returned.
(Inherited from IAssemblySymbol.)
Public methodToDisplayParts
Convert a symbol to an array of string parts, each of which has a kind. Useful for colorizing the display string.
(Inherited from ISymbol.)
Public methodToDisplayString
Converts the symbol to a string representation.
(Inherited from ISymbol.)
Public methodToMinimalDisplayParts
Convert a symbol to an array of string parts, each of which has a kind. May be tailored to a specific location in the source code. Useful for colorizing the display string.
(Inherited from ISymbol.)
Public methodToMinimalDisplayString
Convert a symbol to a string that can be displayed to the user. May be tailored to a specific location in the source code.
(Inherited from ISymbol.)
Top
Extension Methods
  NameDescription
Public Extension MethodGetRootOperation (Defined by OperationExtensions.)
Public Extension MethodIsMustOverride (Defined by VisualBasicExtensions.)
Public Extension MethodIsNotOverridable (Defined by VisualBasicExtensions.)
Public Extension MethodIsOverridable (Defined by VisualBasicExtensions.)
Public Extension MethodIsOverrides (Defined by VisualBasicExtensions.)
Public Extension MethodIsShared
Determines if symbol is Shared.
(Defined by VisualBasicExtensions.)
Top
Remarks
This interface is reserved for implementation by its associated APIs. We reserve the right to change it in the future.
See Also