+static JSValueRef CString_getProperty_length(JSContextRef context, JSObjectRef object, JSStringRef property, JSValueRef *exception) { CYTry {
+ CString *internal(reinterpret_cast<CString *>(JSObjectGetPrivate(object)));
+ char *string(static_cast<char *>(internal->value_));
+ return CYCastJSValue(context, strlen(string));
+} CYCatch(NULL) }
+
+static JSValueRef CString_getProperty_type(JSContextRef context, JSObjectRef object, JSStringRef property, JSValueRef *exception) { CYTry {
+ sig::Type type;
+ type.name = NULL;
+ type.flags = 0;
+
+ type.primitive = sig::char_P;
+ type.data.data.type = NULL;
+ type.data.data.size = 0;
+
+ return CYMakeType(context, &type);
+} CYCatch(NULL) }
+
+static JSValueRef Pointer_getProperty_type(JSContextRef context, JSObjectRef object, JSStringRef property, JSValueRef *exception) { CYTry {
+ Pointer *internal(reinterpret_cast<Pointer *>(JSObjectGetPrivate(object)));
+ return CYMakeType(context, internal->type_->type_);
+} CYCatch(NULL) }
+
+static JSValueRef CString_callAsFunction_toCYON(JSContextRef context, JSObjectRef object, JSObjectRef _this, size_t count, const JSValueRef arguments[], JSValueRef *exception) { CYTry {
+ Pointer *internal(reinterpret_cast<Pointer *>(JSObjectGetPrivate(_this)));
+ const char *string(static_cast<const char *>(internal->value_));
+ std::ostringstream str;
+ str << "&";
+ CYStringify(str, string, strlen(string), true);
+ std::string value(str.str());
+ return CYCastJSValue(context, CYJSString(CYUTF8String(value.c_str(), value.size())));
+} CYCatch(NULL) }
+
+static JSValueRef CString_callAsFunction_toString(JSContextRef context, JSObjectRef object, JSObjectRef _this, size_t count, const JSValueRef arguments[], JSValueRef *exception) { CYTry {
+ Pointer *internal(reinterpret_cast<Pointer *>(JSObjectGetPrivate(_this)));
+ const char *string(static_cast<const char *>(internal->value_));
+ return CYCastJSValue(context, string);
+} CYCatch(NULL) }
+