summaryrefslogtreecommitdiffstats
path: root/vm/UtfString.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2011-06-17 15:59:16 -0700
committerElliott Hughes <enh@google.com>2011-06-17 16:46:08 -0700
commitd8a3f9fa1951e552f5f65c2914689083cc0c46c2 (patch)
treee297eb5d43751f2e66ca2f143eed692e8fb1b2ba /vm/UtfString.cpp
parent837eabb829417c1542037423c55536649de404b8 (diff)
downloadandroid_dalvik-d8a3f9fa1951e552f5f65c2914689083cc0c46c2.tar.gz
android_dalvik-d8a3f9fa1951e552f5f65c2914689083cc0c46c2.tar.bz2
android_dalvik-d8a3f9fa1951e552f5f65c2914689083cc0c46c2.zip
Make some of the StringObject functions member functions.
Change-Id: I72ed13c16f0cb24498772c453ba268a0f65f208a
Diffstat (limited to 'vm/UtfString.cpp')
-rw-r--r--vm/UtfString.cpp47
1 files changed, 13 insertions, 34 deletions
diff --git a/vm/UtfString.cpp b/vm/UtfString.cpp
index 05bac533b..63d116eac 100644
--- a/vm/UtfString.cpp
+++ b/vm/UtfString.cpp
@@ -305,63 +305,42 @@ char* dvmCreateCstrFromString(const StringObject* jstr)
return newStr;
}
-/*
- * Create a UTF-8 C string from a region of a java/lang/String. (Used by
- * the JNI GetStringUTFRegion call.)
- */
-void dvmCreateCstrFromStringRegion(const StringObject* jstr,
+void dvmGetStringUtfRegion(const StringObject* jstr,
int start, int len, char* buf)
{
- const u2* data = dvmStringChars(jstr) + start;
+ const u2* data = jstr->chars() + start;
convertUtf16ToUtf8(buf, data, len);
}
-/*
- * Compute the length, in modified UTF-8, of a java/lang/String object.
- *
- * Does not include the terminating null byte.
- */
-int dvmStringUtf8ByteLen(const StringObject* jstr)
+int StringObject::utfLength() const
{
assert(gDvm.classJavaLangString != NULL);
- if (jstr == NULL) {
- return 0; // should we throw something? assert?
- }
- int len = dvmGetFieldInt(jstr, STRING_FIELDOFF_COUNT);
- int offset = dvmGetFieldInt(jstr, STRING_FIELDOFF_OFFSET);
+ int len = dvmGetFieldInt(this, STRING_FIELDOFF_COUNT);
+ int offset = dvmGetFieldInt(this, STRING_FIELDOFF_OFFSET);
ArrayObject* chars =
- (ArrayObject*) dvmGetFieldObject(jstr, STRING_FIELDOFF_VALUE);
+ (ArrayObject*) dvmGetFieldObject(this, STRING_FIELDOFF_VALUE);
const u2* data = (const u2*)(void*)chars->contents + offset;
assert(offset + len <= (int) chars->length);
return utf16_utf8ByteLen(data, len);
}
-/*
- * Get the string's length.
- */
-int dvmStringLen(const StringObject* jstr)
+int StringObject::length() const
{
- return dvmGetFieldInt(jstr, STRING_FIELDOFF_COUNT);
+ return dvmGetFieldInt(this, STRING_FIELDOFF_COUNT);
}
-/*
- * Get the char[] object from the String.
- */
-ArrayObject* dvmStringCharArray(const StringObject* jstr)
+ArrayObject* StringObject::array() const
{
- return (ArrayObject*) dvmGetFieldObject(jstr, STRING_FIELDOFF_VALUE);
+ return (ArrayObject*) dvmGetFieldObject(this, STRING_FIELDOFF_VALUE);
}
-/*
- * Get the string's data.
- */
-const u2* dvmStringChars(const StringObject* jstr)
+const u2* StringObject::chars() const
{
- int offset = dvmGetFieldInt(jstr, STRING_FIELDOFF_OFFSET);
+ int offset = dvmGetFieldInt(this, STRING_FIELDOFF_OFFSET);
ArrayObject* chars =
- (ArrayObject*) dvmGetFieldObject(jstr, STRING_FIELDOFF_VALUE);
+ (ArrayObject*) dvmGetFieldObject(this, STRING_FIELDOFF_VALUE);
return (const u2*)(void*)chars->contents + offset;
}