
public interface Codeaccess {
	
	public class SourceCodeWrapper {
		public String filename; // full path source file, null if not known
		public int line;   // line number, -1 if not known 
		public String classname; // class name, if appropriate; otherwise null
		public String function; // function name
		public String code; // actual source code, null if not known.
	}

	
	// given a filename and line number, return
	// the source code in that position
	public SourceCodeWrapper getSourceCode(String filename, int line);  

	// given the physical address of the code in .text,
	// return the respective source code
	// (will need to get access to debug symbol table
	//  on FUN and SLINE)
	public SourceCodeWrapper getSourceCode(long phy_addr);

}


/* needs from other components:
 *   symbol table: will need to get access filename and line number
 *                 based on physical address.
 *         -->     SourceInfo lookupSource(long addr);
 *
 */
