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

Side by Side Diff: runtime/vm/object.cc

Issue 10933039: Make int an abstract class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Now with correct base. Created 8 years, 3 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
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 #include "vm/object.h" 5 #include "vm/object.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/bigint_operations.h" 10 #include "vm/bigint_operations.h"
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 type = Type::NewNonParameterizedType(cls); 802 type = Type::NewNonParameterizedType(cls);
803 object_store->set_function_type(type); 803 object_store->set_function_type(type);
804 804
805 cls = Class::New<Number>(); 805 cls = Class::New<Number>();
806 name = Symbols::Number(); 806 name = Symbols::Number();
807 RegisterClass(cls, name, core_lib); 807 RegisterClass(cls, name, core_lib);
808 pending_classes.Add(cls, Heap::kOld); 808 pending_classes.Add(cls, Heap::kOld);
809 type = Type::NewNonParameterizedType(cls); 809 type = Type::NewNonParameterizedType(cls);
810 object_store->set_number_type(type); 810 object_store->set_number_type(type);
811 811
812 cls = CreateAndRegisterInterface("int", script, core_lib); 812 name = Symbols::New("int");
813 cls = Class::New<Instance>(name, script, Scanner::kDummyTokenIndex);
814 RegisterClass(cls, name, core_lib);
813 pending_classes.Add(cls, Heap::kOld); 815 pending_classes.Add(cls, Heap::kOld);
814 type = Type::NewNonParameterizedType(cls); 816 type = Type::NewNonParameterizedType(cls);
815 object_store->set_int_interface(type); 817 object_store->set_int_type(type);
816 818
817 name = Symbols::New("double"); 819 name = Symbols::New("double");
818 cls = Class::New<Instance>(name, script, Scanner::kDummyTokenIndex); 820 cls = Class::New<Instance>(name, script, Scanner::kDummyTokenIndex);
819 RegisterClass(cls, name, core_lib); 821 RegisterClass(cls, name, core_lib);
820 pending_classes.Add(cls, Heap::kOld); 822 pending_classes.Add(cls, Heap::kOld);
821 type = Type::NewNonParameterizedType(cls); 823 type = Type::NewNonParameterizedType(cls);
822 object_store->set_double_type(type); 824 object_store->set_double_type(type);
823 825
824 cls = CreateAndRegisterInterface("String", script, core_lib); 826 cls = CreateAndRegisterInterface("String", script, core_lib);
825 pending_classes.Add(cls, Heap::kOld); 827 pending_classes.Add(cls, Heap::kOld);
(...skipping 1765 matching lines...) Expand 10 before | Expand all | Expand 10 after
2591 } 2593 }
2592 } 2594 }
2593 2595
2594 2596
2595 bool AbstractType::IsBoolType() const { 2597 bool AbstractType::IsBoolType() const {
2596 return HasResolvedTypeClass() && 2598 return HasResolvedTypeClass() &&
2597 (type_class() == Type::Handle(Type::BoolType()).type_class()); 2599 (type_class() == Type::Handle(Type::BoolType()).type_class());
2598 } 2600 }
2599 2601
2600 2602
2601 bool AbstractType::IsIntInterface() const { 2603 bool AbstractType::IsIntType() const {
2602 return HasResolvedTypeClass() && 2604 return HasResolvedTypeClass() &&
2603 (type_class() == Type::Handle(Type::IntInterface()).type_class()); 2605 (type_class() == Type::Handle(Type::IntType()).type_class());
2604 } 2606 }
2605 2607
2606 2608
2607 bool AbstractType::IsDoubleType() const { 2609 bool AbstractType::IsDoubleType() const {
2608 return HasResolvedTypeClass() && 2610 return HasResolvedTypeClass() &&
2609 (type_class() == Type::Handle(Type::Double()).type_class()); 2611 (type_class() == Type::Handle(Type::Double()).type_class());
2610 } 2612 }
2611 2613
2612 2614
2613 bool AbstractType::IsNumberType() const { 2615 bool AbstractType::IsNumberType() const {
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
2723 RawType* Type::ObjectType() { 2725 RawType* Type::ObjectType() {
2724 return Isolate::Current()->object_store()->object_type(); 2726 return Isolate::Current()->object_store()->object_type();
2725 } 2727 }
2726 2728
2727 2729
2728 RawType* Type::BoolType() { 2730 RawType* Type::BoolType() {
2729 return Isolate::Current()->object_store()->bool_type(); 2731 return Isolate::Current()->object_store()->bool_type();
2730 } 2732 }
2731 2733
2732 2734
2733 RawType* Type::IntInterface() { 2735 RawType* Type::IntType() {
2734 return Isolate::Current()->object_store()->int_interface(); 2736 return Isolate::Current()->object_store()->int_type();
2735 } 2737 }
2736 2738
2737 2739
2738 RawType* Type::SmiType() { 2740 RawType* Type::SmiType() {
2739 return Isolate::Current()->object_store()->smi_type(); 2741 return Isolate::Current()->object_store()->smi_type();
2740 } 2742 }
2741 2743
2742 2744
2743 RawType* Type::MintType() { 2745 RawType* Type::MintType() {
2744 return Isolate::Current()->object_store()->mint_type(); 2746 return Isolate::Current()->object_store()->mint_type();
(...skipping 8757 matching lines...) Expand 10 before | Expand all | Expand 10 after
11502 } 11504 }
11503 return result.raw(); 11505 return result.raw();
11504 } 11506 }
11505 11507
11506 11508
11507 const char* WeakProperty::ToCString() const { 11509 const char* WeakProperty::ToCString() const {
11508 return "_WeakProperty"; 11510 return "_WeakProperty";
11509 } 11511 }
11510 11512
11511 } // namespace dart 11513 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698