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

Unified Diff: frog/world.dart

Issue 9220003: Revert "cleanup resolveMember and get/set" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 11 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
« no previous file with comments | « frog/var_member.dart ('k') | tests/language/language.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: frog/world.dart
diff --git a/frog/world.dart b/frog/world.dart
index 8fe0892a58da55db27fc3c0216f62e953b84b523..69e069df21309bc6daee9bcbd4313bf7ab51c09f 100644
--- a/frog/world.dart
+++ b/frog/world.dart
@@ -62,15 +62,11 @@ class CounterLog {
int dynamicMethodCalls = 0;
int typeAsserts = 0;
int objectProtoMembers = 0;
- int invokeCalls = 0;
- int msetN = 0;
info() {
world.info('Dynamically typed method calls: $dynamicMethodCalls');
world.info('Generated type assertions: $typeAsserts');
world.info('Members on Object.prototype: $objectProtoMembers');
- world.info('Invoke calls: $invokeCalls');
- world.info('msetN calls: $msetN');
}
// We need to push a new counter when we are abstract interpreting, so we
@@ -82,12 +78,9 @@ class CounterLog {
dynamicMethodCalls += other.dynamicMethodCalls;
typeAsserts += other.typeAsserts;
objectProtoMembers += other.objectProtoMembers;
- invokeCalls += other.invokeCalls;
- msetN += other.msetN;
}
}
-
/** Represents a Dart "world" of code. */
class World {
WorldGenerator gen;
@@ -471,9 +464,17 @@ class World {
}
findMainMethod(Library lib) {
- var main = lib.lookup('main', lib.span);
- if (main == null) {
+ var mainMembers = lib.topType.resolveMember('main');
+ var main = null;
+ if (mainMembers == null || mainMembers.members.length == 0) {
fatal('no main method specified');
+ } else if (mainMembers.members.length > 1) {
+ for (var m in mainMembers.members) {
+ main = m;
+ error('more than one main member (using last?)', main.span);
+ }
+ } else {
+ main = mainMembers.members[0];
}
return main;
}
« no previous file with comments | « frog/var_member.dart ('k') | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698