diff --git a/src/main/java/de/tlc4b/analysis/MachineContext.java b/src/main/java/de/tlc4b/analysis/MachineContext.java index 57e89bf5da8b910e39c48ca3105b9313b7cfceb3..92de4664c54c76feee80744c02a2d67c0e9c9d49 100644 --- a/src/main/java/de/tlc4b/analysis/MachineContext.java +++ b/src/main/java/de/tlc4b/analysis/MachineContext.java @@ -818,16 +818,6 @@ public class MachineContext extends DepthFirstAdapter { contextTable.remove(contextTable.size() - 1); } - @Override - public void caseARecEntry(ARecEntry node) { - node.getValue().apply(this); - } - - @Override - public void caseARecordFieldExpression(ARecordFieldExpression node) { - node.getRecord().apply(this); - } - public String getMachineName() { return machineName; } diff --git a/src/main/java/de/tlc4b/analysis/Typechecker.java b/src/main/java/de/tlc4b/analysis/Typechecker.java index 1f7c13eed18cba5a375e6aabf0c2d4f0ca84acc6..b76c6da8037890f5c2239271e034afd76e7247a1 100644 --- a/src/main/java/de/tlc4b/analysis/Typechecker.java +++ b/src/main/java/de/tlc4b/analysis/Typechecker.java @@ -2235,8 +2235,7 @@ public class Typechecker extends DepthFirstAdapter implements ITypechecker { setType(e.getValue(), new UntypedType()); e.getValue().apply(this); - AIdentifierExpression i = (AIdentifierExpression) e.getIdentifier(); - String name = Utils.getTIdentifierListAsString(i.getIdentifier()); + String name = e.getIdentifier().getText(); found.add(name, getType(e.getValue())); } BType expected = getType(node); @@ -2250,8 +2249,7 @@ public class Typechecker extends DepthFirstAdapter implements ITypechecker { @Override public void caseARecordFieldExpression(ARecordFieldExpression node) { StructType s = new StructType(); - AIdentifierExpression i = (AIdentifierExpression) node.getIdentifier(); - String fieldName = Utils.getTIdentifierListAsString(i.getIdentifier()); + String fieldName = node.getIdentifier().getText(); s.add(fieldName, new UntypedType()); setType(node.getRecord(), s); @@ -2277,8 +2275,7 @@ public class Typechecker extends DepthFirstAdapter implements ITypechecker { setType(e.getValue(), new SetType(new UntypedType())); e.getValue().apply(this); - AIdentifierExpression i = (AIdentifierExpression) e.getIdentifier(); - String name = Utils.getTIdentifierListAsString(i.getIdentifier()); + String name = e.getIdentifier().getText(); BType t = ((SetType) getType(e.getValue())).getSubtype(); s.add(name, t); } diff --git a/src/main/java/de/tlc4b/btypes/StructType.java b/src/main/java/de/tlc4b/btypes/StructType.java index 9ffc470d38c99bcd864171b96cb0bbb17c04227a..38c232b399a76b4466efb3decb4deec5f16882cc 100644 --- a/src/main/java/de/tlc4b/btypes/StructType.java +++ b/src/main/java/de/tlc4b/btypes/StructType.java @@ -7,14 +7,13 @@ import java.util.LinkedHashMap; import java.util.Map.Entry; import java.util.Set; -import de.be4.classicalb.core.parser.node.AIdentifierExpression; import de.be4.classicalb.core.parser.node.ARecEntry; import de.be4.classicalb.core.parser.node.AStructExpression; import de.be4.classicalb.core.parser.node.PExpression; import de.be4.classicalb.core.parser.node.PRecEntry; +import de.be4.classicalb.core.parser.node.TIdentifierLiteral; import de.tlc4b.analysis.Typechecker; import de.tlc4b.exceptions.UnificationException; -import de.tlc4b.util.UtilMethods; public class StructType extends AbstractHasFollowers { @@ -190,9 +189,7 @@ public class StructType extends AbstractHasFollowers { for (Entry<String, BType> entry : entrySet) { String name = entry.getKey(); BType type = entry.getValue(); - AIdentifierExpression id = UtilMethods.createAIdentifierExpression(name); - ARecEntry recEntry = new ARecEntry(id, - type.createASTNode(typechecker)); + ARecEntry recEntry = new ARecEntry(new TIdentifierLiteral(name), type.createASTNode(typechecker)); list.add(recEntry); } AStructExpression node = new AStructExpression(list); diff --git a/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java b/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java index f0e8325489c6f2fcd83442d2b5aff96fe1aaafa3..7c6f9510cece6e8bb051d46fa3600dbc4a4914ce 100644 --- a/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java +++ b/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java @@ -2927,7 +2927,7 @@ public class TLAPrinter extends DepthFirstAdapter { @Override public void caseARecEntry(ARecEntry node) { - node.getIdentifier().apply(this); + moduleStringAppend(node.getIdentifier().getText()); if (typechecker.getType(node.parent()) instanceof StructType) { moduleStringAppend(" |-> "); } else { @@ -2942,7 +2942,7 @@ public class TLAPrinter extends DepthFirstAdapter { inARecordFieldExpression(node); node.getRecord().apply(this); moduleStringAppend("."); - node.getIdentifier().apply(this); + moduleStringAppend(node.getIdentifier().getText()); outARecordFieldExpression(node); }