OLD | NEW |
---|---|
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_JSON_PARSER_H_ | 5 #ifndef V8_JSON_PARSER_H_ |
6 #define V8_JSON_PARSER_H_ | 6 #define V8_JSON_PARSER_H_ |
7 | 7 |
8 #include "src/char-predicates.h" | 8 #include "src/char-predicates.h" |
9 #include "src/conversions.h" | 9 #include "src/conversions.h" |
10 #include "src/debug/debug.h" | |
10 #include "src/factory.h" | 11 #include "src/factory.h" |
11 #include "src/messages.h" | 12 #include "src/messages.h" |
12 #include "src/scanner.h" | 13 #include "src/scanner.h" |
13 #include "src/token.h" | 14 #include "src/token.h" |
14 #include "src/transitions.h" | 15 #include "src/transitions.h" |
15 #include "src/types.h" | 16 #include "src/types.h" |
16 | 17 |
17 namespace v8 { | 18 namespace v8 { |
18 namespace internal { | 19 namespace internal { |
19 | 20 |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
237 break; | 238 break; |
238 case '"': | 239 case '"': |
239 message = MessageTemplate::kUnexpectedTokenString; | 240 message = MessageTemplate::kUnexpectedTokenString; |
240 break; | 241 break; |
241 default: | 242 default: |
242 message = MessageTemplate::kUnexpectedToken; | 243 message = MessageTemplate::kUnexpectedToken; |
243 argument = factory->LookupSingleCharacterStringFromCode(c0_); | 244 argument = factory->LookupSingleCharacterStringFromCode(c0_); |
244 break; | 245 break; |
245 } | 246 } |
246 | 247 |
247 MessageLocation location(factory->NewScript(source_), | 248 Handle<Script> script(factory->NewScript(source_)); |
248 position_, | 249 isolate()->debug()->OnAfterCompile(script); |
yurys
2015/08/27 00:06:57
Can you add a test for this please?
Yang
2015/08/27 10:41:04
And please add a comment on why this is necessary.
kozy
2015/08/27 18:22:05
Done.
kozy
2015/08/27 18:22:05
Done.
| |
249 position_ + 1); | 250 MessageLocation location(script, position_, position_ + 1); |
250 Handle<Object> error = factory->NewSyntaxError(message, argument); | 251 Handle<Object> error = factory->NewSyntaxError(message, argument); |
251 return isolate()->template Throw<Object>(error, &location); | 252 return isolate()->template Throw<Object>(error, &location); |
252 } | 253 } |
253 return result; | 254 return result; |
254 } | 255 } |
255 | 256 |
256 | 257 |
257 // Parse any JSON value. | 258 // Parse any JSON value. |
258 template <bool seq_one_byte> | 259 template <bool seq_one_byte> |
259 Handle<Object> JsonParser<seq_one_byte>::ParseJsonValue() { | 260 Handle<Object> JsonParser<seq_one_byte>::ParseJsonValue() { |
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
838 | 839 |
839 DCHECK_EQ('"', c0_); | 840 DCHECK_EQ('"', c0_); |
840 // Advance past the last '"'. | 841 // Advance past the last '"'. |
841 AdvanceSkipWhitespace(); | 842 AdvanceSkipWhitespace(); |
842 return result; | 843 return result; |
843 } | 844 } |
844 | 845 |
845 } } // namespace v8::internal | 846 } } // namespace v8::internal |
846 | 847 |
847 #endif // V8_JSON_PARSER_H_ | 848 #endif // V8_JSON_PARSER_H_ |
OLD | NEW |