SymtabAPI documentation work.
[dyninst.git] / symtabAPI / doc / API / LineInfo / LineInformation.tex
1 \subsection{Class LineInformation}\label{LineInformation}
2 This class represents an entire line map for a module. This contains mappings from a line number within a source to the address ranges.
3
4 \begin{apient}
5 bool getAddressRanges (const char * lineSource, 
6                                            unsigned int LineNo, 
7                                            std::vector< AddressRange > & ranges )
8 \end{apient}
9 \apidesc{
10 This methos returns the address ranges in ranges corresponding to the line with line number lineNo in the source file lineSource. Searches within this line map.
11 Return true if at least one address range corresponding to the line number was found and returns false if none found.
12 }
13
14 \begin{apient}
15 bool getSourceLines( Offset addressInRange, std::vector< Statement *> & lines );
16 bool getSourceLines( Offset addressInRange, std::vector< LineNoTuple > & lines);
17
18 \end{apient}
19 \apidesc{
20 These methods returns the source file names and line numbers corresponding to the given address addressInRange. Searches within this line map. 
21 Return true if at least one tuple corresponding to the offset was found and returns false if none found.
22 }
23
24 \begin{apient}
25 bool addLine(const char * lineSource, unsigned int lineNo, 
26             unsigned int lineOffset, Offset lowInclusiveAddr, 
27             Offset highExclusiveAddr)
28 \end{apient}
29 \apidesc{
30 This method adds a new line to the line Map. lineSource represents the source file name. lineNo represents the line number.
31 }
32
33 \begin{apient}
34 bool addAddressRange(Offset lowInclusiveAddr, Offset highExclusiveAddr,
35                     const char* lineSource, unsigned int lineNo, 
36                     unsigned int lineOffset = 0);
37 \end{apient}
38 \apidesc{
39 This method adds an address range [lowInclusiveAddr, highExclusiveAddr) for the line with line number lineNo in source file lineSource. 
40 }
41
42 \begin{apient}
43 LineInformation::const_iterator begin() const
44 \end{apient}
45 \apidesc{
46 This method returns an iterator pointing to the beginning of the line information for the module.
47 This is useful for iterating over the entire line information present in a module. An example described in Section 6.3.3 gives more information on how to use begin() for iterating over the line information.
48 }
49
50 \begin{apient}
51 LineInformation::const_iterator end() const
52 \end{apient}
53 \apidesc{
54 This method returns an iterator pointing to the end of the line information for the module.
55 This is useful for iterating over the entire line information present in a module. An example described in Section 6.3.3 gives more information on how to use end() for iterating over the line information.
56 }