code: func (self *Otto) CompileWithSourceMap(filename string, src, sm interface{}) (*Script, error) {
  	program, err := self.runtime.parse(filename, src, sm)
  	if err != nil {
  		return nil, err
  	}
  
  	cmpl_program := cmpl_parse(program)
  
  	script := &Script{
  		version:  scriptVersion,
  		program:  cmpl_program,
  		filename: filename,
  		src:      program.File.Source(),
  	}
  
  	return script, nil
  }
docs: // CompileWithSourceMap does the same thing as Compile, but with the obvious
  // difference of applying a source map.