| Index: runtime/lib/mirrors.cc
|
| diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc
|
| index c05335aa049a3d5e65995d654237c2c80ca6595a..3a5ba02cb9d3a1612a648bbec75a03f4c5a1228e 100644
|
| --- a/runtime/lib/mirrors.cc
|
| +++ b/runtime/lib/mirrors.cc
|
| @@ -71,7 +71,7 @@ static void ThrowNoSuchMethod(const Instance& receiver,
|
|
|
| static void EnsureConstructorsAreCompiled(const Function& func) {
|
| // Only generative constructors can have initializing formals.
|
| - if (!func.IsConstructor()) return;
|
| + if (!func.IsGenerativeConstructor()) return;
|
|
|
| Isolate* isolate = Isolate::Current();
|
| const Class& cls = Class::Handle(isolate, func.Owner());
|
| @@ -256,7 +256,7 @@ static RawInstance* CreateMethodMirror(const Function& func,
|
| bool isConstructor = (func.kind() == RawFunction::kConstructor);
|
| args.SetAt(7, Bool::Get(isConstructor));
|
| args.SetAt(8, Bool::Get(isConstructor && func.is_const()));
|
| - args.SetAt(9, Bool::Get(isConstructor && func.IsConstructor()));
|
| + args.SetAt(9, Bool::Get(isConstructor && func.IsGenerativeConstructor()));
|
| args.SetAt(10, Bool::Get(isConstructor && func.is_redirecting()));
|
| args.SetAt(11, Bool::Get(isConstructor && func.IsFactory()));
|
|
|
| @@ -1540,7 +1540,7 @@ DEFINE_NATIVE_ENTRY(ClassMirror_invokeConstructor, 5) {
|
| klass.LookupFunction(internal_constructor_name));
|
|
|
| if (lookup_constructor.IsNull() ||
|
| - !(lookup_constructor.IsConstructor() || lookup_constructor.IsFactory()) ||
|
| + (lookup_constructor.kind() != RawFunction::kConstructor) ||
|
| !lookup_constructor.is_reflectable()) {
|
| // Pretend we didn't find the constructor at all when the arity is wrong
|
| // so as to produce the same NoSuchMethodError as the non-reflective case.
|
| @@ -1602,7 +1602,7 @@ DEFINE_NATIVE_ENTRY(ClassMirror_invokeConstructor, 5) {
|
|
|
| const intptr_t num_explicit_args = explicit_args.Length();
|
| const intptr_t num_implicit_args =
|
| - redirected_constructor.IsConstructor() ? 2 : 1;
|
| + redirected_constructor.IsGenerativeConstructor() ? 2 : 1;
|
| const Array& args =
|
| Array::Handle(Array::New(num_implicit_args + num_explicit_args));
|
|
|
| @@ -1633,7 +1633,7 @@ DEFINE_NATIVE_ENTRY(ClassMirror_invokeConstructor, 5) {
|
| }
|
|
|
| Instance& new_object = Instance::Handle();
|
| - if (redirected_constructor.IsConstructor()) {
|
| + if (redirected_constructor.IsGenerativeConstructor()) {
|
| // Constructors get the uninitialized object and a constructor phase. Note
|
| // we have delayed allocation until after the function type and argument
|
| // matching checks.
|
| @@ -1664,7 +1664,7 @@ DEFINE_NATIVE_ENTRY(ClassMirror_invokeConstructor, 5) {
|
| // Factories may return null.
|
| ASSERT(result.IsInstance() || result.IsNull());
|
|
|
| - if (redirected_constructor.IsConstructor()) {
|
| + if (redirected_constructor.IsGenerativeConstructor()) {
|
| return new_object.raw();
|
| } else {
|
| return result.raw();
|
| @@ -1840,7 +1840,7 @@ DEFINE_NATIVE_ENTRY(MethodMirror_return_type, 2) {
|
| const Function& func = Function::Handle(ref.GetFunctionReferent());
|
| GET_NATIVE_ARGUMENT(AbstractType, instantiator, arguments->NativeArgAt(1));
|
| // We handle constructors in Dart code.
|
| - ASSERT(!func.IsConstructor());
|
| + ASSERT(!func.IsGenerativeConstructor());
|
| const AbstractType& type = AbstractType::Handle(func.result_type());
|
| return InstantiateType(type, instantiator);
|
| }
|
|
|