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

Unified Diff: runtime/lib/mirrors.cc

Issue 1311613005: Add ParameterMirror.isInitializingFormal to dart:mirrors Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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
Index: runtime/lib/mirrors.cc
diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc
index d68e758aa24f20963ac6c42fbdff122ce1938060..e7d28cd5b00d4d36202dd425ac4e7a0d4d249bf7 100644
--- a/runtime/lib/mirrors.cc
+++ b/runtime/lib/mirrors.cc
@@ -118,7 +118,7 @@ static RawInstance* CreateParameterMirrorList(const Function& func,
const intptr_t index_of_first_named_param =
non_implicit_param_count - func.NumOptionalNamedParameters();
const Array& results = Array::Handle(Array::New(non_implicit_param_count));
- const Array& args = Array::Handle(Array::New(9));
+ const Array& args = Array::Handle(Array::New(10));
Smi& pos = Smi::Handle();
String& name = String::Handle();
@@ -126,6 +126,7 @@ static RawInstance* CreateParameterMirrorList(const Function& func,
Bool& is_final = Bool::Handle();
Object& default_value = Object::Handle();
Object& metadata = Object::Handle();
+ Object& is_field_initializer = Object::Handle();
// We force compilation of constructors to ensure the types of initializing
// formals have been corrected. We do not force the compilation of all types
@@ -177,6 +178,9 @@ static RawInstance* CreateParameterMirrorList(const Function& func,
Parser::kParameterDefaultValueOffset);
metadata = param_descriptor.At(i * Parser::kParameterEntrySize +
Parser::kParameterMetadataOffset);
+ is_field_initializer = param_descriptor.At(
+ i * Parser::kParameterEntrySize +
+ Parser::kParameterIsFieldInitializorOffset);
}
ASSERT(default_value.IsNull() || default_value.IsInstance());
@@ -189,6 +193,7 @@ static RawInstance* CreateParameterMirrorList(const Function& func,
args.SetAt(6, is_final);
args.SetAt(7, default_value);
args.SetAt(8, metadata);
+ args.SetAt(9, is_field_initializer);
param ^= CreateMirror(Symbols::_LocalParameterMirror(), args);
results.SetAt(i, param);
}
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart ('k') | runtime/lib/mirrors_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698