Chromium Code Reviews| Index: frog/member.dart |
| diff --git a/frog/member.dart b/frog/member.dart |
| index 2e74a9adb919d466f20013a9658ca9eb710facec..d46c17305fbbd5638262af0d9471ff9276774971 100644 |
| --- a/frog/member.dart |
| +++ b/frog/member.dart |
| @@ -402,10 +402,18 @@ class FieldMember extends Member { |
| if (isFinal) { |
| return cv; |
| } |
| + world.gen.hasStatics = true; |
| if (declaringType.isTop) { |
| - return new Value(type, '$jsname', node.span); |
| - } else { |
| + if (declaringType.library == world.dom) { |
|
Siggi Cherem (dart-lang)
2011/11/18 01:28:10
I don't like all these subtle cases (here/below),
Jennifer Messerly
2011/11/18 01:46:39
yes, if it can be solved by marking native--that w
Siggi Cherem (dart-lang)
2011/11/18 18:33:17
yeah :(
|
| + return new Value(type, '$jsname', node.span); |
| + } else { |
| + return new Value(type, '\$globals.$jsname', node.span); |
| + } |
| + } else if (declaringType.isNative) { |
| return new Value(type, '${declaringType.jsname}.$jsname', node.span); |
| + } else { |
| + return new Value(type, |
| + '\$globals.${declaringType.jsname}_$jsname', node.span); |
| } |
| } else if (target.isConst && isFinal) { |
| // take advantage of consts and retrieve the value directly if possible |
| @@ -753,6 +761,8 @@ class MethodMember extends Member { |
| declaringType.genMethod(this); |
| _provideOptionalParamInfo = true; |
| if (isStatic) { |
| + // ensure the type is generated: |
| + declaringType.markUsed(); |
|
Jennifer Messerly
2011/11/18 01:46:39
hmmm, we probably don't want to generate an entire
Siggi Cherem (dart-lang)
2011/11/18 18:33:17
Sure. Done.
|
| var type = declaringType.isTop ? '' : '${declaringType.jsname}.'; |
| return new Value(functionType, '$type$jsname', node.span); |
| } |