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

Unified Diff: frog/value.dart

Issue 8523024: Adding frogium: a frog-chromium architecture that runs tests in chromium that (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge with latest changes Created 9 years, 1 month 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: frog/value.dart
diff --git a/frog/value.dart b/frog/value.dart
index e370fda36f36f7933c05f2bf12bfc5a9f896b3ea..88f93f42769417e3fa50646bfe3b878c9ba76927 100644
--- a/frog/value.dart
+++ b/frog/value.dart
@@ -24,6 +24,10 @@ class Value {
/** If we reference this value multiple times, do we need a temp? */
bool needsTemp;
+ // TODO(jmesserly): until reified generics are fixed, treat ParameterType as
+ // "var".
+ bool get _typeIsVarOrParameterType() => type.isVar || type is ParameterType;
+
Value(this.type, this.code, this.span,
// TODO(sigmund): reorder, so that needsTemp comes first.
[this.isSuper = false, this.needsTemp = true, this.isType = false]) {
@@ -57,11 +61,10 @@ class Value {
}
-
Value invoke(MethodGenerator context, String name, Node node, Arguments args,
[bool isDynamic=false]) {
// TODO(jimhug): The != method is weird - understand it better.
- if (type.isVar && name == '\$ne') {
+ if (_typeIsVarOrParameterType && name == '\$ne') {
if (args.values.length != 1) {
world.warning('wrong number of arguments for !=', node.span);
}
@@ -97,7 +100,7 @@ class Value {
bool canInvoke(MethodGenerator context, String name, Arguments args) {
// TODO(jimhug): The != method is weird - understand it better.
- if (type.isVar && name == '\$ne') {
+ if (_typeIsVarOrParameterType && name == '\$ne') {
return true;
}
@@ -135,10 +138,8 @@ class Value {
_resolveMember(MethodGenerator context, String name, Node node,
[bool isDynamic=false]) {
- // TODO(jmesserly): until reified generic lists are fixed, treat
- // ParameterType as "var".
var member;
- if (!type.isVar && type is! ParameterType) {
+ if (!_typeIsVarOrParameterType) {
member = _tryResolveMember(context, name);
if (member != null && isType && !member.isStatic) {

Powered by Google App Engine
This is Rietveld 408576698