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 #ifndef RUNTIME_VM_OBJECT_H_ | 5 #ifndef RUNTIME_VM_OBJECT_H_ |
6 #define RUNTIME_VM_OBJECT_H_ | 6 #define RUNTIME_VM_OBJECT_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "platform/utils.h" | 10 #include "platform/utils.h" |
(...skipping 1661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1672 | 1672 |
1673 // Clone this type argument vector and clone all uninstantiated type | 1673 // Clone this type argument vector and clone all uninstantiated type |
1674 // arguments, changing the class owner of type parameters. | 1674 // arguments, changing the class owner of type parameters. |
1675 // Instantiated type arguments are shared. | 1675 // Instantiated type arguments are shared. |
1676 RawTypeArguments* CloneUninstantiated(const Class& new_owner, | 1676 RawTypeArguments* CloneUninstantiated(const Class& new_owner, |
1677 TrailPtr trail = NULL) const; | 1677 TrailPtr trail = NULL) const; |
1678 | 1678 |
1679 // Canonicalize only if instantiated, otherwise returns 'this'. | 1679 // Canonicalize only if instantiated, otherwise returns 'this'. |
1680 RawTypeArguments* Canonicalize(TrailPtr trail = NULL) const; | 1680 RawTypeArguments* Canonicalize(TrailPtr trail = NULL) const; |
1681 | 1681 |
1682 // Returns a formatted list of occuring type arguments with their URI. | 1682 // Returns a formatted list of occurring type arguments with their URI. |
1683 RawString* EnumerateURIs() const; | 1683 RawString* EnumerateURIs() const; |
1684 | 1684 |
1685 // Return 'this' if this type argument vector is instantiated, i.e. if it does | 1685 // Return 'this' if this type argument vector is instantiated, i.e. if it does |
1686 // not refer to type parameters. Otherwise, return a new type argument vector | 1686 // not refer to type parameters. Otherwise, return a new type argument vector |
1687 // where each reference to a type parameter is replaced with the corresponding | 1687 // where each reference to a type parameter is replaced with the corresponding |
1688 // type from the various type argument vectors (class instantiator, function, | 1688 // type from the various type argument vectors (class instantiator, function, |
1689 // or parent functions via the current context). | 1689 // or parent functions via the current context). |
1690 // If bound_error is not NULL, it may be set to reflect a bound error. | 1690 // If bound_error is not NULL, it may be set to reflect a bound error. |
1691 RawTypeArguments* InstantiateFrom( | 1691 RawTypeArguments* InstantiateFrom( |
1692 const TypeArguments& instantiator_type_arguments, | 1692 const TypeArguments& instantiator_type_arguments, |
(...skipping 4094 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5787 | 5787 |
5788 // The name of this type, including the names of its type arguments, if any. | 5788 // The name of this type, including the names of its type arguments, if any. |
5789 virtual RawString* Name() const { return BuildName(kInternalName); } | 5789 virtual RawString* Name() const { return BuildName(kInternalName); } |
5790 | 5790 |
5791 // The name of this type, including the names of its type arguments, if any. | 5791 // The name of this type, including the names of its type arguments, if any. |
5792 // Names of internal classes are mapped to their public interfaces. | 5792 // Names of internal classes are mapped to their public interfaces. |
5793 virtual RawString* UserVisibleName() const { | 5793 virtual RawString* UserVisibleName() const { |
5794 return BuildName(kUserVisibleName); | 5794 return BuildName(kUserVisibleName); |
5795 } | 5795 } |
5796 | 5796 |
5797 // Returns a formatted list of occuring types with their URI. | 5797 // Returns a formatted list of occurring types with their URI. |
5798 virtual RawString* EnumerateURIs() const; | 5798 virtual RawString* EnumerateURIs() const; |
5799 | 5799 |
5800 virtual intptr_t Hash() const; | 5800 virtual intptr_t Hash() const; |
5801 | 5801 |
5802 // The name of this type's class, i.e. without the type argument names of this | 5802 // The name of this type's class, i.e. without the type argument names of this |
5803 // type. | 5803 // type. |
5804 RawString* ClassName() const; | 5804 RawString* ClassName() const; |
5805 | 5805 |
5806 // Check if this type represents the 'dynamic' type or if it is malformed, | 5806 // Check if this type represents the 'dynamic' type or if it is malformed, |
5807 // since a malformed type is mapped to 'dynamic'. | 5807 // since a malformed type is mapped to 'dynamic'. |
(...skipping 3184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8992 | 8992 |
8993 inline void TypeArguments::SetHash(intptr_t value) const { | 8993 inline void TypeArguments::SetHash(intptr_t value) const { |
8994 // This is only safe because we create a new Smi, which does not cause | 8994 // This is only safe because we create a new Smi, which does not cause |
8995 // heap allocation. | 8995 // heap allocation. |
8996 StoreSmi(&raw_ptr()->hash_, Smi::New(value)); | 8996 StoreSmi(&raw_ptr()->hash_, Smi::New(value)); |
8997 } | 8997 } |
8998 | 8998 |
8999 } // namespace dart | 8999 } // namespace dart |
9000 | 9000 |
9001 #endif // RUNTIME_VM_OBJECT_H_ | 9001 #endif // RUNTIME_VM_OBJECT_H_ |
OLD | NEW |