From 54df1769028fea29b129172c0ea13ab7138427f8 Mon Sep 17 00:00:00 2001 From: EgonOlsen Date: Fri, 27 Dec 2019 14:11:55 +0100 Subject: [PATCH] Code formatting --- dist/basicv2.jar | Bin 1056957 -> 1056869 bytes .../mos6502/AbstractTransformer.java | 2 +- .../sixtyfour/cbmnative/shell/MoSpeedCL.java | 4 ++-- .../java/com/sixtyfour/elements/Variable.java | 11 +++-------- .../extensions/x16/functions/Joy.java | 10 +++++++--- .../parser/cbmnative/UnTokenizer.java | 14 +++++++------- .../com/sixtyfour/util/rommap/CallMapper.java | 2 +- .../com/sixtyfour/util/rommap/MapLoader.java | 8 ++++---- 8 files changed, 25 insertions(+), 26 deletions(-) diff --git a/dist/basicv2.jar b/dist/basicv2.jar index e5a8b415ae4d36a2e737c8b2c4afee4cff9ae61b..0448fa4376dd99afadf788ef4ff5c60953fc513b 100644 GIT binary patch delta 27850 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 delta 28517 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 diff --git a/src/main/java/com/sixtyfour/cbmnative/mos6502/AbstractTransformer.java b/src/main/java/com/sixtyfour/cbmnative/mos6502/AbstractTransformer.java index 038a36ab..6c68f8d0 100644 --- a/src/main/java/com/sixtyfour/cbmnative/mos6502/AbstractTransformer.java +++ b/src/main/java/com/sixtyfour/cbmnative/mos6502/AbstractTransformer.java @@ -73,7 +73,7 @@ protected void addLabels(List res, String[] labels) { res.add(label); } } - + protected void addMemoryLocations(List res) { String[] labels = Loader.loadProgram(TransformerX16.class.getResourceAsStream("/rommap/memloc-c64.map")); addLabels(res, labels); diff --git a/src/main/java/com/sixtyfour/cbmnative/shell/MoSpeedCL.java b/src/main/java/com/sixtyfour/cbmnative/shell/MoSpeedCL.java index c406d730..73bc0334 100644 --- a/src/main/java/com/sixtyfour/cbmnative/shell/MoSpeedCL.java +++ b/src/main/java/com/sixtyfour/cbmnative/shell/MoSpeedCL.java @@ -124,7 +124,7 @@ public static void main(String[] args) { PlatformProvider platform = new Platform64(); String appendix = ".prg"; - boolean multiByteTokens=false; + boolean multiByteTokens = false; if (cmds.containsKey("platform")) { String pl = cmds.get("platform"); if (pl.equalsIgnoreCase("c64")) { @@ -137,7 +137,7 @@ public static void main(String[] args) { platform = new PlatformX16(); Basic.registerExtension(new X16Extensions()); cfg.setNonDecimalNumbersAware(true); - multiByteTokens=true; + multiByteTokens = true; appendix = ".prg"; } else if (pl.equalsIgnoreCase("ps")) { platform = new PlatformPs(); diff --git a/src/main/java/com/sixtyfour/elements/Variable.java b/src/main/java/com/sixtyfour/elements/Variable.java index 09f80c1b..c39b263e 100644 --- a/src/main/java/com/sixtyfour/elements/Variable.java +++ b/src/main/java/com/sixtyfour/elements/Variable.java @@ -94,14 +94,9 @@ public Variable(String name, Object value) { findType(c); if (type == null) { - int pos = woa.indexOf("{"); - if (pos != -1) { - // This is trying to detect the type of something like L${T4}, which actually shouldn't occur - // in the first place, but for some reason still does. - c = woa.substring(pos - 1, pos).charAt(0); - findType(c); - } - if (type == null) { + if (!Character.isAlphabetic(c) && !Character.isDigit(c)) { + throw new RuntimeException("Syntax error: " + name + "/" + woa); + } else { throw new RuntimeException("Unknown variable type for: " + name + "/" + woa); } } diff --git a/src/main/java/com/sixtyfour/extensions/x16/functions/Joy.java b/src/main/java/com/sixtyfour/extensions/x16/functions/Joy.java index d9b45fba..689bde40 100644 --- a/src/main/java/com/sixtyfour/extensions/x16/functions/Joy.java +++ b/src/main/java/com/sixtyfour/extensions/x16/functions/Joy.java @@ -68,9 +68,13 @@ public String toCode(Machine machine) { public int getParameterCount() { return 1; } - - /* (non-Javadoc) - * @see com.sixtyfour.elements.functions.AbstractFunction#addNativeFunctionCall(java.util.List) + + /* + * (non-Javadoc) + * + * @see + * com.sixtyfour.elements.functions.AbstractFunction#addNativeFunctionCall(java. + * util.List) */ @Override public boolean addNativeFunctionCall(List code) { diff --git a/src/main/java/com/sixtyfour/parser/cbmnative/UnTokenizer.java b/src/main/java/com/sixtyfour/parser/cbmnative/UnTokenizer.java index cf455058..8f1ea881 100644 --- a/src/main/java/com/sixtyfour/parser/cbmnative/UnTokenizer.java +++ b/src/main/java/com/sixtyfour/parser/cbmnative/UnTokenizer.java @@ -96,7 +96,7 @@ public class UnTokenizer { this.put(201, "RIGHT$"); this.put(202, "MID$"); this.put(203, "GO"); - + // Add X16-Tokens to the mix... this.putAll(X16Extensions.getTokens()); } @@ -138,18 +138,18 @@ public List getText(byte[] program, boolean multiByte) { if (c == '"') { inString = !inString; } - if (b < 128 || inString || (b > 203 && (!multiByte || b!=206))) { + if (b < 128 || inString || (b > 203 && (!multiByte || b != 206))) { if (inString && isSpecialChar(c)) { line.append(ControlCodes.getPlaceHolder(b)); } else { line.append(convertChar(c)); } } else { - String token = TOKENS.get(b); - if (multiByte && b==206) { - int mb = b*256+(program[(addr++) - start] & 0xff); - token=TOKENS.get(mb); - } + String token = TOKENS.get(b); + if (multiByte && b == 206) { + int mb = b * 256 + (program[(addr++) - start] & 0xff); + token = TOKENS.get(mb); + } if (token == null) { throw new RuntimeException("Unknown token: " + b); } diff --git a/src/main/java/com/sixtyfour/util/rommap/CallMapper.java b/src/main/java/com/sixtyfour/util/rommap/CallMapper.java index b7823989..d4e5dc3d 100644 --- a/src/main/java/com/sixtyfour/util/rommap/CallMapper.java +++ b/src/main/java/com/sixtyfour/util/rommap/CallMapper.java @@ -142,7 +142,7 @@ public static Mapping mapCalls(CompilerConfig config, boolean verbose) { } mappedCalls.put(uLabel, "$" + newAddr.toUpperCase(Locale.ENGLISH)); } - + if (verbose) { Logger.log("---------------------------------------------------------"); } diff --git a/src/main/java/com/sixtyfour/util/rommap/MapLoader.java b/src/main/java/com/sixtyfour/util/rommap/MapLoader.java index dde5cdba..be0333c3 100644 --- a/src/main/java/com/sixtyfour/util/rommap/MapLoader.java +++ b/src/main/java/com/sixtyfour/util/rommap/MapLoader.java @@ -51,14 +51,14 @@ public static Map getRomCalls(InputStream file) { String[] lines = Loader.loadProgram(file); for (String line : lines) { String[] parts = line.split("="); - if (parts.length<2) { + if (parts.length < 2) { continue; } String label = parts[0].trim(); String addr = parts[1].trim(); - int pos=addr.indexOf(";"); - if (pos!=-1) { - addr=addr.substring(0, pos).trim(); + int pos = addr.indexOf(";"); + if (pos != -1) { + addr = addr.substring(0, pos).trim(); } if (addr.startsWith("$")) { addr = addr.substring(1);