| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 #include "vm/class_finalizer.h" | 5 #include "vm/class_finalizer.h" |
| 6 | 6 |
| 7 #include "vm/code_generator.h" | 7 #include "vm/code_generator.h" |
| 8 #include "vm/flags.h" | 8 #include "vm/flags.h" |
| 9 #include "vm/heap.h" | 9 #include "vm/heap.h" |
| 10 #include "vm/isolate.h" | 10 #include "vm/isolate.h" |
| (...skipping 1367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1378 /* is_static = */ true, | 1378 /* is_static = */ true, |
| 1379 /* is_const = */ field.is_const(), | 1379 /* is_const = */ field.is_const(), |
| 1380 /* is_abstract = */ false, | 1380 /* is_abstract = */ false, |
| 1381 /* is_external = */ false, | 1381 /* is_external = */ false, |
| 1382 /* is_native = */ false, | 1382 /* is_native = */ false, |
| 1383 cls, | 1383 cls, |
| 1384 field.token_pos())); | 1384 field.token_pos())); |
| 1385 getter.set_result_type(type); | 1385 getter.set_result_type(type); |
| 1386 cls.AddFunction(getter); | 1386 cls.AddFunction(getter); |
| 1387 field.set_value(Instance::Handle(Object::sentinel().raw())); | 1387 field.set_value(Instance::Handle(Object::sentinel().raw())); |
| 1388 | |
| 1389 // Create initializer function. | |
| 1390 if (!field.is_const()) { | |
| 1391 const Function& init_function = Function::ZoneHandle( | |
| 1392 Function::NewStaticInitializer(field)); | |
| 1393 cls.AddFunction(init_function); | |
| 1394 } | |
| 1395 } | 1388 } |
| 1396 } | 1389 } |
| 1397 } | 1390 } |
| 1398 } | 1391 } |
| 1399 // Collect interfaces, super interfaces, and super classes of this class. | 1392 // Collect interfaces, super interfaces, and super classes of this class. |
| 1400 const GrowableObjectArray& interfaces = | 1393 const GrowableObjectArray& interfaces = |
| 1401 GrowableObjectArray::Handle(GrowableObjectArray::New()); | 1394 GrowableObjectArray::Handle(GrowableObjectArray::New()); |
| 1402 CollectInterfaces(cls, interfaces); | 1395 CollectInterfaces(cls, interfaces); |
| 1403 // Include superclasses in list of interfaces and super interfaces. | 1396 // Include superclasses in list of interfaces and super interfaces. |
| 1404 super_class = cls.SuperClass(); | 1397 super_class = cls.SuperClass(); |
| (...skipping 1673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3078 ASSERT(fields_array.Length() == ByteBuffer::NumberOfFields()); | 3071 ASSERT(fields_array.Length() == ByteBuffer::NumberOfFields()); |
| 3079 field ^= fields_array.At(0); | 3072 field ^= fields_array.At(0); |
| 3080 ASSERT(field.Offset() == ByteBuffer::data_offset()); | 3073 ASSERT(field.Offset() == ByteBuffer::data_offset()); |
| 3081 name ^= field.name(); | 3074 name ^= field.name(); |
| 3082 expected_name ^= String::New("_data"); | 3075 expected_name ^= String::New("_data"); |
| 3083 ASSERT(String::EqualsIgnoringPrivateKey(name, expected_name)); | 3076 ASSERT(String::EqualsIgnoringPrivateKey(name, expected_name)); |
| 3084 #endif | 3077 #endif |
| 3085 } | 3078 } |
| 3086 | 3079 |
| 3087 } // namespace dart | 3080 } // namespace dart |
| OLD | NEW |