| OLD | NEW |
| 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 #include "vm/parser.h" | 5 #include "vm/parser.h" |
| 6 #include "vm/flags.h" | 6 #include "vm/flags.h" |
| 7 | 7 |
| 8 #ifndef DART_PRECOMPILED_RUNTIME | 8 #ifndef DART_PRECOMPILED_RUNTIME |
| 9 | 9 |
| 10 #include "lib/invocation_mirror.h" | 10 #include "lib/invocation_mirror.h" |
| (...skipping 4836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4847 enum_value.RecordStore(ordinal_value); | 4847 enum_value.RecordStore(ordinal_value); |
| 4848 i++; | 4848 i++; |
| 4849 | 4849 |
| 4850 ConsumeToken(); // Enum value name. | 4850 ConsumeToken(); // Enum value name. |
| 4851 if (CurrentToken() == Token::kCOMMA) { | 4851 if (CurrentToken() == Token::kCOMMA) { |
| 4852 ConsumeToken(); | 4852 ConsumeToken(); |
| 4853 } | 4853 } |
| 4854 } | 4854 } |
| 4855 ExpectToken(Token::kRBRACE); | 4855 ExpectToken(Token::kRBRACE); |
| 4856 | 4856 |
| 4857 const Type& array_type = Type::Handle(Z, Type::ArrayType()); |
| 4857 // Add static field 'const List values'. | 4858 // Add static field 'const List values'. |
| 4858 Field& values_field = Field::ZoneHandle(Z); | 4859 Field& values_field = Field::ZoneHandle(Z); |
| 4859 values_field = | 4860 values_field = |
| 4860 Field::New(Symbols::Values(), | 4861 Field::New(Symbols::Values(), |
| 4861 /* is_static = */ true, | 4862 /* is_static = */ true, |
| 4862 /* is_final = */ true, | 4863 /* is_final = */ true, |
| 4863 /* is_const = */ true, | 4864 /* is_const = */ true, |
| 4864 /* is_reflectable = */ true, cls, | 4865 /* is_reflectable = */ true, cls, array_type, cls.token_pos()); |
| 4865 Type::Handle(Z, Type::ArrayType()), cls.token_pos()); | |
| 4866 enum_members.AddField(values_field); | 4866 enum_members.AddField(values_field); |
| 4867 | 4867 |
| 4868 // Add static field 'const _deleted_enum_sentinel'. |
| 4869 Field& deleted_enum_sentinel = Field::ZoneHandle(Z); |
| 4870 deleted_enum_sentinel = Field::New(Symbols::_DeletedEnumSentinel(), |
| 4871 /* is_static = */ true, |
| 4872 /* is_final = */ true, |
| 4873 /* is_const = */ true, |
| 4874 /* is_reflectable = */ false, cls, |
| 4875 Object::dynamic_type(), cls.token_pos()); |
| 4876 enum_members.AddField(deleted_enum_sentinel); |
| 4877 |
| 4868 // Allocate the immutable array containing the enumeration values. | 4878 // Allocate the immutable array containing the enumeration values. |
| 4869 // The actual enum instance values will be patched in later. | 4879 // The actual enum instance values will be patched in later. |
| 4870 const Array& values_array = Array::Handle(Z, Array::New(i, Heap::kOld)); | 4880 const Array& values_array = Array::Handle(Z, Array::New(i, Heap::kOld)); |
| 4871 values_field.SetStaticValue(values_array, true); | 4881 values_field.SetStaticValue(values_array, true); |
| 4872 values_field.RecordStore(values_array); | 4882 values_field.RecordStore(values_array); |
| 4873 | 4883 |
| 4874 // Clone the _name field from the helper class. | 4884 // Clone the _name field from the helper class. |
| 4875 Field& _name_field = Field::Handle( | 4885 Field& _name_field = Field::Handle( |
| 4876 Z, helper_class.LookupInstanceFieldAllowPrivate(Symbols::_name())); | 4886 Z, helper_class.LookupInstanceFieldAllowPrivate(Symbols::_name())); |
| 4877 ASSERT(!_name_field.IsNull()); | 4887 ASSERT(!_name_field.IsNull()); |
| (...skipping 9628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14506 const ArgumentListNode& function_args, | 14516 const ArgumentListNode& function_args, |
| 14507 const LocalVariable* temp_for_last_arg, | 14517 const LocalVariable* temp_for_last_arg, |
| 14508 bool is_super_invocation) { | 14518 bool is_super_invocation) { |
| 14509 UNREACHABLE(); | 14519 UNREACHABLE(); |
| 14510 return NULL; | 14520 return NULL; |
| 14511 } | 14521 } |
| 14512 | 14522 |
| 14513 } // namespace dart | 14523 } // namespace dart |
| 14514 | 14524 |
| 14515 #endif // DART_PRECOMPILED_RUNTIME | 14525 #endif // DART_PRECOMPILED_RUNTIME |
| OLD | NEW |