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

Unified Diff: runtime/vm/object.h

Issue 11411271: Remove support for interfaces. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/object.h
===================================================================
--- runtime/vm/object.h (revision 15552)
+++ runtime/vm/object.h (working copy)
@@ -679,11 +679,6 @@
return RoundedAllocationSize(sizeof(RawClass));
}
- bool is_interface() const {
- return InterfaceBit::decode(raw_ptr()->state_bits_);
- }
- void set_is_interface() const;
-
bool is_implemented() const {
return ImplementedBit::decode(raw_ptr()->state_bits_);
}
@@ -732,13 +727,10 @@
// Allocate a class used for VM internal objects.
template <class FakeObject> static RawClass* New();
- // Allocate instance classes and interfaces.
+ // Allocate instance classes.
static RawClass* New(const String& name,
const Script& script,
intptr_t token_pos);
- static RawClass* NewInterface(const String& name,
- const Script& script,
- intptr_t token_pos);
static RawClass* NewNativeWrapper(const Library& library,
const String& name,
int num_fields);
@@ -764,14 +756,12 @@
private:
enum {
kConstBit = 1,
- kInterfaceBit = 2,
- kImplementedBit = 3,
- kAbstractBit = 4,
- kStateTagBit = 5,
+ kImplementedBit = 2,
+ kAbstractBit = 3,
+ kStateTagBit = 4,
kStateTagSize = 2,
};
class ConstBit : public BitField<bool, kConstBit, 1> {};
- class InterfaceBit : public BitField<bool, kInterfaceBit, 1> {};
class ImplementedBit : public BitField<bool, kImplementedBit, 1> {};
class AbstractBit : public BitField<bool, kAbstractBit, 1> {};
class StateBits : public BitField<RawClass::ClassState,
@@ -859,12 +849,6 @@
static bool AreEqual(const AbstractTypeArguments& arguments,
const AbstractTypeArguments& other_arguments);
- // Returns true if both arguments represent vectors of possibly still
- // unresolved identical types.
- static bool AreIdentical(const AbstractTypeArguments& arguments,
- const AbstractTypeArguments& other_arguments,
- bool check_type_parameter_bounds);
-
// Return 'this' if this type argument vector is instantiated, i.e. if it does
// not refer to type parameters. Otherwise, return a new type argument vector
// where each reference to a type parameter is replaced with the corresponding
@@ -901,7 +885,7 @@
}
// Check that this type argument vector is within the declared bounds of the
- // given class or interface. If not, set malformed_error (if not yet set).
+ // given class. If not, set malformed_error (if not yet set).
bool IsWithinBoundsOf(const Class& cls,
const AbstractTypeArguments& bounds_instantiator,
Error* malformed_error) const;
@@ -3182,8 +3166,6 @@
virtual intptr_t token_pos() const;
virtual bool IsInstantiated() const;
virtual bool Equals(const Instance& other) const;
- virtual bool IsIdentical(const AbstractType& other,
- bool check_type_parameter_bound) const;
// Instantiate this type using the given type argument vector.
// Return a new type, or return 'this' if it is already instantiated.
@@ -3246,15 +3228,6 @@
// Check if this type represents the 'Function' type.
bool IsFunctionType() const;
- // Check if this type is an interface type.
- bool IsInterfaceType() const {
- if (!HasResolvedTypeClass()) {
- return false;
- }
- const Class& cls = Class::Handle(type_class());
- return !cls.IsNull() && cls.is_interface();
- }
-
// Check the subtype relationship.
bool IsSubtypeOf(const AbstractType& other, Error* malformed_error) const {
return TypeTest(kIsSubtypeOf, other, malformed_error);
@@ -3321,8 +3294,6 @@
virtual intptr_t token_pos() const { return raw_ptr()->token_pos_; }
virtual bool IsInstantiated() const;
virtual bool Equals(const Instance& other) const;
- virtual bool IsIdentical(const AbstractType& other,
- bool check_type_parameter_bound) const;
virtual RawAbstractType* InstantiateFrom(
const AbstractTypeArguments& instantiator_type_arguments) const;
virtual RawAbstractType* Canonicalize() const;
@@ -3358,7 +3329,7 @@
// The 'double' type.
static RawType* Double();
- // The 'num' interface type.
+ // The 'num' type.
static RawType* Number();
// The 'String' type.
@@ -3367,7 +3338,7 @@
// The 'Array' type.
static RawType* ArrayType();
- // The 'Function' interface type.
+ // The 'Function' type.
static RawType* Function();
// The finalized type of the given non-parameterized class.
@@ -3421,8 +3392,6 @@
virtual intptr_t token_pos() const { return raw_ptr()->token_pos_; }
virtual bool IsInstantiated() const { return false; }
virtual bool Equals(const Instance& other) const;
- virtual bool IsIdentical(const AbstractType& other,
- bool check_type_parameter_bound) const;
virtual RawAbstractType* InstantiateFrom(
const AbstractTypeArguments& instantiator_type_arguments) const;
virtual RawAbstractType* Canonicalize() const { return raw(); }

Powered by Google App Engine
This is Rietveld 408576698