| File: Binding\BinderFactory.NodeUsage.vb | Web Access |
| Project: src\roslyn\src\Compilers\VisualBasic\Portable\Microsoft.CodeAnalysis.VisualBasic.vbproj (Microsoft.CodeAnalysis.VisualBasic) |
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports System.Collections.Concurrent Imports System.Collections.Generic Imports System.Threading Imports Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.VisualBasic.Symbols Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic Partial Friend Class BinderFactory Private Enum NodeUsage As Byte ' For the compilation unit CompilationUnit ' For implicit class (top-level or within a namespace) ImplicitClass ' For top-level script code of a compilation unit ScriptCompilationUnit ' All executable statements in top-level script code share the same TopLevelCodeBinder. ' We use CompilationUnitSyntax as a key to the cache for all such statements. TopLevelExecutableStatement ' For an Imports statement ImportsStatement ' No special binder for the full namespace block. For interior of namespace block ' (namespace members are in scope) NamespaceBlockInterior ' For the full type block (type parameters and members in scope). In VB, no special ' binder needed for the interior of a type block; members are in scope even in the ' header) TypeBlockFull ' For the full enum block (members in scope) EnumBlockFull ' For delegate declaration DelegateDeclaration ' For an inherits statement in a type InheritsStatement ' For an implements statement in a type ImplementsStatement ' For the full part of a method (type parameters in scope, but not parameter or locals) MethodFull ' For the interior of a method (parameters and locals in scope also) MethodInterior ' For field or property initializer FieldOrPropertyInitializer ' For array bounds of a field FieldArrayBounds ' For binding an attribute Attribute ' For binding parameter default values ParameterDefaultValue ' For the full part of the property, similar to MethodFull PropertyFull ' Add more usages here if necessary. End Enum End Class End Namespace