From 9ec30398206f819b7fd63d28189f871eb2403d6d Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 5 Apr 2014 17:24:23 +0200 Subject: [PATCH 1/3] Update to current rust: struct fields are private by default. --- jsapi.rs | 72 ++++++++++++++++++++++++++++---------------------------- rust.rs | 2 +- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/jsapi.rs b/jsapi.rs index c2e88c5e1..6bd2a5e8e 100644 --- a/jsapi.rs +++ b/jsapi.rs @@ -478,22 +478,22 @@ pub type JSGCMode = enum_JSGCMode; pub type JSClassInternal = *u8; pub struct JSClass { - name: *c_char, - flags: uint32_t, - addProperty: Option, - delProperty: Option, - getProperty: Option, - setProperty: Option, - enumerate: Option, - resolve: Option, - convert: Option, - finalize: Option, - checkAccess: Option, - call: Option, - hasInstance: Option, - construct: Option, - trace: Option, - reserved: (*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void), + pub name: *c_char, + pub flags: uint32_t, + pub addProperty: Option, + pub delProperty: Option, + pub getProperty: Option, + pub setProperty: Option, + pub enumerate: Option, + pub resolve: Option, + pub convert: Option, + pub finalize: Option, + pub checkAccess: Option, + pub call: Option, + pub hasInstance: Option, + pub construct: Option, + pub trace: Option, + pub reserved: (*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void,*c_void), } pub struct struct_JSConstDoubleSpec { @@ -538,8 +538,8 @@ impl Clone for JSPropertyOpWrapper { } pub struct JSNativeWrapper { - op: Option, - info: *JSJitInfo, + pub op: Option, + pub info: *JSJitInfo, } impl Clone for JSNativeWrapper { @@ -562,11 +562,11 @@ pub struct JSPropertySpec { #[deriving(Clone)] pub struct JSFunctionSpec { - name: *c_char, - call: JSNativeWrapper, - nargs: uint16_t, - flags: uint16_t, - selfHostedName: *c_char, + pub name: *c_char, + pub call: JSNativeWrapper, + pub nargs: uint16_t, + pub flags: uint16_t, + pub selfHostedName: *c_char, } pub struct struct_JSPropertyDescriptor { @@ -612,19 +612,19 @@ pub struct struct_JSLocaleCallbacks { } pub struct struct_JSErrorReport { - filename: *c_char, - originPrincipals: *JSPrincipals, - lineno: c_uint, - linebuf: *c_char, - tokenptr: *c_char, - uclinebuf: *jschar, - uctokenptr: *jschar, - flags: c_uint, - errorNumber: c_uint, - ucmessage: *jschar, - messageArgs: **jschar, - exnType: int16_t, - column: c_uint, + pub filename: *c_char, + pub originPrincipals: *JSPrincipals, + pub lineno: c_uint, + pub linebuf: *c_char, + pub tokenptr: *c_char, + pub uclinebuf: *jschar, + pub uctokenptr: *jschar, + pub flags: c_uint, + pub errorNumber: c_uint, + pub ucmessage: *jschar, + pub messageArgs: **jschar, + pub exnType: int16_t, + pub column: c_uint, } pub struct struct_unnamed1 { diff --git a/rust.rs b/rust.rs index a54eea3cd..70b8514e6 100644 --- a/rust.rs +++ b/rust.rs @@ -281,7 +281,7 @@ pub type jsobj = rc::Rc; pub struct jsobj_rsrc { cx: rc::Rc, cxptr: *JSContext, - ptr: *JSObject, + pub ptr: *JSObject, } #[unsafe_destructor] From 725383cb919017109a8814ae201033435a77885c Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 5 Apr 2014 17:25:06 +0200 Subject: [PATCH 2/3] Update to current rust: update to Encoder changes. --- trace.rs | 110 +++++++++++++++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/trace.rs b/trace.rs index 3706cbfe4..254e26f93 100644 --- a/trace.rs +++ b/trace.rs @@ -6,76 +6,76 @@ use jsapi::JSTracer; use serialize::Encoder; -impl Encoder for JSTracer { - fn emit_nil(&mut self) {} - fn emit_uint(&mut self, _v: uint) {} - fn emit_u64(&mut self, _v: u64) {} - fn emit_u32(&mut self, __v: u32) {} - fn emit_u16(&mut self, _v: u16) {} - fn emit_u8(&mut self, _v: u8) {} - fn emit_int(&mut self, _v: int) {} - fn emit_i64(&mut self, _v: i64) {} - fn emit_i32(&mut self, _v: i32) {} - fn emit_i16(&mut self, _v: i16) {} - fn emit_i8(&mut self, _v: i8) {} - fn emit_bool(&mut self, _v: bool) {} - fn emit_f64(&mut self, _v: f64) {} - fn emit_f32(&mut self, _v: f32) {} - fn emit_char(&mut self, _v: char) {} - fn emit_str(&mut self, _v: &str) {} - fn emit_enum(&mut self, _name: &str, f: |&mut JSTracer|) { - f(self); +impl Encoder<()> for JSTracer { + fn emit_nil(&mut self) -> Result<(), ()> { Ok(()) } + fn emit_uint(&mut self, _v: uint) -> Result<(), ()> { Ok(()) } + fn emit_u64(&mut self, _v: u64) -> Result<(), ()> { Ok(()) } + fn emit_u32(&mut self, __v: u32) -> Result<(), ()> { Ok(()) } + fn emit_u16(&mut self, _v: u16) -> Result<(), ()> { Ok(()) } + fn emit_u8(&mut self, _v: u8) -> Result<(), ()> { Ok(()) } + fn emit_int(&mut self, _v: int) -> Result<(), ()> { Ok(()) } + fn emit_i64(&mut self, _v: i64) -> Result<(), ()> { Ok(()) } + fn emit_i32(&mut self, _v: i32) -> Result<(), ()> { Ok(()) } + fn emit_i16(&mut self, _v: i16) -> Result<(), ()> { Ok(()) } + fn emit_i8(&mut self, _v: i8) -> Result<(), ()> { Ok(()) } + fn emit_bool(&mut self, _v: bool) -> Result<(), ()> { Ok(()) } + fn emit_f64(&mut self, _v: f64) -> Result<(), ()> { Ok(()) } + fn emit_f32(&mut self, _v: f32) -> Result<(), ()> { Ok(()) } + fn emit_char(&mut self, _v: char) -> Result<(), ()> { Ok(()) } + fn emit_str(&mut self, _v: &str) -> Result<(), ()> { Ok(()) } + fn emit_enum(&mut self, _name: &str, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_enum_variant(&mut self, _v_name: &str, _v_id: uint, _len: uint, f: |&mut JSTracer|) { - f(self); + fn emit_enum_variant(&mut self, _v_name: &str, _v_id: uint, _len: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_enum_variant_arg(&mut self, _a_idx: uint, f: |&mut JSTracer|) { - f(self); + fn emit_enum_variant_arg(&mut self, _a_idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_enum_struct_variant(&mut self, _v_name: &str, _v_id: uint, _len: uint, f: |&mut JSTracer|) { - f(self); + fn emit_enum_struct_variant(&mut self, _v_name: &str, _v_id: uint, _len: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: uint, f: |&mut JSTracer|) { - f(self); + fn emit_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_struct(&mut self, _name: &str, _len: uint, f: |&mut JSTracer|) { - f(self); + fn emit_struct(&mut self, _name: &str, _len: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_struct_field(&mut self, _f_name: &str, _f_idx: uint, f: |&mut JSTracer|) { - f(self); + fn emit_struct_field(&mut self, _f_name: &str, _f_idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_tuple(&mut self, _len: uint, f: |&mut JSTracer|) { - f(self); + fn emit_tuple(&mut self, _len: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_tuple_arg(&mut self, _idx: uint, f: |&mut JSTracer|) { - f(self); + fn emit_tuple_arg(&mut self, _idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_tuple_struct(&mut self, _name: &str, _len: uint, f: |&mut JSTracer|) { - f(self); + fn emit_tuple_struct(&mut self, _name: &str, _len: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_tuple_struct_arg(&mut self, _f_idx: uint, f: |&mut JSTracer|) { - f(self); + fn emit_tuple_struct_arg(&mut self, _f_idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_option(&mut self, f: |&mut JSTracer|) { - f(self); + fn emit_option(&mut self, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_option_none(&mut self) {} - fn emit_option_some(&mut self, f: |&mut JSTracer|) { - f(self); + fn emit_option_none(&mut self) -> Result<(), ()> { Ok(()) } + fn emit_option_some(&mut self, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_seq(&mut self, _len: uint, f: |this: &mut JSTracer|) { - f(self); + fn emit_seq(&mut self, _len: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_seq_elt(&mut self, _idx: uint, f: |this: &mut JSTracer|) { - f(self); + fn emit_seq_elt(&mut self, _idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_map(&mut self, _len: uint, f: |&mut JSTracer|) { - f(self); + fn emit_map(&mut self, _len: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_map_elt_key(&mut self, _idx: uint, f: |&mut JSTracer|) { - f(self); + fn emit_map_elt_key(&mut self, _idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } - fn emit_map_elt_val(&mut self, _idx: uint, f: |&mut JSTracer|) { - f(self); + fn emit_map_elt_val(&mut self, _idx: uint, f: |&mut JSTracer| -> Result<(), ()>) -> Result<(), ()> { + f(self) } -} \ No newline at end of file +} From ae40e047590585aa46373e3abbd3ea48846b84ca Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 5 Apr 2014 17:36:47 +0200 Subject: [PATCH 3/3] Update to current rust: pass the extra argument to green::start. --- js.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js.rc b/js.rc index 62cd641a3..ca1dd2f72 100644 --- a/js.rc +++ b/js.rc @@ -153,5 +153,5 @@ pub unsafe fn JS_CALLEE(_cx: *JSContext, vp: *JSVal) -> JSVal { #[cfg(test)] #[start] fn start(argc: int, argv: **u8) -> int { - green::start(argc, argv, __test::main) + green::start(argc, argv, rustuv::event_loop, __test::main) }