aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/nashorn/internal/parser/JSONParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jdk/nashorn/internal/parser/JSONParser.java')
-rw-r--r--src/jdk/nashorn/internal/parser/JSONParser.java19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/jdk/nashorn/internal/parser/JSONParser.java b/src/jdk/nashorn/internal/parser/JSONParser.java
index 5468ca3d..e074cf01 100644
--- a/src/jdk/nashorn/internal/parser/JSONParser.java
+++ b/src/jdk/nashorn/internal/parser/JSONParser.java
@@ -170,8 +170,7 @@ public class JSONParser extends AbstractParser {
}
case '"':
case '\\':
- error(AbstractParser.message("unexpected.token", str));
- break;
+ throw error(AbstractParser.message("unexpected.token", str));
}
}
@@ -222,14 +221,12 @@ public class JSONParser extends AbstractParser {
return new UnaryNode(source, literalToken, LiteralNode.newInstance(source, realToken, finish, (Number)value));
}
- error(AbstractParser.message("expected", "number", type.getNameOrType()));
- break;
+ throw error(AbstractParser.message("expected", "number", type.getNameOrType()));
default:
break;
}
- error(AbstractParser.message("expected", "json literal", type.getNameOrType()));
- return null;
+ throw error(AbstractParser.message("expected", "json literal", type.getNameOrType()));
}
/**
@@ -265,7 +262,7 @@ loop:
elements.add(jsonLiteral());
// Comma between array elements is mandatory in JSON.
if (type != COMMARIGHT && type != RBRACKET) {
- error(AbstractParser.message("expected", ", or ]", type.getNameOrType()));
+ throw error(AbstractParser.message("expected", ", or ]", type.getNameOrType()));
}
break;
}
@@ -306,7 +303,7 @@ loop:
// Comma between property assigments is mandatory in JSON.
if (type != RBRACE && type != COMMARIGHT) {
- error(AbstractParser.message("expected", ", or }", type.getNameOrType()));
+ throw error(AbstractParser.message("expected", ", or }", type.getNameOrType()));
}
break;
}
@@ -334,13 +331,11 @@ loop:
if (name != null) {
expect(COLON);
final Node value = jsonLiteral();
- return new PropertyNode(source, propertyToken, value.getFinish(), name, value);
+ return new PropertyNode(source, propertyToken, value.getFinish(), name, value, null, null);
}
// Raise an error.
- error(AbstractParser.message("expected", "string", type.getNameOrType()));
-
- return null;
+ throw error(AbstractParser.message("expected", "string", type.getNameOrType()));
}
}