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

Unified Diff: runtime/vm/dart_api_impl_test.cc

Issue 10778005: Add a limited version of ParameterMirrors that can only tell whether they are (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 5 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
« runtime/vm/dart_api_impl.cc ('K') | « runtime/vm/dart_api_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/dart_api_impl_test.cc
===================================================================
--- runtime/vm/dart_api_impl_test.cc (revision 9646)
+++ runtime/vm/dart_api_impl_test.cc (working copy)
@@ -3943,12 +3943,20 @@
bool is_getter = false;
bool is_setter = false;
bool is_constructor = false;
+ int64_t fixed_param_count = -1;
+ int64_t opt_param_count = -1;
EXPECT_VALID(Dart_FunctionIsAbstract(func, &is_abstract));
EXPECT_VALID(Dart_FunctionIsStatic(func, &is_static));
EXPECT_VALID(Dart_FunctionIsGetter(func, &is_getter));
EXPECT_VALID(Dart_FunctionIsSetter(func, &is_setter));
EXPECT_VALID(Dart_FunctionIsConstructor(func, &is_constructor));
- buffer->Printf("%s", name_cstr);
+ EXPECT_VALID(Dart_FunctionParameterCounts(func,
+ &fixed_param_count, &opt_param_count));
+
+ buffer->Printf("%s %lld %lld",
+ name_cstr,
+ fixed_param_count,
+ opt_param_count);
if (is_abstract) {
buffer->Printf(" abstract");
}
@@ -3996,6 +4004,8 @@
" abstract set p(x);\n"
" abstract get _q();\n"
" abstract set _r(x);\n"
+ " s(x, [y, z]) {}\n"
+ " t([x, y, z]) {}\n"
" operator ==(x) {}\n"
"}\n"
"class _PrivateClass {\n"
@@ -4016,63 +4026,63 @@
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("a static", buffer.buf());
+ EXPECT_STREQ("a 0 0 static", buffer.buf());
// Lookup a private top-level function.
func = Dart_LookupFunction(lib, Dart_NewString("_b"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_b static", buffer.buf());
+ EXPECT_STREQ("_b 0 0 static", buffer.buf());
// Lookup a top-level getter.
func = Dart_LookupFunction(lib, Dart_NewString("c"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("c static getter", buffer.buf());
+ EXPECT_STREQ("c 0 0 static getter", buffer.buf());
// Lookup a top-level setter.
func = Dart_LookupFunction(lib, Dart_NewString("d="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("d= static setter", buffer.buf());
+ EXPECT_STREQ("d= 1 0 static setter", buffer.buf());
// Lookup a private top-level getter.
func = Dart_LookupFunction(lib, Dart_NewString("_e"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_e static getter", buffer.buf());
+ EXPECT_STREQ("_e 0 0 static getter", buffer.buf());
// Lookup a private top-level setter.
func = Dart_LookupFunction(lib, Dart_NewString("_f="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_f= static setter", buffer.buf());
+ EXPECT_STREQ("_f= 1 0 static setter", buffer.buf());
// Lookup an unnamed constructor
func = Dart_LookupFunction(cls, Dart_NewString("MyClass"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("MyClass constructor", buffer.buf());
+ EXPECT_STREQ("MyClass 0 0 constructor", buffer.buf());
// Lookup a named constructor
func = Dart_LookupFunction(cls, Dart_NewString("MyClass.named"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("MyClass.named constructor", buffer.buf());
+ EXPECT_STREQ("MyClass.named 0 0 constructor", buffer.buf());
// Lookup an private unnamed constructor
func = Dart_LookupFunction(private_cls, Dart_NewString("_PrivateClass"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_PrivateClass constructor", buffer.buf());
+ EXPECT_STREQ("_PrivateClass 0 0 constructor", buffer.buf());
// Lookup a private named constructor
func = Dart_LookupFunction(private_cls,
@@ -4080,140 +4090,154 @@
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_PrivateClass.named constructor", buffer.buf());
+ EXPECT_STREQ("_PrivateClass.named 0 0 constructor", buffer.buf());
// Lookup a method.
func = Dart_LookupFunction(cls, Dart_NewString("a"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("a", buffer.buf());
+ EXPECT_STREQ("a 0 0", buffer.buf());
// Lookup a private method.
func = Dart_LookupFunction(cls, Dart_NewString("_b"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_b", buffer.buf());
+ EXPECT_STREQ("_b 0 0", buffer.buf());
// Lookup a instance getter.
func = Dart_LookupFunction(cls, Dart_NewString("c"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("c getter", buffer.buf());
+ EXPECT_STREQ("c 0 0 getter", buffer.buf());
// Lookup a instance setter.
func = Dart_LookupFunction(cls, Dart_NewString("d="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("d= setter", buffer.buf());
+ EXPECT_STREQ("d= 1 0 setter", buffer.buf());
// Lookup a private instance getter.
func = Dart_LookupFunction(cls, Dart_NewString("_e"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_e getter", buffer.buf());
+ EXPECT_STREQ("_e 0 0 getter", buffer.buf());
// Lookup a private instance setter.
func = Dart_LookupFunction(cls, Dart_NewString("_f="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_f= setter", buffer.buf());
+ EXPECT_STREQ("_f= 1 0 setter", buffer.buf());
// Lookup a static method.
func = Dart_LookupFunction(cls, Dart_NewString("g"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("g static", buffer.buf());
+ EXPECT_STREQ("g 0 0 static", buffer.buf());
// Lookup a private static method.
func = Dart_LookupFunction(cls, Dart_NewString("_h"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_h static", buffer.buf());
+ EXPECT_STREQ("_h 0 0 static", buffer.buf());
// Lookup a static getter.
func = Dart_LookupFunction(cls, Dart_NewString("i"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("i static getter", buffer.buf());
+ EXPECT_STREQ("i 0 0 static getter", buffer.buf());
// Lookup a static setter.
func = Dart_LookupFunction(cls, Dart_NewString("j="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("j= static setter", buffer.buf());
+ EXPECT_STREQ("j= 1 0 static setter", buffer.buf());
// Lookup a private static getter.
func = Dart_LookupFunction(cls, Dart_NewString("_k"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_k static getter", buffer.buf());
+ EXPECT_STREQ("_k 0 0 static getter", buffer.buf());
// Lookup a private static setter.
func = Dart_LookupFunction(cls, Dart_NewString("_l="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_l= static setter", buffer.buf());
+ EXPECT_STREQ("_l= 1 0 static setter", buffer.buf());
// Lookup an abstract method.
func = Dart_LookupFunction(cls, Dart_NewString("m"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("m abstract", buffer.buf());
+ EXPECT_STREQ("m 0 0 abstract", buffer.buf());
// Lookup a private abstract method.
func = Dart_LookupFunction(cls, Dart_NewString("_n"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_n abstract", buffer.buf());
+ EXPECT_STREQ("_n 0 0 abstract", buffer.buf());
// Lookup a abstract getter.
func = Dart_LookupFunction(cls, Dart_NewString("o"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("o abstract getter", buffer.buf());
+ EXPECT_STREQ("o 0 0 abstract getter", buffer.buf());
// Lookup a abstract setter.
func = Dart_LookupFunction(cls, Dart_NewString("p="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("p= abstract setter", buffer.buf());
+ EXPECT_STREQ("p= 1 0 abstract setter", buffer.buf());
// Lookup a private abstract getter.
func = Dart_LookupFunction(cls, Dart_NewString("_q"));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_q abstract getter", buffer.buf());
+ EXPECT_STREQ("_q 0 0 abstract getter", buffer.buf());
// Lookup a private abstract setter.
func = Dart_LookupFunction(cls, Dart_NewString("_r="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("_r= abstract setter", buffer.buf());
+ EXPECT_STREQ("_r= 1 0 abstract setter", buffer.buf());
+ // Lookup a method with fixed and optional parameters.
+ func = Dart_LookupFunction(cls, Dart_NewString("s"));
+ EXPECT_VALID(func);
+ EXPECT(Dart_IsFunction(func));
+ BuildFunctionDescription(&buffer, func);
+ EXPECT_STREQ("s 1 2", buffer.buf());
+
+ // Lookup a method with only optional parameters.
+ func = Dart_LookupFunction(cls, Dart_NewString("t"));
+ EXPECT_VALID(func);
+ EXPECT(Dart_IsFunction(func));
+ BuildFunctionDescription(&buffer, func);
+ EXPECT_STREQ("t 0 3", buffer.buf());
+
// Lookup an operator
func = Dart_LookupFunction(cls, Dart_NewString("=="));
EXPECT_VALID(func);
EXPECT(Dart_IsFunction(func));
BuildFunctionDescription(&buffer, func);
- EXPECT_STREQ("==", buffer.buf());
+ EXPECT_STREQ("== 1 0", buffer.buf());
// Lookup a function that does not exist from a library.
func = Dart_LookupFunction(lib, Dart_NewString("DoesNotExist"));
« runtime/vm/dart_api_impl.cc ('K') | « runtime/vm/dart_api_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698