Index: src/parsing/preparse-data.h |
diff --git a/src/parsing/preparse-data.h b/src/parsing/preparse-data.h |
index 42ab55cfeae058727cdda44a4d95c46d8e1fd0a6..364d123a0d01709cf37441c32fc98010327d30ca 100644 |
--- a/src/parsing/preparse-data.h |
+++ b/src/parsing/preparse-data.h |
@@ -46,34 +46,9 @@ class ScriptData { |
DISALLOW_COPY_AND_ASSIGN(ScriptData); |
}; |
-// Abstract interface for preparse data recorder. |
-class ParserRecorder { |
+class PreParserLogger final { |
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 num_parameters, |
- int function_length, bool has_duplicate_parameters, |
- 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() |
+ PreParserLogger() |
: has_error_(false), |
start_(-1), |
end_(-1), |
@@ -81,35 +56,24 @@ class SingletonLogger : public ParserRecorder { |
function_length_(-1), |
has_duplicate_parameters_(false), |
error_type_(kSyntaxError) {} |
- virtual ~SingletonLogger() {} |
- |
- void Reset() { has_error_ = false; } |
- virtual void LogFunction(int start, int end, int num_parameters, |
- int function_length, bool has_duplicate_parameters, |
- int literals, int properties, |
- LanguageMode language_mode, bool uses_super_property, |
- bool calls_eval) { |
+ void LogFunction(int end, int num_parameters, int function_length, |
+ bool has_duplicate_parameters, int literals, |
+ int properties) { |
DCHECK(!has_error_); |
- // Check that we only log at most one function. |
- DCHECK(start_ == -1 && end_ == -1); |
- start_ = start; |
end_ = end; |
num_parameters_ = num_parameters; |
function_length_ = function_length; |
has_duplicate_parameters_ = has_duplicate_parameters; |
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) { |
+ 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; |
@@ -143,18 +107,6 @@ class SingletonLogger : public ParserRecorder { |
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_; |
@@ -178,37 +130,31 @@ class SingletonLogger : public ParserRecorder { |
bool has_duplicate_parameters_; |
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 { |
+class ParserLogger final { |
public: |
struct Key { |
bool is_one_byte; |
Vector<const byte> literal_bytes; |
}; |
- CompleteParserRecorder(); |
- virtual ~CompleteParserRecorder() {} |
+ ParserLogger(); |
- virtual void LogFunction(int start, int end, int num_parameters, |
- int function_length, bool has_duplicate_parameters, |
- int literals, int properties, |
- LanguageMode language_mode, bool uses_super_property, |
- bool calls_eval); |
+ void LogFunction(int start, int end, int num_parameters, int function_length, |
+ bool has_duplicate_parameters, int literals, int properties, |
+ LanguageMode language_mode, bool uses_super_property, |
+ bool 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); |
+ void LogMessage(int start, int end, MessageTemplate::Template message, |
+ const char* argument_opt, ParseErrorType error_type); |
ScriptData* GetScriptData(); |
bool HasError() { |