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

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

Issue 8585004: Support correct factory syntax in the VM as decribed in the spec. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 9 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
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 "vm/assert.h" 8 #include "vm/assert.h"
9 #include "vm/globals.h" 9 #include "vm/globals.h"
10 #include "vm/snapshot.h" 10 #include "vm/snapshot.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } 192 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); }
193 RawString* name_; 193 RawString* name_;
194 RawArray* functions_; 194 RawArray* functions_;
195 RawArray* fields_; 195 RawArray* fields_;
196 RawArray* interfaces_; // Array of Type. 196 RawArray* interfaces_; // Array of Type.
197 RawScript* script_; 197 RawScript* script_;
198 RawLibrary* library_; 198 RawLibrary* library_;
199 RawArray* type_parameters_; // Array of String. 199 RawArray* type_parameters_; // Array of String.
200 RawTypeArray* type_parameter_extends_; // DynamicType if no extends clause. 200 RawTypeArray* type_parameter_extends_; // DynamicType if no extends clause.
201 RawType* super_type_; 201 RawType* super_type_;
202 RawType* factory_type_; 202 RawObject* factory_class_; // UnresolvedClass (until finalization) or Class.
203 RawFunction* signature_function_; // Associated function for signature class. 203 RawFunction* signature_function_; // Associated function for signature class.
204 RawArray* functions_cache_; // See class FunctionsCache. 204 RawArray* functions_cache_; // See class FunctionsCache.
205 RawArray* constants_; // Canonicalized values of this class. 205 RawArray* constants_; // Canonicalized values of this class.
206 RawArray* canonical_types_; // Canonicalized types of this class. 206 RawArray* canonical_types_; // Canonicalized types of this class.
207 RawCode* allocation_stub_; // Stub code for allocation of instances. 207 RawCode* allocation_stub_; // Stub code for allocation of instances.
208 RawObject** to() { 208 RawObject** to() {
209 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); 209 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_);
210 } 210 }
211 211
212 cpp_vtable handle_vtable_; 212 cpp_vtable handle_vtable_;
(...skipping 11 matching lines...) Expand all
224 }; 224 };
225 225
226 226
227 class RawUnresolvedClass : public RawObject { 227 class RawUnresolvedClass : public RawObject {
228 RAW_HEAP_OBJECT_IMPLEMENTATION(UnresolvedClass); 228 RAW_HEAP_OBJECT_IMPLEMENTATION(UnresolvedClass);
229 229
230 RawObject** from() { 230 RawObject** from() {
231 return reinterpret_cast<RawObject**>(&ptr()->qualifier_); 231 return reinterpret_cast<RawObject**>(&ptr()->qualifier_);
232 } 232 }
233 RawString* qualifier_; // Qualifier for the identifier. 233 RawString* qualifier_; // Qualifier for the identifier.
234 RawString* ident_; // name of the unresolved identifier. 234 RawString* ident_; // Name of the unresolved identifier.
235 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->ident_); } 235 RawClass* factory_signature_class_; // Expected type parameters for factory.
236 RawObject** to() {
237 return reinterpret_cast<RawObject**>(&ptr()->factory_signature_class_);
238 }
236 intptr_t token_index_; 239 intptr_t token_index_;
237 }; 240 };
238 241
239 242
240 class RawType : public RawObject { 243 class RawType : public RawObject {
241 RAW_HEAP_OBJECT_IMPLEMENTATION(Type); 244 RAW_HEAP_OBJECT_IMPLEMENTATION(Type);
242 245
243 friend class ObjectStore; 246 friend class ObjectStore;
244 }; 247 };
245 248
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 intptr_t type_; // Uninitialized, simple or complex. 772 intptr_t type_; // Uninitialized, simple or complex.
770 intptr_t flags_; // Represents global/local, case insensitive, multiline. 773 intptr_t flags_; // Represents global/local, case insensitive, multiline.
771 774
772 // Variable length data follows here. 775 // Variable length data follows here.
773 uint8_t data_[0]; 776 uint8_t data_[0];
774 }; 777 };
775 778
776 } // namespace dart 779 } // namespace dart
777 780
778 #endif // VM_RAW_OBJECT_H_ 781 #endif // VM_RAW_OBJECT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698