29
29
#if ENABLE(MAC_JAVA_BRIDGE)
31
#include <jni_utility.h>
32
#include <jni_instance.h>
33
#include <runtime/JSLock.h>
31
#include "JNIUtility.h"
32
#include "JavaInstanceJSC.h"
35
#include "JavaStringJSC.h"
49
JSLock lock(SilenceAssertionsOnly);
50
_rep = UString().rep();
53
void _commonInit (JNIEnv *e, jstring s)
55
int _size = e->GetStringLength (s);
56
const jchar *uc = getUCharactersFromJStringInEnv (e, s);
58
JSLock lock(SilenceAssertionsOnly);
59
_rep = UString(reinterpret_cast<const UChar*>(uc), _size).rep();
61
releaseUCharactersForJStringInEnv (e, s, uc);
64
JavaString (JNIEnv *e, jstring s) {
68
JavaString (jstring s) {
69
_commonInit (getJNIEnv(), s);
74
JSLock lock(SilenceAssertionsOnly);
78
const char *UTF8String() const {
79
if (_utf8String.c_str() == 0) {
80
JSLock lock(SilenceAssertionsOnly);
81
_utf8String = UString(_rep).UTF8String();
83
return _utf8String.c_str();
85
const jchar *uchars() const { return (const jchar *)_rep->data(); }
86
int length() const { return _rep->size(); }
87
operator UString() const { return UString(_rep); }
54
JavaString(JNIEnv* e, jstring s)
61
m_impl.init(getJNIEnv(), s);
64
const char* UTF8String() const { return m_impl.UTF8String(); }
65
const jchar* uchars() const { return m_impl.uchars(); }
66
int length() const { return m_impl.length(); }
68
operator UString() const { return m_impl.uString(); }
90
RefPtr<UString::Rep> _rep;
91
mutable CString _utf8String;
72
JavaStringImpl m_impl;
94
75
class JavaParameter
115
96
virtual JSValue valueFromInstance(ExecState *exec, const Instance *instance) const;
116
97
virtual void setValueToInstance(ExecState *exec, const Instance *instance, JSValue aValue) const;
118
UString::Rep* name() const { return ((UString)_name).rep(); }
99
const JavaString& name() const { return _name; }
119
100
virtual RuntimeType type() const { return _type.UTF8String(); }
121
102
JNIType getJNIType() const { return _JNIType; }
137
118
JavaMethod(JNIEnv* env, jobject aMethod);
140
UString::Rep* name() const { return ((UString)_name).rep(); }
121
const JavaString& name() const { return _name; }
141
122
RuntimeType returnType() const { return _returnType.UTF8String(); };
142
123
JavaParameter* parameterAt(int i) const { return &_parameters[i]; };
143
124
int numParameters() const { return _numParameters; };
172
153
virtual JSValue valueAt(ExecState *exec, unsigned int index) const;
173
154
virtual unsigned int getLength() const;
175
jobject javaArray() const { return _array->_instance; }
156
jobject javaArray() const { return _array->m_instance; }
177
158
static JSValue convertJObjectToArray (ExecState* exec, jobject anObject, const char* type, PassRefPtr<RootObject>);