Mono.CompilerServices.SymbolWriter.MonoSymbolFile.GetCompileUnit C# (CSharp) Метод

GetCompileUnit() публичный Метод

public GetCompileUnit ( int index ) : CompileUnitEntry
index int
Результат CompileUnitEntry
        public CompileUnitEntry GetCompileUnit(int index)
        {
            if ((index < 1) || (index > ot.CompileUnitCount))
                throw new ArgumentException ();
            if (reader == null)
                throw new InvalidOperationException ();

            lock (this) {
                CompileUnitEntry unit;
                if (compile_unit_hash.TryGetValue (index, out unit))
                    return unit;

                long old_pos = reader.BaseStream.Position;

                reader.BaseStream.Position = ot.CompileUnitTableOffset +
                    CompileUnitEntry.Size * (index - 1);
                unit = new CompileUnitEntry (this, reader);
                compile_unit_hash.Add (index, unit);

                reader.BaseStream.Position = old_pos;
                return unit;
            }
        }

Usage Example

Пример #1
0
        internal MethodEntry(MonoSymbolFile file, MyBinaryReader reader, int index)
        {
            this.SymbolFile = file;
            this.index      = index;

            Token                 = reader.ReadInt32();
            DataOffset            = reader.ReadInt32();
            LineNumberTableOffset = reader.ReadInt32();

            long old_pos = reader.BaseStream.Position;

            reader.BaseStream.Position = DataOffset;

            CompileUnitIndex         = reader.ReadLeb128();
            LocalVariableTableOffset = reader.ReadLeb128();
            NamespaceID = reader.ReadLeb128();

            CodeBlockTableOffset     = reader.ReadLeb128();
            ScopeVariableTableOffset = reader.ReadLeb128();

            RealNameOffset = reader.ReadLeb128();

            flags = (Flags)reader.ReadLeb128();

            reader.BaseStream.Position = old_pos;

            CompileUnit = file.GetCompileUnit(CompileUnitIndex);
        }
All Usage Examples Of Mono.CompilerServices.SymbolWriter.MonoSymbolFile::GetCompileUnit