You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2014/07/14 20:23:17 UTC
git commit: trying to avoid too much casts
Repository: incubator-fleece
Updated Branches:
refs/heads/master 57f1a0a36 -> dfc4ebea5
trying to avoid too much casts
Project: http://git-wip-us.apache.org/repos/asf/incubator-fleece/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fleece/commit/dfc4ebea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fleece/tree/dfc4ebea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fleece/diff/dfc4ebea
Branch: refs/heads/master
Commit: dfc4ebea553eaa231e5a3b7c24398dc159fa8000
Parents: 57f1a0a
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Mon Jul 14 20:23:01 2014 +0200
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Mon Jul 14 20:23:01 2014 +0200
----------------------------------------------------------------------
.../fleece/core/JsonBaseStreamParser.java | 64 ++++++++++----------
1 file changed, 33 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/dfc4ebea/fleece-core/src/main/java/org/apache/fleece/core/JsonBaseStreamParser.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonBaseStreamParser.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonBaseStreamParser.java
index c584812..54f2b00 100644
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonBaseStreamParser.java
+++ b/fleece-core/src/main/java/org/apache/fleece/core/JsonBaseStreamParser.java
@@ -295,10 +295,11 @@ public abstract class JsonBaseStreamParser implements JsonChars,
continue;
}
+ final char lastSignificant = (char) lastSignificantChar;
if (lastSignificantChar >= 0
- && (char) lastSignificantChar != QUOTE
- && (char) lastSignificantChar != END_ARRAY_CHAR
- && (char) lastSignificantChar != END_OBJECT_CHAR) {
+ && lastSignificant != QUOTE
+ && lastSignificant != END_ARRAY_CHAR
+ && lastSignificant != END_OBJECT_CHAR) {
throw new JsonParsingException("Unexpected character "
+ c + " (last significant was "
+ lastSignificantChar + ")", createLocation());
@@ -420,15 +421,15 @@ public abstract class JsonBaseStreamParser implements JsonChars,
}
private void handleStartObject(final char c) {
-
if (LOG) {
LOGGER.fine(" LASIC " + lastSignificantChar);
}
+ final char significantChar = (char) lastSignificantChar; // cast eagerly means we avoid 2 castings and are slwoer in error case only
if (lastSignificantChar == -2
|| (lastSignificantChar != -1
- && (char) lastSignificantChar != KEY_SEPARATOR
- && (char) lastSignificantChar != COMMA && (char) lastSignificantChar != START_ARRAY_CHAR)) {
+ && significantChar != KEY_SEPARATOR
+ && significantChar != COMMA && significantChar != START_ARRAY_CHAR)) {
throw new JsonParsingException("Unexpected character " + c
+ " (last significant was " + lastSignificantChar + ")",
createLocation());
@@ -436,9 +437,6 @@ public abstract class JsonBaseStreamParser implements JsonChars,
stringValueIsKey = true;
withinArray = false;
- if (LOG) {
- LOGGER.fine(" VAL_IS_KEY");
- }
lastSignificantChar = c;
openObjects++;
@@ -447,11 +445,12 @@ public abstract class JsonBaseStreamParser implements JsonChars,
}
private void handleEndObject(final char c) {
+ final char significantChar = (char) lastSignificantChar;
if (lastSignificantChar >= 0
- && (char) lastSignificantChar != START_OBJECT_CHAR
- && (char) lastSignificantChar != END_ARRAY_CHAR
- && (char) lastSignificantChar != QUOTE
- && (char) lastSignificantChar != END_OBJECT_CHAR) {
+ && significantChar != START_OBJECT_CHAR
+ && significantChar != END_ARRAY_CHAR
+ && significantChar != QUOTE
+ && significantChar != END_OBJECT_CHAR) {
throw new JsonParsingException("Unexpected character " + c
+ " (last significant was " + lastSignificantChar + ")",
createLocation());
@@ -470,10 +469,12 @@ public abstract class JsonBaseStreamParser implements JsonChars,
private void handleStartArray(final char c) {
withinArray = true;
+ final char significantChar = (char) lastSignificantChar;
if (lastSignificantChar == -2
|| (lastSignificantChar != -1
- && (char) lastSignificantChar != KEY_SEPARATOR
- && (char) lastSignificantChar != COMMA && (char) lastSignificantChar != START_ARRAY_CHAR)) {
+ && significantChar != KEY_SEPARATOR
+ && significantChar != COMMA
+ && significantChar != START_ARRAY_CHAR)) {
throw new JsonParsingException("Unexpected character " + c
+ " (last significant was " + lastSignificantChar + ")",
createLocation());
@@ -487,11 +488,12 @@ public abstract class JsonBaseStreamParser implements JsonChars,
private void handleEndArray(final char c) {
withinArray = false;
+ final char significantChar = (char) lastSignificantChar;
if (lastSignificantChar >= 0
- && (char) lastSignificantChar != START_ARRAY_CHAR
- && (char) lastSignificantChar != END_ARRAY_CHAR
- && (char) lastSignificantChar != END_OBJECT_CHAR
- && (char) lastSignificantChar != QUOTE) {
+ && significantChar != START_ARRAY_CHAR
+ && significantChar != END_ARRAY_CHAR
+ && significantChar != END_OBJECT_CHAR
+ && significantChar != QUOTE) {
throw new JsonParsingException("Unexpected character " + c
+ " (last significant was " + lastSignificantChar + ")",
createLocation());
@@ -510,11 +512,13 @@ public abstract class JsonBaseStreamParser implements JsonChars,
private boolean handleQuote(final char c) {
- if (lastSignificantChar >= 0 && (char) lastSignificantChar != QUOTE
- && (char) lastSignificantChar != KEY_SEPARATOR
- && (char) lastSignificantChar != START_OBJECT_CHAR
- && (char) lastSignificantChar != START_ARRAY_CHAR
- && (char) lastSignificantChar != COMMA) {
+ final char significantChar = (char) lastSignificantChar;
+ if (lastSignificantChar >= 0
+ && significantChar != QUOTE
+ && significantChar != KEY_SEPARATOR
+ && significantChar != START_OBJECT_CHAR
+ && significantChar != START_ARRAY_CHAR
+ && significantChar != COMMA) {
throw new JsonParsingException("Unexpected character " + c
+ " (last significant was " + lastSignificantChar + ")",
createLocation());
@@ -533,9 +537,6 @@ public abstract class JsonBaseStreamParser implements JsonChars,
if (!withinArray && stringValueIsKey) {
event = Event.KEY_NAME;
stringValueIsKey = false;
- if (LOG) {
- LOGGER.fine(" VAL_IS_VALUE");
- }
} else {
if (lastEvent != Event.KEY_NAME && !withinArray) {
@@ -568,7 +569,8 @@ public abstract class JsonBaseStreamParser implements JsonChars,
}
private void handleLiteral(final char c) throws IOException {
- if (lastSignificantChar >= 0 && lastSignificantChar != KEY_SEPARATOR
+ if (lastSignificantChar >= 0
+ && lastSignificantChar != KEY_SEPARATOR
&& lastSignificantChar != COMMA
&& lastSignificantChar != START_ARRAY_CHAR) {
throw new JsonParsingException("unexpected character " + c,
@@ -767,7 +769,7 @@ public abstract class JsonBaseStreamParser implements JsonChars,
}
if (isCurrentNumberIntegral && currentIntegralNumber != null) {
- return currentIntegralNumber.intValue();
+ return currentIntegralNumber;
}
if(isCurrentNumberIntegral) {
@@ -784,10 +786,10 @@ public abstract class JsonBaseStreamParser implements JsonChars,
}
if (isCurrentNumberIntegral && currentIntegralNumber != null) {
- return currentIntegralNumber.intValue();
+ return currentIntegralNumber;
} // int is ok, its only from 0-9
- if(isCurrentNumberIntegral) {
+ if (isCurrentNumberIntegral) {
return parseLongFromChars(currentValue, 0, valueLength);
}