提交 d034c053 编写于 作者: J Juergen Hoeller

Jackson2Tokenizer passes DeserializationContext into all TokenBuffers

See gh-22510
上级 216e4eeb
...@@ -48,6 +48,8 @@ final class Jackson2Tokenizer { ...@@ -48,6 +48,8 @@ final class Jackson2Tokenizer {
private final JsonParser parser; private final JsonParser parser;
private final DeserializationContext deserializationContext;
private final boolean tokenizeArrayElements; private final boolean tokenizeArrayElements;
private TokenBuffer tokenBuffer; private TokenBuffer tokenBuffer;
...@@ -65,6 +67,7 @@ final class Jackson2Tokenizer { ...@@ -65,6 +67,7 @@ final class Jackson2Tokenizer {
JsonParser parser, DeserializationContext deserializationContext, boolean tokenizeArrayElements) { JsonParser parser, DeserializationContext deserializationContext, boolean tokenizeArrayElements) {
this.parser = parser; this.parser = parser;
this.deserializationContext = deserializationContext;
this.tokenizeArrayElements = tokenizeArrayElements; this.tokenizeArrayElements = tokenizeArrayElements;
this.tokenBuffer = new TokenBuffer(parser, deserializationContext); this.tokenBuffer = new TokenBuffer(parser, deserializationContext);
this.inputFeeder = (ByteArrayFeeder) this.parser.getNonBlockingInputFeeder(); this.inputFeeder = (ByteArrayFeeder) this.parser.getNonBlockingInputFeeder();
...@@ -144,7 +147,7 @@ final class Jackson2Tokenizer { ...@@ -144,7 +147,7 @@ final class Jackson2Tokenizer {
if ((token.isStructEnd() || token.isScalarValue()) && this.objectDepth == 0 && this.arrayDepth == 0) { if ((token.isStructEnd() || token.isScalarValue()) && this.objectDepth == 0 && this.arrayDepth == 0) {
result.add(this.tokenBuffer); result.add(this.tokenBuffer);
this.tokenBuffer = new TokenBuffer(this.parser); this.tokenBuffer = new TokenBuffer(this.parser, this.deserializationContext);
} }
} }
...@@ -157,7 +160,7 @@ final class Jackson2Tokenizer { ...@@ -157,7 +160,7 @@ final class Jackson2Tokenizer {
if (this.objectDepth == 0 && (this.arrayDepth == 0 || this.arrayDepth == 1) && if (this.objectDepth == 0 && (this.arrayDepth == 0 || this.arrayDepth == 1) &&
(token == JsonToken.END_OBJECT || token.isScalarValue())) { (token == JsonToken.END_OBJECT || token.isScalarValue())) {
result.add(this.tokenBuffer); result.add(this.tokenBuffer);
this.tokenBuffer = new TokenBuffer(this.parser); this.tokenBuffer = new TokenBuffer(this.parser, this.deserializationContext);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册