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

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

Issue 23983026: Fill in type arguments when creating an object from the mirrors or embedding API. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: RareType Created 7 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 #ifndef VM_OBJECT_H_ 5 #ifndef VM_OBJECT_H_
6 #define VM_OBJECT_H_ 6 #define 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 684 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 695
696 // Return the signature type of this signature class. 696 // Return the signature type of this signature class.
697 // For example, if this class represents a signature of the form 697 // For example, if this class represents a signature of the form
698 // 'F<T, R>(T, [b: B, c: C]) => R', then its signature type is a parameterized 698 // 'F<T, R>(T, [b: B, c: C]) => R', then its signature type is a parameterized
699 // type with this class as the type class and type parameters 'T' and 'R' 699 // type with this class as the type class and type parameters 'T' and 'R'
700 // as its type argument vector. 700 // as its type argument vector.
701 // SignatureType is used as the type of formal parameters representing a 701 // SignatureType is used as the type of formal parameters representing a
702 // function. 702 // function.
703 RawType* SignatureType() const; 703 RawType* SignatureType() const;
704 704
705 // Return the Type with type parameters declared by this class filled in with
706 // dynamic and type parameters declared in superclasses filled in as declared
707 // in superclass clauses.
708 RawType* RareType() const;
709
705 RawLibrary* library() const { return raw_ptr()->library_; } 710 RawLibrary* library() const { return raw_ptr()->library_; }
706 void set_library(const Library& value) const; 711 void set_library(const Library& value) const;
707 712
708 // The type parameters (and their bounds) are specified as an array of 713 // The type parameters (and their bounds) are specified as an array of
709 // TypeParameter. 714 // TypeParameter.
710 RawTypeArguments* type_parameters() const { 715 RawTypeArguments* type_parameters() const {
711 return raw_ptr()->type_parameters_; 716 return raw_ptr()->type_parameters_;
712 } 717 }
713 void set_type_parameters(const TypeArguments& value) const; 718 void set_type_parameters(const TypeArguments& value) const;
714 intptr_t NumTypeParameters() const; 719 intptr_t NumTypeParameters() const;
(...skipping 5438 matching lines...) Expand 10 before | Expand all | Expand 10 after
6153 6158
6154 6159
6155 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, 6160 RawObject* MegamorphicCache::GetTargetFunction(const Array& array,
6156 intptr_t index) { 6161 intptr_t index) {
6157 return array.At((index * kEntryLength) + kTargetFunctionIndex); 6162 return array.At((index * kEntryLength) + kTargetFunctionIndex);
6158 } 6163 }
6159 6164
6160 } // namespace dart 6165 } // namespace dart
6161 6166
6162 #endif // VM_OBJECT_H_ 6167 #endif // VM_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/object.cc » ('j') | runtime/vm/object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698