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

Unified Diff: runtime/vm/object.h

Issue 10008017: Do not require upper bounds to be resolved and finalized before comparing them (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/class_finalizer.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/object.h
===================================================================
--- runtime/vm/object.h (revision 6231)
+++ runtime/vm/object.h (working copy)
@@ -790,6 +790,7 @@
virtual intptr_t token_index() const;
virtual bool IsInstantiated() const;
virtual bool Equals(const AbstractType& other) const;
+ virtual bool IsIdentical(const AbstractType& other) const;
// Instantiate this type using the given type argument vector.
// Return a new type, or return 'this' if it is already instantiated.
@@ -896,11 +897,13 @@
virtual RawClass* type_class() const;
void set_type_class(const Object& value) const;
virtual RawUnresolvedClass* unresolved_class() const;
+ RawString* TypeClassName() const;
virtual RawAbstractTypeArguments* arguments() const;
void set_arguments(const AbstractTypeArguments& value) const;
virtual intptr_t token_index() const { return raw_ptr()->token_index_; }
virtual bool IsInstantiated() const;
virtual bool Equals(const AbstractType& other) const;
+ virtual bool IsIdentical(const AbstractType& other) const;
virtual RawAbstractType* InstantiateFrom(
const AbstractTypeArguments& instantiator_type_arguments) const;
virtual RawAbstractType* Canonicalize() const;
@@ -986,6 +989,7 @@
virtual intptr_t token_index() const { return raw_ptr()->token_index_; }
virtual bool IsInstantiated() const { return false; }
virtual bool Equals(const AbstractType& other) const;
+ virtual bool IsIdentical(const AbstractType& other) const;
virtual RawAbstractType* InstantiateFrom(
const AbstractTypeArguments& instantiator_type_arguments) const;
virtual RawAbstractType* Canonicalize() const { return raw(); }
@@ -1066,6 +1070,11 @@
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);
+
// 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
@@ -1135,11 +1144,6 @@
// A TypeArguments is an array of AbstractType.
class TypeArguments : public AbstractTypeArguments {
public:
- // Returns true if both arguments represent identical vectors of type
- // parameters, in number and names (but the type class may be different).
- static bool AreIdenticalTypeParameters(const TypeArguments& arguments,
- const TypeArguments& other_arguments);
-
virtual intptr_t Length() const;
virtual RawAbstractType* TypeAt(intptr_t index) const;
static intptr_t type_at_offset(intptr_t index) {
« no previous file with comments | « runtime/vm/class_finalizer.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698