diff --git a/package.json b/package.json index 6bed16f..c0f6b1e 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,9 @@ "breakpoints": [ { "language": "java" + }, + { + "language": "kotlin" } ], "debuggers": [ diff --git a/src/debugMain.js b/src/debugMain.js index f7a0b8e..77f51d9 100644 --- a/src/debugMain.js +++ b/src/debugMain.js @@ -479,7 +479,7 @@ class AndroidDebugSession extends DebugSession { package: pkgname, package_path: fpn, srcroot: path.join(app_root,src_folder), - public_classes: subfiles.filter(sf => /^[a-zA-Z_$][a-zA-Z0-9_$]*\.java$/.test(sf)).map(sf => sf.match(/^(.*)\.java$/)[1]) + public_classes: subfiles.filter(sf => /^[a-zA-Z_$][a-zA-Z0-9_$]*\.(?:java|kt)$/.test(sf)).map(sf => sf.match(/^(.*)\.(?:java|kt)$/)[1]) } } // add the subfiles to the list to process @@ -594,7 +594,7 @@ class AndroidDebugSession extends DebugSession { // create a fake pkginfo to use to construct the bp pkginfo = { srcroot:this._android_sources_path } } - if (!pkginfo || !/\.java$/i.test(srcfpn)) { + if (!pkginfo || !/\.(java|kt)$/i.test(srcfpn)) { // source file is not a java file or is outside of the known source packages // just send back a list of unverified breakpoints response.body = { diff --git a/src/debugger.js b/src/debugger.js index e477ad5..f34f897 100644 --- a/src/debugger.js +++ b/src/debugger.js @@ -525,7 +525,7 @@ Debugger.prototype = { }, _splitsrcfpn: function (srcfpn) { - var m = srcfpn.match(/^\/([^/]+(?:\/[^/]+)*)?\/([^./]+)\.java$/); + var m = srcfpn.match(/^\/([^/]+(?:\/[^/]+)*)?\/([^./]+)\.(java|kt)$/); return { pkg: m[1].replace(/\/+/g, '.'), type: m[2],