From 96bb8a2e97fee10ef6f6093ff3a86aba2443de40 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Mon, 30 Sep 2024 10:45:08 -0700 Subject: Lots of README --- chapter15/src/main/java/com/seaofnodes/simple/Parser.java | 8 ++++---- chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'chapter15/src/main/java/com') diff --git a/chapter15/src/main/java/com/seaofnodes/simple/Parser.java b/chapter15/src/main/java/com/seaofnodes/simple/Parser.java index ec040b4f..5164fe2b 100644 --- a/chapter15/src/main/java/com/seaofnodes/simple/Parser.java +++ b/chapter15/src/main/java/com/seaofnodes/simple/Parser.java @@ -762,14 +762,14 @@ public class Parser { int fidx = base.find(name); if( fidx == -1 ) throw error("Accessing unknown field '" + name + "' from '" + ptr.str() + "'"); - // Get field type and layout offset - Field f = base._fields[fidx]; + // Get field type and layout offset from base type and field index fidx + Field f = base._fields[fidx]; // Field from field index Node off; - if( name.equals("[]") ) { + if( name.equals("[]") ) { // If field is an array body // Array index math Node idx = require(parseExpression(),"]"); off = new AddNode(con(base.aryBase()),new ShlNode(idx,con(base.aryScale())).peephole()).peephole(); - } else { + } else { // Else normal struct field // Hardwired field offset off = con(base.offset(fidx)); } diff --git a/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java b/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java index 7a25d498..4d441951 100644 --- a/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java +++ b/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java @@ -18,7 +18,6 @@ public abstract class MemOpNode extends Node { _name = name; _alias = alias; _declaredType = glb; - } public MemOpNode(String name, int alias, Type glb, Node mem, Node ptr, Node off, Node value) { this(name, alias, glb, mem, ptr, off); -- cgit v1.2.3