Index: src/preparse-data.h |
diff --git a/src/preparse-data.h b/src/preparse-data.h |
deleted file mode 100644 |
index 711ff3b8952cc942eb292eb227686bf95943af43..0000000000000000000000000000000000000000 |
--- a/src/preparse-data.h |
+++ /dev/null |
@@ -1,212 +0,0 @@ |
-// Copyright 2011 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef V8_PREPARSE_DATA_H_ |
-#define V8_PREPARSE_DATA_H_ |
- |
-#include "src/allocation.h" |
-#include "src/hashmap.h" |
-#include "src/messages.h" |
-#include "src/preparse-data-format.h" |
- |
-namespace v8 { |
-namespace internal { |
- |
-class ScriptData { |
- public: |
- ScriptData(const byte* data, int length); |
- ~ScriptData() { |
- if (owns_data_) DeleteArray(data_); |
- } |
- |
- const byte* data() const { return data_; } |
- int length() const { return length_; } |
- bool rejected() const { return rejected_; } |
- |
- void Reject() { rejected_ = true; } |
- |
- void AcquireDataOwnership() { |
- DCHECK(!owns_data_); |
- owns_data_ = true; |
- } |
- |
- void ReleaseDataOwnership() { |
- DCHECK(owns_data_); |
- owns_data_ = false; |
- } |
- |
- private: |
- bool owns_data_ : 1; |
- bool rejected_ : 1; |
- const byte* data_; |
- int length_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ScriptData); |
-}; |
- |
-// Abstract interface for preparse data recorder. |
-class ParserRecorder { |
- public: |
- ParserRecorder() { } |
- virtual ~ParserRecorder() { } |
- |
- // Logs the scope and some details of a function literal in the source. |
- virtual void LogFunction(int start, int end, int literals, int properties, |
- LanguageMode language_mode, bool uses_super_property, |
- bool calls_eval) = 0; |
- |
- // Logs an error message and marks the log as containing an error. |
- // Further logging will be ignored, and ExtractData will return a vector |
- // representing the error only. |
- virtual void LogMessage(int start, int end, MessageTemplate::Template message, |
- const char* argument_opt, |
- ParseErrorType error_type) = 0; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(ParserRecorder); |
-}; |
- |
- |
-class SingletonLogger : public ParserRecorder { |
- public: |
- SingletonLogger() |
- : has_error_(false), start_(-1), end_(-1), error_type_(kSyntaxError) {} |
- virtual ~SingletonLogger() {} |
- |
- void Reset() { has_error_ = false; } |
- |
- virtual void LogFunction(int start, int end, int literals, int properties, |
- LanguageMode language_mode, bool uses_super_property, |
- bool calls_eval) { |
- DCHECK(!has_error_); |
- start_ = start; |
- end_ = end; |
- literals_ = literals; |
- properties_ = properties; |
- language_mode_ = language_mode; |
- uses_super_property_ = uses_super_property; |
- calls_eval_ = calls_eval; |
- } |
- |
- // Logs an error message and marks the log as containing an error. |
- // Further logging will be ignored, and ExtractData will return a vector |
- // representing the error only. |
- virtual void LogMessage(int start, int end, MessageTemplate::Template message, |
- const char* argument_opt, ParseErrorType error_type) { |
- if (has_error_) return; |
- has_error_ = true; |
- start_ = start; |
- end_ = end; |
- message_ = message; |
- argument_opt_ = argument_opt; |
- error_type_ = error_type; |
- } |
- |
- bool has_error() const { return has_error_; } |
- |
- int start() const { return start_; } |
- int end() const { return end_; } |
- int literals() const { |
- DCHECK(!has_error_); |
- return literals_; |
- } |
- int properties() const { |
- DCHECK(!has_error_); |
- return properties_; |
- } |
- LanguageMode language_mode() const { |
- DCHECK(!has_error_); |
- return language_mode_; |
- } |
- bool uses_super_property() const { |
- DCHECK(!has_error_); |
- return uses_super_property_; |
- } |
- bool calls_eval() const { |
- DCHECK(!has_error_); |
- return calls_eval_; |
- } |
- ParseErrorType error_type() const { |
- DCHECK(has_error_); |
- return error_type_; |
- } |
- MessageTemplate::Template message() { |
- DCHECK(has_error_); |
- return message_; |
- } |
- const char* argument_opt() const { |
- DCHECK(has_error_); |
- return argument_opt_; |
- } |
- |
- private: |
- bool has_error_; |
- int start_; |
- int end_; |
- // For function entries. |
- int literals_; |
- int properties_; |
- LanguageMode language_mode_; |
- bool uses_super_property_; |
- bool calls_eval_; |
- // For error messages. |
- MessageTemplate::Template message_; |
- const char* argument_opt_; |
- ParseErrorType error_type_; |
-}; |
- |
- |
-class CompleteParserRecorder : public ParserRecorder { |
- public: |
- struct Key { |
- bool is_one_byte; |
- Vector<const byte> literal_bytes; |
- }; |
- |
- CompleteParserRecorder(); |
- virtual ~CompleteParserRecorder() {} |
- |
- virtual void LogFunction(int start, int end, int literals, int properties, |
- LanguageMode language_mode, bool uses_super_property, |
- bool calls_eval) { |
- function_store_.Add(start); |
- function_store_.Add(end); |
- function_store_.Add(literals); |
- function_store_.Add(properties); |
- function_store_.Add(language_mode); |
- function_store_.Add(uses_super_property); |
- function_store_.Add(calls_eval); |
- } |
- |
- // Logs an error message and marks the log as containing an error. |
- // Further logging will be ignored, and ExtractData will return a vector |
- // representing the error only. |
- virtual void LogMessage(int start, int end, MessageTemplate::Template message, |
- const char* argument_opt, ParseErrorType error_type); |
- ScriptData* GetScriptData(); |
- |
- bool HasError() { |
- return static_cast<bool>(preamble_[PreparseDataConstants::kHasErrorOffset]); |
- } |
- Vector<unsigned> ErrorMessageData() { |
- DCHECK(HasError()); |
- return function_store_.ToVector(); |
- } |
- |
- private: |
- void WriteString(Vector<const char> str); |
- |
- Collector<unsigned> function_store_; |
- unsigned preamble_[PreparseDataConstants::kHeaderSize]; |
- |
-#ifdef DEBUG |
- int prev_start_; |
-#endif |
-}; |
- |
- |
-} // namespace internal |
-} // namespace v8. |
- |
-#endif // V8_PREPARSE_DATA_H_ |