Commit a237db55 authored by Max Kellermann's avatar Max Kellermann Committed by Max Kellermann

java/File: add non-static GetAbsolutePath() overload

parent 285ba54f
...@@ -54,7 +54,7 @@ Java::File::ToAbsolutePath(JNIEnv *env, jobject _file) noexcept ...@@ -54,7 +54,7 @@ Java::File::ToAbsolutePath(JNIEnv *env, jobject _file) noexcept
LocalObject file(env, _file); LocalObject file(env, _file);
const jstring path = getAbsolutePath(env, file); const jstring path = GetAbsolutePath(env, file);
if (DiscardException(env) || path == nullptr) if (DiscardException(env) || path == nullptr)
return nullptr; return nullptr;
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#define JAVA_FILE_HXX #define JAVA_FILE_HXX
#include "Object.hxx" #include "Object.hxx"
#include "String.hxx"
#include <jni.h> #include <jni.h>
...@@ -51,11 +52,19 @@ public: ...@@ -51,11 +52,19 @@ public:
static void Initialise(JNIEnv *env) noexcept; static void Initialise(JNIEnv *env) noexcept;
gcc_nonnull_all gcc_nonnull_all
static jstring getAbsolutePath(JNIEnv *env, jobject file) noexcept { static jstring GetAbsolutePath(JNIEnv *env, jobject file) noexcept {
return (jstring)env->CallObjectMethod(file, return (jstring)env->CallObjectMethod(file,
getAbsolutePath_method); getAbsolutePath_method);
} }
String GetAbsolutePath() const noexcept {
return {GetEnv(), GetAbsolutePath(GetEnv(), Get())};
}
String GetAbsolutePathChecked() const noexcept {
return *this ? GetAbsolutePath() : nullptr;
}
/** /**
* Invoke File.getAbsolutePath() and release the * Invoke File.getAbsolutePath() and release the
* specified File reference. * specified File reference.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment