Стандартный подход:
  создать QScriptEngine 
  отобразить некие объекты в скрипт (они доступны в теле скрипта)
  выполнить
C++ (Qt)
QScriptEngine scriptEngine;
QFile file("./js_script.js");
if(file.open(QIODevice::ReadOnly)) {
   QScriptValue val = scriptEngine.newQObject(qtMyObject);
   scriptEngine.globalObject().setProperty("jsMyObject", val);
 
   QString strScript = file.readAll();
 
   QString strRes = scriptEngine.evaluate(strScript).toString();
   if(scriptEngine.hasUncaughtException()) {
      qDebug() << "Exception: file " << file.fileName()
               << " Line " << scriptEngine.uncaughtExceptionLineNumber()
               << " result " strRes;
   }
}
В скрипте происходит следующее:
Java
var __LINE__ = 3;
function test(){
  jsMyObject.appendLog("Ok", __LINE__);
}
test();
Из js выполняется метод Q_INVOKABLE  void qtMyObject::appendLog(Qstring, int)
Вот я и спрашиваю, существует ли "Эквивалент Си-шного макроса __LINE__  в контексте скрипта"?