Пример #1
0
        protected DwarfMethodSource GetMethodSource(DieSubprogram subprog,
							     int start_row, int end_row)
        {
            DwarfMethodSource source;
            source = (DwarfMethodSource) method_source_hash [subprog.Offset];
            if (source != null)
                return source;

            source = new DwarfMethodSource (subprog, start_row, end_row);
            method_source_hash.Add (subprog.Offset, source);
            return source;
        }
Пример #2
0
            public DwarfTargetMethod(DieSubprogram subprog, LineNumberEngine engine)
                : base(subprog.Name, subprog.ImageFile, subprog.dwarf.module)
            {
                this.subprog = subprog;
                this.engine = engine;

                CheckLoaded ();
                Name = subprog.Name;
            }
Пример #3
0
            public DwarfTargetVariable(DieSubprogram subprog, string name, TargetType type,
						    DwarfLocation location, DieLexicalBlock lexical_block)
            {
                this.name = name;
                this.type = type;
                this.location = location;
                this.lexical_block = lexical_block;
            }
Пример #4
0
 public DwarfLocation(DieSubprogram subprog, Attribute attribute, bool is_byref)
     : this(subprog.comp_unit, subprog.FrameBase, attribute, is_byref)
 {
 }
Пример #5
0
 public DwarfMethodSource(DieSubprogram subprog, int start_row, int end_row)
 {
     this.subprog = subprog;
     this.start_row = start_row;
     this.end_row = end_row;
 }
Пример #6
0
            public DieVariable(DieSubprogram parent, DwarfBinaryReader reader,
					    CompilationUnit comp_unit, AbbrevEntry abbrev)
                : base(parent, reader, comp_unit, abbrev, null, true)
            {
            }
Пример #7
0
            public DieVariable(DieSubprogram parent, DwarfBinaryReader reader,
					    CompilationUnit comp_unit, AbbrevEntry abbrev,
					    DieLexicalBlock lexical)
                : base(parent, reader, comp_unit, abbrev, lexical, true)
            {
            }
Пример #8
0
            void DoResolveSpecification(DieSubprogram specification)
            {
                specification.Resolve ();

                if ((name == null) && (specification.name != null))
                    name = specification.name;
                if ((local_dies == null) && (specification.local_dies != null))
                    local_dies = specification.local_dies;
                if ((param_dies == null) && (specification.param_dies != null))
                    param_dies = specification.param_dies;
            }
Пример #9
0
            public DieMethodVariable(DieSubprogram subprog, DwarfBinaryReader reader,
						  CompilationUnit comp_unit, AbbrevEntry abbrev,
						  DieLexicalBlock lexical_block, bool is_local)
                : base(reader, comp_unit, abbrev)
            {
                this.subprog = subprog;
                this.lexical_block = lexical_block;

                if (subprog != null) {
                    if (is_local)
                        subprog.AddLocal (this);
                    else
                        subprog.AddParameter (this);
                }
            }
Пример #10
0
            public DieLexicalBlock(DieSubprogram subprog, DwarfBinaryReader reader,
						CompilationUnit comp_unit, AbbrevEntry abbrev)
                : base(reader, comp_unit, abbrev)
            {
                this.subprog = subprog;
            }
Пример #11
0
            public DieFormalParameter(DieSubprogram parent, DwarfBinaryReader reader,
						   CompilationUnit comp_unit, AbbrevEntry abbrev)
                : base(parent, reader, comp_unit, abbrev, null, false)
            {
            }
Пример #12
0
 public void AddSubprogram(long offset, DieSubprogram subprog)
 {
     subprogs.Add (offset, subprog);
 }