diff --git a/src/App.js b/src/App.js index bdd78a5e7241264b79d99bb870923890b0b964af..f45001151df0de618e3494ad3164898b53efbb57 100644 --- a/src/App.js +++ b/src/App.js @@ -68,32 +68,15 @@ class App extends React.Component { let hl = nodeData.highlighting; this.setState((state, props) => { - let armMarkers = state.arm.markers; - hl.arm.array.forEach(element => armMarkers.append(element)) - return { - wacc: {markers: state.wacc.markers.append(hl.wacc)}, - js: {markers: state.js.markers.append(hl.js)}, - arm: {markers: armMarkers} + wacc: {code: state.wacc.code, markers: hl.wacc}, + js: {code: state.js.code, markers: hl.js}, + arm: {code: state.arm.code, markers: hl.arm} } }) } onNodeOut = (nodeData, evt) => { - let hl = nodeData.highlighting; - - this.setState((state, props) => { - let waccMarkerIdx = state.wacc.markers.indexOf(hl.wacc); - let jsMarkerIdx = state.js.markers.indexOf(hl.js) - - let armMarkers = []; - - return { - wacc: {markers: state.wacc.markers.splice(waccMarkerIdx, 1)}, - js: {markers: state.js.markers.splice(jsMarkerIdx, 1)}, - arm: {markers: armMarkers} - } - }) } readInputCallBack = (codeToEval) => { diff --git a/src/Comm.js b/src/Comm.js index 2e6f32db455b0e1d230bfe36aab06c4a4522f60a..b229c0ac81d58a8b8ad4103ba5d4b656e6f18775 100644 --- a/src/Comm.js +++ b/src/Comm.js @@ -22,10 +22,10 @@ export function astMetaToGraphData(astMeta) { function generateMarkerObject(start, end) { return { - startRow: start.lineNum, + startRow: start.lineNum - 1, startCol: start.charNum, - endRow: end.lineNum, - endCol: end.charNum, + endRow: end.lineNum - 1, + endCol: end.charNum - 1, className: "ast-node-highlight", type: "text" } @@ -49,8 +49,8 @@ function createGraphNode(node, astMeta){ name: name, attributes: {value: value}, highlighting: { - wacc: generateMarkerObject(node.waccStart, node.waccEnd), - js: typeof node.jsStart === "undefined" ? {} : generateMarkerObject(node.jsStart, node.jsEnd), + wacc: [generateMarkerObject(node.waccStart, node.waccEnd)], + js: typeof node.jsStart === "undefined" ? [{}] : [generateMarkerObject(node.jsStart, node.jsEnd)], arm: [] }, children: children diff --git a/src/view/ButonStrip.js b/src/view/ButonStrip.js index ccc2dbc729a52f04e4be05d38b02ac0f43a1081b..ac0952841d82bf7bdb8df06a5262f925aff2108e 100644 --- a/src/view/ButonStrip.js +++ b/src/view/ButonStrip.js @@ -9,8 +9,9 @@ class ButtonStrip extends React.Component { render() { return (
+ Highlighting {JSON.stringify(this.props.markers)} +