code: func (c *Debugger) SetScriptSourceWithParams(v *DebuggerSetScriptSourceParams) ([]*DebuggerCallFrame, bool, *RuntimeStackTrace, *RuntimeStackTraceId, *RuntimeExceptionDetails, error) {
  	resp, err := gcdmessage.SendCustomReturn(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Debugger.setScriptSource", Params: v})
  	if err != nil {
  		return nil, false, nil, nil, nil, err
  	}
  
  	var chromeData struct {
  		Result struct {
  			CallFrames        []*DebuggerCallFrame
  			StackChanged      bool
  			AsyncStackTrace   *RuntimeStackTrace
  			AsyncStackTraceId *RuntimeStackTraceId
  			ExceptionDetails  *RuntimeExceptionDetails
  		}
  	}
  
  	if resp == nil {
  		return nil, false, nil, nil, nil, &gcdmessage.ChromeEmptyResponseErr{}
  	}
  
  	// test if error first
  	cerr := &gcdmessage.ChromeErrorResponse{}
  	json.Unmarshal(resp.Data, cerr)
  	if cerr != nil && cerr.Error != nil {
  		return nil, false, nil, nil, nil, &gcdmessage.ChromeRequestErr{Resp: cerr}
  	}
  
  	if err := json.Unmarshal(resp.Data, &chromeData); err != nil {
  		return nil, false, nil, nil, nil, err
  	}
  
  	return chromeData.Result.CallFrames, chromeData.Result.StackChanged, chromeData.Result.AsyncStackTrace, chromeData.Result.AsyncStackTraceId, chromeData.Result.ExceptionDetails, nil
  }
docs: // SetScriptSourceWithParams - Edits JavaScript source live.
  // Returns -  callFrames - New stack trace in case editing has happened while VM was stopped. stackChanged - Whether current call stack  was modified after applying the changes. asyncStackTrace - Async stack trace, if any. asyncStackTraceId - Async stack trace, if any. exceptionDetails - Exception details if any.