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

Side by Side Diff: runtime/vm/raw_object.h

Issue 9325047: Add token index position to classes and types for more accurate error reporting. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 8 years, 10 months 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 | « runtime/vm/parser.cc ('k') | runtime/vm/raw_object_snapshot.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_RAW_OBJECT_H_ 5 #ifndef VM_RAW_OBJECT_H_
6 #define VM_RAW_OBJECT_H_ 6 #define VM_RAW_OBJECT_H_
7 7
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/globals.h" 9 #include "vm/globals.h"
10 #include "vm/snapshot.h" 10 #include "vm/snapshot.h"
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 RawObject** to() { 329 RawObject** to() {
330 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); 330 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_);
331 } 331 }
332 332
333 cpp_vtable handle_vtable_; 333 cpp_vtable handle_vtable_;
334 intptr_t instance_size_; 334 intptr_t instance_size_;
335 ObjectKind instance_kind_; 335 ObjectKind instance_kind_;
336 intptr_t type_arguments_instance_field_offset_; // May be kNoTypeArguments. 336 intptr_t type_arguments_instance_field_offset_; // May be kNoTypeArguments.
337 intptr_t next_field_offset_; // Offset of then next instance field. 337 intptr_t next_field_offset_; // Offset of then next instance field.
338 intptr_t num_native_fields_; // Number of native fields in class. 338 intptr_t num_native_fields_; // Number of native fields in class.
339 intptr_t token_index_;
339 int8_t class_state_; // Of type ClassState. 340 int8_t class_state_; // Of type ClassState.
340 bool is_const_; 341 bool is_const_;
341 bool is_interface_; 342 bool is_interface_;
342 343
343 friend class Object; 344 friend class Object;
344 friend class RawInstance; 345 friend class RawInstance;
345 friend RawClass* AllocateFakeClass(); 346 friend RawClass* AllocateFakeClass();
346 friend class SnapshotReader; 347 friend class SnapshotReader;
347 }; 348 };
348 349
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 class RawType : public RawAbstractType { 382 class RawType : public RawAbstractType {
382 private: 383 private:
383 RAW_HEAP_OBJECT_IMPLEMENTATION(Type); 384 RAW_HEAP_OBJECT_IMPLEMENTATION(Type);
384 385
385 RawObject** from() { 386 RawObject** from() {
386 return reinterpret_cast<RawObject**>(&ptr()->type_class_); 387 return reinterpret_cast<RawObject**>(&ptr()->type_class_);
387 } 388 }
388 RawObject* type_class_; // Either resolved class or unresolved class. 389 RawObject* type_class_; // Either resolved class or unresolved class.
389 RawAbstractTypeArguments* arguments_; 390 RawAbstractTypeArguments* arguments_;
390 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->arguments_); } 391 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->arguments_); }
392 intptr_t token_index_;
391 int8_t type_state_; 393 int8_t type_state_;
392 }; 394 };
393 395
394 396
395 class RawTypeParameter : public RawAbstractType { 397 class RawTypeParameter : public RawAbstractType {
396 private: 398 private:
397 RAW_HEAP_OBJECT_IMPLEMENTATION(TypeParameter); 399 RAW_HEAP_OBJECT_IMPLEMENTATION(TypeParameter);
398 400
399 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } 401 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); }
400 RawString* name_; 402 RawString* name_;
401 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->name_); } 403 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->name_); }
402 intptr_t index_; 404 intptr_t index_;
405 intptr_t token_index_;
403 int8_t type_state_; 406 int8_t type_state_;
404 }; 407 };
405 408
406 409
407 class RawInstantiatedType : public RawAbstractType { 410 class RawInstantiatedType : public RawAbstractType {
408 private: 411 private:
409 RAW_HEAP_OBJECT_IMPLEMENTATION(InstantiatedType); 412 RAW_HEAP_OBJECT_IMPLEMENTATION(InstantiatedType);
410 413
411 RawObject** from() { 414 RawObject** from() {
412 return reinterpret_cast<RawObject**>(&ptr()->uninstantiated_type_); 415 return reinterpret_cast<RawObject**>(&ptr()->uninstantiated_type_);
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 intptr_t type_; // Uninitialized, simple or complex. 1041 intptr_t type_; // Uninitialized, simple or complex.
1039 intptr_t flags_; // Represents global/local, case insensitive, multiline. 1042 intptr_t flags_; // Represents global/local, case insensitive, multiline.
1040 1043
1041 // Variable length data follows here. 1044 // Variable length data follows here.
1042 uint8_t data_[0]; 1045 uint8_t data_[0];
1043 }; 1046 };
1044 1047
1045 } // namespace dart 1048 } // namespace dart
1046 1049
1047 #endif // VM_RAW_OBJECT_H_ 1050 #endif // VM_RAW_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/parser.cc ('k') | runtime/vm/raw_object_snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698