⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typeloadex1.vb

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 VB
字号:
Imports SystemImports System.CollectionsImports System.ReflectionImports System.Reflection.EmitNamespace TypeLoadEx1    Public Interface IBaseObject        ReadOnly Property Assembly() As AssemblyDeclaration        Property Location() As Span        Property Parent() As IBaseObject        ReadOnly Property Compiler() As Compiler        ReadOnly Property FullName() As String        Function ResolveCode(ByVal Info As ResolveInfo) As Boolean        Function Define() As Boolean        Function GenerateCode(ByVal Info As EmitInfo) As Boolean        Function FindFirstParent(Of T As Class)() As T#If DEBUG Then    Sub Dump(ByVal Dumper As IndentedTextWriter)    ReadOnly Property ObjectID() As Integer#End If    End Interface    Class tm    End Class    Class Helper    End Class    Class Report    End Class    Class TypeDeclaration    End Class    Public Class ResolveInfo    End Class    Public Class IndentedTextWriter    End Class    Public Class EmitInfo    End Class    Public Class Compiler    End Class    Public Class Span    End Class    Public Class AssemblyDeclaration    End Class    Public Interface IMethod    End Interface    Public MustInherit Class BaseObject        Implements IBaseObject        Private m_Parent As IBaseObject        Private m_Location As Span        Friend Property Location() As Span Implements IBaseObject.Location            Get            End Get            Set(ByVal value As Span)            End Set        End Property        Overridable ReadOnly Property FullName() As String Implements IBaseObject.FullName            Get            End Get        End Property        Friend Function FindTypeParent() As TypeDeclaration        End Function        Friend Function FindMethod() As IBaseObject        End Function        Function FindFirstParent(Of T As Class)() As T Implements IBaseObject.FindFirstParent        End Function        Function FindFirstParent(Of T1 As {BaseObject}, T2 As {BaseObject})() As IBaseObject        End Function        Protected Sub New(ByVal Parent As IBaseObject)        End Sub        Protected Sub New(ByVal Parent As IBaseObject, ByVal Location As Span)        End Sub        Property Parent() As BaseObject            Get            End Get            Set(ByVal value As BaseObject)            End Set        End Property        Private Property pParent() As IBaseObject Implements IBaseObject.Parent            Get            End Get            Set(ByVal value As IBaseObject)            End Set        End Property        ReadOnly Property ParentAsParsedObject() As ParsedObject            Get            End Get        End Property        Friend Overridable ReadOnly Property Assembly() As AssemblyDeclaration Implements IBaseObject.Assembly            Get            End Get        End Property        Friend ReadOnly Property Report() As Report            Get            End Get        End Property        Overridable ReadOnly Property Compiler() As Compiler Implements IBaseObject.Compiler            Get            End Get        End Property        Friend Overridable ReadOnly Property tm() As tm            Get            End Get        End Property        Overridable Function ResolveCode(ByVal Info As ResolveInfo) As Boolean Implements IBaseObject.ResolveCode        End Function        Friend Overridable Function GenerateCode(ByVal Info As EmitInfo) As Boolean Implements IBaseObject.GenerateCode        End Function        Overridable Function Define() As Boolean Implements IBaseObject.Define        End Function#If DEBUG Then    Overridable Sub Dump(ByVal Dumper As IndentedTextWriter) Implements IBaseObject.Dump    End Sub    Private m_ObjectID As Integer = NewID()    Public Shared ObjectIDStop As Integer    Public Shared NextID As Integer    ReadOnly Property ObjectID() As Integer Implements IBaseObject.ObjectID        Get        End Get    End Property    Shared Function NewID() As Integer    End Function#End If    End Class    Public MustInherit Class ParsedObject        Inherits BaseObject        Sub CheckTypeReferencesNotResolved()        End Sub        Sub CheckCodeNotResolved()        End Sub        ReadOnly Property CodeResolved() As Boolean            Get            End Get        End Property        ReadOnly Property TypeReferencesResolved() As Boolean            Get            End Get        End Property        Protected Sub New(ByVal Parent As ParsedObject)            MyBase.new(Parent)        End Sub        Protected Sub New(ByVal Parent As ParsedObject, ByVal Location As Span)            MyBase.new(Parent, Location)        End Sub        Property HasErrors() As Boolean            Get            End Get            Set(ByVal value As Boolean)            End Set        End Property        Shadows Property Parent() As ParsedObject            Get            End Get            Set(ByVal value As ParsedObject)            End Set        End Property        Overridable Function ResolveTypeReferences() As Boolean        End Function    End Class    Public Class CodeBlock        Inherits ParsedObject        Sub New(ByVal Parent As ParsedObject)            MyBase.New(Parent)        End Sub        ReadOnly Property EndOfMethodLabel() As Label            Get            End Get        End Property        Property FirstStatement() As BaseObject            Get            End Get            Set(ByVal value As BaseObject)            End Set        End Property        Property HasResume() As Boolean            Get            End Get            Set(ByVal value As Boolean)            End Set        End Property        Property HasUnstructuredExceptionHandling() As Boolean            Get            End Get            Set(ByVal value As Boolean)            End Set        End Property        Property HasStructuredExceptionHandling() As Boolean            Get            End Get            Set(ByVal value As Boolean)            End Set        End Property        Private Function GenerateUnstructuredStart(ByVal Info As EmitInfo) As Boolean        End Function        Friend Overloads Function GenerateCode(ByVal Method As IMethod) As Boolean        End Function        Private Function CreateLabelForCurrentInstruction(ByVal Info As EmitInfo) As Boolean        End Function        Friend Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean        End Function        Overridable ReadOnly Property IsOneLiner() As Boolean            Get            End Get        End Property        Public Overrides Function ResolveTypeReferences() As Boolean        End Function        Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean        End Function#If DEBUG Then    Public Overrides Sub Dump(ByVal Dumper As IndentedTextWriter)    End Sub#End If    End ClassEnd Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -