From 0763788ccf0ea3836fd611fc9c47f956de387677 Mon Sep 17 00:00:00 2001 From: jhonatancunha Date: Wed, 17 May 2023 20:47:27 -0300 Subject: [PATCH 1/3] refactor: organizando verificacoes da funcao startObject --- src/main/java/com/alibaba/fastjson/JSONReader.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/alibaba/fastjson/JSONReader.java b/src/main/java/com/alibaba/fastjson/JSONReader.java index 276ec180d6..d76f740e82 100644 --- a/src/main/java/com/alibaba/fastjson/JSONReader.java +++ b/src/main/java/com/alibaba/fastjson/JSONReader.java @@ -70,17 +70,16 @@ public void startObject() { context = new JSONStreamContext(null, JSONStreamContext.StartObject); } else { startStructure(); - if (lastContext != null - && lastContext.parent == context) { + if(lastContext == null){ + context = new JSONStreamContext(context, JSONStreamContext.StartObject); + }else if(lastContext.parent == context){ context = lastContext; if (context.state != JSONStreamContext.StartObject) { context.state = JSONStreamContext.StartObject; } - } else { - context = new JSONStreamContext(context, JSONStreamContext.StartObject); } } - + this.parser.accept(JSONToken.LBRACE, JSONToken.IDENTIFIER); } From df737b58ea4eb348bd7fe6fb5af5c1324a1e7bb1 Mon Sep 17 00:00:00 2001 From: jhonatancunha Date: Wed, 17 May 2023 20:49:35 -0300 Subject: [PATCH 2/3] refactor: removendo codigo duplicado funcao startArray --- src/main/java/com/alibaba/fastjson/JSONReader.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/alibaba/fastjson/JSONReader.java b/src/main/java/com/alibaba/fastjson/JSONReader.java index d76f740e82..e08d23fa32 100644 --- a/src/main/java/com/alibaba/fastjson/JSONReader.java +++ b/src/main/java/com/alibaba/fastjson/JSONReader.java @@ -89,13 +89,10 @@ public void endObject() { } public void startArray() { - if (context == null) { - context = new JSONStreamContext(null, StartArray); - } else { + if (context != null) { startStructure(); - - context = new JSONStreamContext(context, StartArray); } + context = new JSONStreamContext(context, StartArray); this.parser.accept(JSONToken.LBRACKET); } From 9b17409925e5b7894331dcf041ef8d896747a079 Mon Sep 17 00:00:00 2001 From: jhonatancunha Date: Wed, 17 May 2023 20:50:57 -0300 Subject: [PATCH 3/3] refactor: removendo variaveis desnecessarias endStructure() --- src/main/java/com/alibaba/fastjson/JSONReader.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/alibaba/fastjson/JSONReader.java b/src/main/java/com/alibaba/fastjson/JSONReader.java index e08d23fa32..481bda348a 100644 --- a/src/main/java/com/alibaba/fastjson/JSONReader.java +++ b/src/main/java/com/alibaba/fastjson/JSONReader.java @@ -79,7 +79,6 @@ public void startObject() { } } } - this.parser.accept(JSONToken.LBRACE, JSONToken.IDENTIFIER); } @@ -128,24 +127,20 @@ private void endStructure() { } final int state = context.state; - int newState = -1; switch (state) { case PropertyKey: - newState = PropertyValue; + context.state = PropertyValue; break; case StartArray: - newState = ArrayValue; + context.state = ArrayValue; break; case PropertyValue: case StartObject: - newState = PropertyKey; + context.state = PropertyKey; break; default: break; } - if (newState != -1) { - context.state = newState; - } } public boolean hasNext() {