Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: dart/runtime/vm/parser.h

Issue 75123002: Version 1.0.0.6 (Closed) Base URL: http://dart.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « dart/runtime/vm/object.cc ('k') | dart/runtime/vm/parser.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_PARSER_H_ 5 #ifndef VM_PARSER_H_
6 #define VM_PARSER_H_ 6 #define VM_PARSER_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 9
10 #include "lib/invocation_mirror.h" 10 #include "lib/invocation_mirror.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 // * its default value (or null if none was declared) 152 // * its default value (or null if none was declared)
153 // * an array of metadata (or null if no metadata was declared). 153 // * an array of metadata (or null if no metadata was declared).
154 enum { 154 enum {
155 kParameterIsFinalOffset, 155 kParameterIsFinalOffset,
156 kParameterDefaultValueOffset, 156 kParameterDefaultValueOffset,
157 kParameterMetadataOffset, 157 kParameterMetadataOffset,
158 kParameterEntrySize, 158 kParameterEntrySize,
159 }; 159 };
160 static RawObject* ParseFunctionParameters(const Function& func); 160 static RawObject* ParseFunctionParameters(const Function& func);
161 161
162 // Format and print a message with source location.
163 // A null script means no source and a negative token_pos means no position.
164 static void PrintMessage(const Script& script,
165 intptr_t token_pos,
166 const char* message_header,
167 const char* format, ...) PRINTF_ATTRIBUTE(4, 5);
168
169 // Build an error object containing a formatted error or warning message.
170 // A null script means no source and a negative token_pos means no position.
171 static RawError* FormatError(const Script& script,
172 intptr_t token_pos,
173 const char* message_header,
174 const char* format,
175 va_list args);
176 static RawError* FormatErrorMsg(const Script& script,
177 intptr_t token_pos,
178 const char* message_header,
179 const char* format, ...)
180 PRINTF_ATTRIBUTE(4, 5);
181
182 // Same as FormatError, but appends the new error to the 'prev_error'.
183 static RawError* FormatErrorWithAppend(const Error& prev_error,
184 const Script& script,
185 intptr_t token_pos,
186 const char* message_header,
187 const char* format,
188 va_list args);
189
190 private: 162 private:
191 friend class EffectGraphVisitor; // For BuildNoSuchMethodArguments. 163 friend class EffectGraphVisitor; // For BuildNoSuchMethodArguments.
192 164
193 struct Block; 165 struct Block;
194 class TryBlocks; 166 class TryBlocks;
195 167
196 Parser(const Script& script, const Library& library, intptr_t token_pos); 168 Parser(const Script& script, const Library& library, intptr_t token_pos);
197 Parser(const Script& script, ParsedFunction* function, intptr_t token_pos); 169 Parser(const Script& script, ParsedFunction* function, intptr_t token_pos);
198 ~Parser(); 170 ~Parser();
199 171
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 void SkipFunctionPreamble(); 277 void SkipFunctionPreamble();
306 278
307 void CheckConstructorCallTypeArguments( 279 void CheckConstructorCallTypeArguments(
308 intptr_t pos, 280 intptr_t pos,
309 Function& constructor, 281 Function& constructor,
310 const AbstractTypeArguments& type_arguments); 282 const AbstractTypeArguments& type_arguments);
311 283
312 // A null script means no source and a negative token_pos means no position. 284 // A null script means no source and a negative token_pos means no position.
313 static RawString* FormatMessage(const Script& script, 285 static RawString* FormatMessage(const Script& script,
314 intptr_t token_pos, 286 intptr_t token_pos,
315 const char* message_header, 287 LanguageError::Kind kind,
316 const char* format, 288 const char* format,
317 va_list args); 289 va_list args);
318 290
319 // Reports error/warning msg at location of current token in current script. 291 // Reports error/warning msg at location of current token in current script.
320 void ErrorMsg(const char* msg, ...) PRINTF_ATTRIBUTE(2, 3); 292 void ErrorMsg(const char* msg, ...) PRINTF_ATTRIBUTE(2, 3);
321 void Warning(const char* msg, ...) PRINTF_ATTRIBUTE(2, 3); 293 void Warning(const char* msg, ...) PRINTF_ATTRIBUTE(2, 3);
322 void Unimplemented(const char* msg); 294 void Unimplemented(const char* msg);
323 295
324 // Reports error message at given location in current script. 296 // Reports error message at given location in current script.
325 void ErrorMsg(intptr_t token_pos, const char* msg, ...) const 297 void ErrorMsg(intptr_t token_pos, const char* msg, ...) const
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 intptr_t last_used_try_index_; 692 intptr_t last_used_try_index_;
721 693
722 bool unregister_pending_function_; 694 bool unregister_pending_function_;
723 695
724 DISALLOW_COPY_AND_ASSIGN(Parser); 696 DISALLOW_COPY_AND_ASSIGN(Parser);
725 }; 697 };
726 698
727 } // namespace dart 699 } // namespace dart
728 700
729 #endif // VM_PARSER_H_ 701 #endif // VM_PARSER_H_
OLDNEW
« no previous file with comments | « dart/runtime/vm/object.cc ('k') | dart/runtime/vm/parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698