on master help sign in
Rename the change list interpreter from `ChangeList` to `ChangeListInterpreter`

And rename its source file from `js/change-list.js` to `js/change-list-interpreter.js`, and variables that hold instances of it from `js` to `interpreter`.

commitf7a632a4087f3cd87d0f907631cb06087d1af58a authorNick Fitzgerald <fitzgen@gmail.com> dateFri 5 Apr 2019, 13:27 (8 years ago) parent6b0cbf4
4 files changed+74−90
js/change-list.js → js/change-list-interpreter.js+54−54 js/package-lock.json−5 js/package.json−11 src/change_list.rs+20−20
js/change-list.js → js/change-list-interpreter.jsrenamed+54−54
@@ -11,17 +11,17 @@ function string(mem, pointer, length) {
1111
1212const OP_TABLE = [
1313 // 0
14− function setText(changeList, mem8, mem32, i) {
14+ function setText(interpreter, mem8, mem32, i) {
1515 const pointer = mem32[i++];
1616 const length = mem32[i++];
1717 const str = string(mem8, pointer, length);
18− top(changeList.stack).textContent = str;
18+ top(interpreter.stack).textContent = str;
1919 return i;
2020 },
2121
2222 // 1
23− function removeSelfAndNextSiblings(changeList, mem8, mem32, i) {
24− const node = changeList.stack.pop();
23+ function removeSelfAndNextSiblings(interpreter, mem8, mem32, i) {
24+ const node = interpreter.stack.pop();
2525 let sibling = node.nextSibling;
2626 while (sibling) {
2727 const temp = sibling.nextSibling;
@@ -33,21 +33,21 @@ const OP_TABLE = [
3333 },
3434
3535 // 2
36− function replaceWith(changeList, mem8, mem32, i) {
37− const newNode = changeList.stack.pop();
38− const oldNode = changeList.stack.pop();
36+ function replaceWith(interpreter, mem8, mem32, i) {
37+ const newNode = interpreter.stack.pop();
38+ const oldNode = interpreter.stack.pop();
3939 oldNode.replaceWith(newNode);
40− changeList.stack.push(newNode);
40+ interpreter.stack.push(newNode);
4141 return i;
4242 },
4343
4444 // 3
45− function setAttribute(changeList, mem8, mem32, i) {
45+ function setAttribute(interpreter, mem8, mem32, i) {
4646 const nameId = mem32[i++];
4747 const valueId = mem32[i++];
48− const name = changeList.getString(nameId);
49− const value = changeList.getString(valueId);
50− const node = top(changeList.stack);
48+ const name = interpreter.getString(nameId);
49+ const value = interpreter.getString(valueId);
50+ const node = top(interpreter.stack);
5151 node.setAttribute(name, value);
5252
5353 // Some attributes are "volatile" and don't work through `setAttribute`.
@@ -65,10 +65,10 @@ const OP_TABLE = [
6565 },
6666
6767 // 4
68− function removeAttribute(changeList, mem8, mem32, i) {
68+ function removeAttribute(interpreter, mem8, mem32, i) {
6969 const nameId = mem32[i++];
70− const name = changeList.getString(nameId);
71− const node = top(changeList.stack);
70+ const name = interpreter.getString(nameId);
71+ const node = top(interpreter.stack);
7272 node.removeAttribute(name);
7373
7474 // Some attributes are "volatile" and don't work through `removeAttribute`.
@@ -86,120 +86,120 @@ const OP_TABLE = [
8686 },
8787
8888 // 5
89− function pushFirstChild(changeList, mem8, mem32, i) {
90− changeList.stack.push(top(changeList.stack).firstChild);
89+ function pushFirstChild(interpreter, mem8, mem32, i) {
90+ interpreter.stack.push(top(interpreter.stack).firstChild);
9191 return i;
9292 },
9393
9494 // 6
95− function popPushNextSibling(changeList, mem8, mem32, i) {
96− const node = changeList.stack.pop();
97− changeList.stack.push(node.nextSibling);
95+ function popPushNextSibling(interpreter, mem8, mem32, i) {
96+ const node = interpreter.stack.pop();
97+ interpreter.stack.push(node.nextSibling);
9898 return i;
9999 },
100100
101101 // 7
102− function pop(changeList, mem8, mem32, i) {
103− changeList.stack.pop();
102+ function pop(interpreter, mem8, mem32, i) {
103+ interpreter.stack.pop();
104104 return i;
105105 },
106106
107107 // 8
108− function appendChild(changeList, mem8, mem32, i) {
109− const child = changeList.stack.pop();
110− top(changeList.stack).appendChild(child);
108+ function appendChild(interpreter, mem8, mem32, i) {
109+ const child = interpreter.stack.pop();
110+ top(interpreter.stack).appendChild(child);
111111 return i;
112112 },
113113
114114 // 9
115− function createTextNode(changeList, mem8, mem32, i) {
115+ function createTextNode(interpreter, mem8, mem32, i) {
116116 const pointer = mem32[i++];
117117 const length = mem32[i++];
118118 const text = string(mem8, pointer, length);
119− changeList.stack.push(document.createTextNode(text));
119+ interpreter.stack.push(document.createTextNode(text));
120120 return i;
121121 },
122122
123123 // 10
124− function createElement(changeList, mem8, mem32, i) {
124+ function createElement(interpreter, mem8, mem32, i) {
125125 const tagNameId = mem32[i++];
126− const tagName = changeList.getString(tagNameId);
127− changeList.stack.push(document.createElement(tagName));
126+ const tagName = interpreter.getString(tagNameId);
127+ interpreter.stack.push(document.createElement(tagName));
128128 return i;
129129 },
130130
131131 // 11
132− function newEventListener(changeList, mem8, mem32, i) {
132+ function newEventListener(interpreter, mem8, mem32, i) {
133133 const eventId = mem32[i++];
134− const eventType = changeList.getString(eventId);
134+ const eventType = interpreter.getString(eventId);
135135 const a = mem32[i++];
136136 const b = mem32[i++];
137− const el = top(changeList.stack);
138− el.addEventListener(eventType, changeList.eventHandler);
137+ const el = top(interpreter.stack);
138+ el.addEventListener(eventType, interpreter.eventHandler);
139139 el[`dodrio-a-${eventType}`] = a;
140140 el[`dodrio-b-${eventType}`] = b;
141141 return i;
142142 },
143143
144144 // 12
145− function updateEventListener(changeList, mem8, mem32, i) {
145+ function updateEventListener(interpreter, mem8, mem32, i) {
146146 const eventId = mem32[i++];
147− const eventType = changeList.getString(eventId);
148− const el = top(changeList.stack);
147+ const eventType = interpreter.getString(eventId);
148+ const el = top(interpreter.stack);
149149 el[`dodrio-a-${eventType}`] = mem32[i++];
150150 el[`dodrio-b-${eventType}`] = mem32[i++];
151151 return i;
152152 },
153153
154154 // 13
155− function removeEventListener(changeList, mem8, mem32, i) {
155+ function removeEventListener(interpreter, mem8, mem32, i) {
156156 const eventId = mem32[i++];
157− const eventType = changeList.getString(eventId);
158− const el = top(changeList.stack);
159− el.removeEventListener(eventType, changeList.eventHandler);
157+ const eventType = interpreter.getString(eventId);
158+ const el = top(interpreter.stack);
159+ el.removeEventListener(eventType, interpreter.eventHandler);
160160 return i;
161161 },
162162
163163 // 14
164− function addString(changeList, mem8, mem32, i) {
164+ function addString(interpreter, mem8, mem32, i) {
165165 const pointer = mem32[i++];
166166 const length = mem32[i++];
167167 const id = mem32[i++];
168168 const str = string(mem8, pointer, length);
169− changeList.addString(str, id);
169+ interpreter.addString(str, id);
170170 return i;
171171 },
172172
173173 // 15
174− function dropString(changeList, mem8, mem32, i) {
174+ function dropString(interpreter, mem8, mem32, i) {
175175 const id = mem32[i++];
176− changeList.dropString(id);
176+ interpreter.dropString(id);
177177 return i;
178178 },
179179
180180 // 16
181− function createElementNS(changeList, mem8, mem32, i) {
181+ function createElementNS(interpreter, mem8, mem32, i) {
182182 const tagNameId = mem32[i++];
183− const tagName = changeList.getString(tagNameId);
183+ const tagName = interpreter.getString(tagNameId);
184184 const nsId = mem32[i++];
185− const ns = changeList.getString(nsId);
186− changeList.stack.push(document.createElementNS(ns, tagName));
185+ const ns = interpreter.getString(nsId);
186+ interpreter.stack.push(document.createElementNS(ns, tagName));
187187 return i;
188188 },
189189
190190 // 17
191− function setAttributeNS(changeList, mem8, mem32, i) {
191+ function setAttributeNS(interpreter, mem8, mem32, i) {
192192 const nameId = mem32[i++];
193193 const valueId = mem32[i++];
194− const name = changeList.getString(nameId);
195− const value = changeList.getString(valueId);
196− const node = top(changeList.stack);
194+ const name = interpreter.getString(nameId);
195+ const value = interpreter.getString(valueId);
196+ const node = top(interpreter.stack);
197197 node.setAttributeNS(null, name, value);
198198 return i;
199199 }
200200];
201201
202−export class ChangeList {
202+export class ChangeListInterpreter {
203203 constructor(container) {
204204 this.trampoline = null;
205205 this.container = container;
js/package-lock.jsondeleted−5
@@ -1,5 +0,0 @@
1−{
2− "name": "dodrio",
3− "version": "0.1.0",
4− "lockfileVersion": 1
5−}
js/package.jsondeleted−11
@@ -1,11 +0,0 @@
1−{
2− "name": "dodrio",
3− "version": "0.1.0",
4− "description": "Dodrio",
5− "main": "dodrio.js",
6− "scripts": {
7− "test": "echo \"Error: no test specified\" && exit 1"
8− },
9− "author": "Nick Fitzgerald <fitzgen@gmail.com>",
10− "license": "MPL-2.0"
11−}
src/change_list.rs+20−20
@@ -7,10 +7,10 @@ pub mod js {
77 cfg_if::cfg_if! {
88 if #[cfg(all(feature = "xxx-unstable-internal-use-only", not(target_arch = "wasm32")))] {
99 #[derive(Clone, Debug)]
10− pub struct ChangeList {}
11− impl ChangeList {
12− pub fn new(_container: &crate::Element) -> ChangeList {
13− ChangeList {}
10+ pub struct ChangeListInterpreter {}
11+ impl ChangeListInterpreter {
12+ pub fn new(_container: &crate::Element) -> ChangeListInterpreter {
13+ ChangeListInterpreter {}
1414 }
1515 pub fn unmount(&self) {}
1616 pub fn add_change_list_range(&self, _start: usize, _len: usize) {}
@@ -19,26 +19,26 @@ pub mod js {
1919 } else {
2020 use wasm_bindgen::prelude::*;
2121
22− #[wasm_bindgen(module = "/js/change-list.js")]
22+ #[wasm_bindgen(module = "/js/change-list-interpreter.js")]
2323 extern "C" {
2424 #[derive(Clone, Debug)]
25− pub type ChangeList;
25+ pub type ChangeListInterpreter;
2626
2727 #[wasm_bindgen(constructor)]
28− pub fn new(container: &web_sys::Element) -> ChangeList;
28+ pub fn new(container: &web_sys::Element) -> ChangeListInterpreter;
2929
3030 #[wasm_bindgen(structural, method)]
31− pub fn unmount(this: &ChangeList);
31+ pub fn unmount(this: &ChangeListInterpreter);
3232
3333 #[wasm_bindgen(structural, method, js_name = addChangeListRange)]
34− pub fn add_change_list_range(this: &ChangeList, start: usize, len: usize);
34+ pub fn add_change_list_range(this: &ChangeListInterpreter, start: usize, len: usize);
3535
3636 #[wasm_bindgen(structural, method, js_name = applyChanges)]
37− pub fn apply_changes(this: &ChangeList, memory: JsValue);
37+ pub fn apply_changes(this: &ChangeListInterpreter, memory: JsValue);
3838
3939 #[wasm_bindgen(structural, method, js_name = initEventsTrampoline)]
4040 pub fn init_events_trampoline(
41− this: &ChangeList,
41+ this: &ChangeListInterpreter,
4242 trampoline: &crate::EventsTrampoline,
4343 );
4444 }
@@ -55,14 +55,14 @@ pub(crate) struct ChangeList {
5555 bump: Bump,
5656 strings_cache: FxHashMap<String, StringsCacheEntry>,
5757 next_string_key: u32,
58− js: js::ChangeList,
58+ interpreter: js::ChangeListInterpreter,
5959 events_trampoline: Option<crate::EventsTrampoline>,
6060}
6161
6262impl Drop for ChangeList {
6363 fn drop(&mut self) {
6464 debug!("Dropping ChangeList");
65− self.js.unmount();
65+ self.interpreter.unmount();
6666 }
6767}
6868
@@ -70,7 +70,7 @@ impl fmt::Debug for ChangeList {
7070 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7171 f.debug_struct("ChangeList")
7272 .field("bump", &self.bump)
73− .field("js", &self.js)
73+ .field("interpreter", &self.interpreter)
7474 .field("events_trampoline", &"..")
7575 .finish()
7676 }
@@ -80,19 +80,19 @@ impl ChangeList {
8080 pub(crate) fn new(container: &crate::Element) -> ChangeList {
8181 let bump = Bump::new();
8282 let strings_cache = FxHashMap::default();
83− let js = js::ChangeList::new(container);
83+ let interpreter = js::ChangeListInterpreter::new(container);
8484 ChangeList {
8585 bump,
8686 strings_cache,
8787 next_string_key: 0,
88− js,
88+ interpreter,
8989 events_trampoline: None,
9090 }
9191 }
9292
9393 pub(crate) fn init_events_trampoline(&mut self, trampoline: crate::EventsTrampoline) {
9494 debug_assert!(self.events_trampoline.is_none());
95− self.js.init_events_trampoline(&trampoline);
95+ self.interpreter.init_events_trampoline(&trampoline);
9696 self.events_trampoline = Some(trampoline);
9797 }
9898}
@@ -107,13 +107,13 @@ cfg_if::cfg_if! {
107107 } else {
108108 impl ChangeList {
109109 pub(crate) fn apply_changes(&mut self) {
110− let js = &self.js;
110+ let interpreter = &self.interpreter;
111111 unsafe {
112112 self.bump.each_allocated_chunk(|ch| {
113− js.add_change_list_range(ch.as_ptr() as usize, ch.len());
113+ interpreter.add_change_list_range(ch.as_ptr() as usize, ch.len());
114114 });
115115 }
116− js.apply_changes(wasm_bindgen::memory());
116+ interpreter.apply_changes(wasm_bindgen::memory());
117117 self.bump.reset();
118118 }
119119 }