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

Unified Diff: frog/frogsh

Side-by-side diff isn't available for this file because of its large size.
Issue 8769012: Start resolving classes and default constructors. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « no previous file | frog/leg/compiler.dart » ('j') | frog/leg/elements/elements.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: frog/frogsh
===================================================================
--- frog/frogsh (revision 1986)
+++ frog/frogsh (working copy)
@@ -3909,7 +3909,7 @@
this.beginToken = beginToken;
this.endToken = endToken;
// Initializers done
- FunctionElement.call(this, name);
+ FunctionElement.call(this, name, const$216/*ElementKind.FUNCTION*/, null);
}
$inherits(PartialFunctionElement, FunctionElement);
PartialFunctionElement.prototype.parseNode = function(canceler, logger) {
@@ -6311,6 +6311,9 @@
return ('<<unparse error: ' + this.getObjectDescription() + ': ' + unparser.sb + '>>');
}
}
+Node.prototype.asIdentifier = function() {
+ return null;
+}
Node.prototype.asOperator = function() {
return null;
}
@@ -6521,6 +6524,11 @@
// Initializers done
Node.call(this);
}
+NodeList.empty$ctor = function() {
+ // Initializers done
+ NodeList.call(this, null, const$209/*const EmptyLink<Node>()*/);
+}
+NodeList.empty$ctor.prototype = NodeList.prototype;
NodeList.singleton$ctor = function(node) {
// Initializers done
NodeList.call(this, null, LinkFactory.Link$factory(node));
@@ -6532,6 +6540,9 @@
var $0;
return (($0 = this._nodes != null ? this._nodes : const$209/*const EmptyLink<Node>()*/) == null ? null : $0.assert$Link_Node());
ahe 2011/12/02 11:27:41 Long line ;-)
}
+NodeList.prototype.isEmpty = function() {
+ return this.get$nodes().isEmpty();
+}
NodeList.prototype.accept = function(visitor) {
return visitor.visitNodeList(this);
}
@@ -6568,6 +6579,7 @@
};
NodeList.prototype.getBeginToken$0 = NodeList.prototype.getBeginToken;
NodeList.prototype.getEndToken$0 = NodeList.prototype.getEndToken;
+NodeList.prototype.isEmpty$0 = NodeList.prototype.isEmpty;
// ********** Code for Block **************
function Block(statements) {
this.statements = statements;
@@ -6837,6 +6849,9 @@
var $0;
return (($0 = this.token.get$value()) == null ? null : $0.assert$SourceString());
}
+Identifier.prototype.asIdentifier = function() {
+ return this;
+}
Identifier.prototype.accept = function(visitor) {
return visitor.visitIdentifier(this);
}
@@ -7423,6 +7438,9 @@
Element.prototype.get$name = function() { return this.name; };
Element.prototype.get$kind = function() { return this.kind; };
Element.prototype.get$enclosingElement = function() { return this.enclosingElement; };
+Element.prototype.isClassMember = function() {
+ return this.enclosingElement != null && $eq(this.enclosingElement.kind, const$214/*ElementKind.CLASS*/);
+}
Element.prototype.hashCode = function() {
return this.name.hashCode();
}
@@ -7465,14 +7483,14 @@
return this.computeType(($0 == null ? null : $0.assert$Compiler()), ($1 == null ? null : $1.assert$Types()));
};
// ********** Code for FunctionElement **************
-function FunctionElement(name) {
+function FunctionElement(name, kind, enclosing) {
// Initializers done
- Element.call(this, name, const$216, null);
+ Element.call(this, name, kind, enclosing);
}
-FunctionElement.node$ctor = function(node, enclosing) {
+FunctionElement.node$ctor = function(node, kind, enclosing) {
this.node = node;
// Initializers done
- Element.call(this, node.name.get$dynamic().get$source(), const$216, enclosing);
+ Element.call(this, node.name.asIdentifier().get$source(), kind, enclosing);
}
FunctionElement.node$ctor.prototype = FunctionElement.prototype;
$inherits(FunctionElement, Element);
@@ -7502,6 +7520,27 @@
FunctionElement.prototype.computeType$2 = function($0, $1) {
return this.computeType(($0 == null ? null : $0.assert$Compiler()), $1);
};
+// ********** Code for SynthesizedConstructorElement **************
+function SynthesizedConstructorElement(enclosing) {
+ // Initializers done
+ FunctionElement.call(this, const$238/*const SourceString('')*/, const$239/*ElementKind.CONSTRUCTOR*/, enclosing);
+ this.parameters = const$210/*const EmptyLink<Element>()*/;
+}
+$inherits(SynthesizedConstructorElement, FunctionElement);
+SynthesizedConstructorElement.prototype.computeType = function(compiler, types) {
+ var $0;
+ if (this.type != null) return (($0 = this.type) == null ? null : $0.assert$FunctionType());
+ this.type = new FunctionType((($0 = types.get$voidType()) == null ? null : $0.assert$Type()), const$213);
+ return (($0 = this.type) == null ? null : $0.assert$FunctionType());
+}
+SynthesizedConstructorElement.prototype.parseNode = function(canceler, logger) {
+ if (this.node != null) return this.node;
+ this.node = new FunctionExpression(new Identifier(new StringToken(null, '', null)), new NodeList.empty$ctor(), new Block(new NodeList.empty$ctor()));
+ return this.node;
+}
+SynthesizedConstructorElement.prototype.computeType$2 = function($0, $1) {
+ return this.computeType(($0 == null ? null : $0.assert$Compiler()), $1);
+};
// ********** Code for ClassElement **************
function ClassElement(name) {
this.interfaces = const$213/*const EmptyLink<Type>()*/
@@ -7526,6 +7565,15 @@
compiler.resolveType(this);
this.isResolved = true;
}
+ClassElement.prototype.lookupLocalElement = function(name) {
+ return null;
+}
+ClassElement.prototype.canHaveDefaultConstructor = function() {
+ return true;
+}
+ClassElement.prototype.addConstructor = function(element) {
+
+}
ClassElement.prototype.computeType$2 = ClassElement.prototype.computeType;
ClassElement.prototype.resolve$1 = function($0) {
return this.resolve(($0 == null ? null : $0.assert$Compiler()));
@@ -7843,7 +7891,7 @@
return new StringWrapper(str.substring(quotes + 1, str.length - quotes));
}
SsaBuilder.prototype.visitLogicalAndOr = function(node, op) {
- var isAnd = $assert_bool(($eq(const$278/*const SourceString("&&")*/, op.get$source())));
+ var isAnd = $assert_bool(($eq(const$284/*const SourceString("&&")*/, op.get$source())));
this.visit(node.receiver);
var boolifiedLeft = this.popBoolified();
var condition;
@@ -8008,10 +8056,10 @@
var element = (($0 = this.elements.$index(node)) == null ? null : $0.assert$Element());
if ((node.selector instanceof Operator)) {
var op = (($0 = node.selector) == null ? null : $0.assert$Operator());
- if ($notnull_bool($eq(const$278/*const SourceString("&&")*/, op.get$source())) || $notnull_bool($eq(const$279/*const SourceString("||")*/, op.get$source()))) {
+ if ($notnull_bool($eq(const$284/*const SourceString("&&")*/, op.get$source())) || $notnull_bool($eq(const$285/*const SourceString("||")*/, op.get$source()))) {
this.visitLogicalAndOr(node, op);
}
- else if ($notnull_bool($eq(const$280/*const SourceString("!")*/, op.get$source()))) {
+ else if ($notnull_bool($eq(const$286/*const SourceString("!")*/, op.get$source()))) {
this.visitLogicalNot(node);
}
else if ((node.argumentsNode instanceof Prefix) || (node.argumentsNode instanceof Postfix)) {
@@ -8060,6 +8108,9 @@
}
}
}
+SsaBuilder.prototype.visitNewExpression = function(node) {
+ this.compiler.unimplemented("SsaBuilder: new expression");
+}
SsaBuilder.prototype.updateDefinition = function(node, value) {
var $0;
var element = (($0 = this.elements.$index(node)) == null ? null : $0.assert$VariableElement());
@@ -8073,14 +8124,14 @@
this.compiler.unimplemented("SsaBuilder: property access");
}
var op = node.assignmentOperator;
- if ($notnull_bool($eq(const$281/*const SourceString("=")*/, op.get$source()))) {
+ if ($notnull_bool($eq(const$287/*const SourceString("=")*/, op.get$source()))) {
var link = node.get$arguments();
- $assert(!$notnull_bool(link.isEmpty()) && $notnull_bool(link.get$tail().isEmpty$0()), "!link.isEmpty() && link.tail.isEmpty()", "builder.dart", 578, 14);
+ $assert(!$notnull_bool(link.isEmpty()) && $notnull_bool(link.get$tail().isEmpty$0()), "!link.isEmpty() && link.tail.isEmpty()", "builder.dart", 582, 14);
this.visit((($0 = link.get$head()) == null ? null : $0.assert$Node()));
this.stack.add(this.updateDefinition(node, this.pop()));
}
else {
- $assert($notnull_bool($eq(const$284/*const SourceString("++")*/, op.get$source())) || $notnull_bool($eq(const$285/*const SourceString("--")*/, op.get$source())) || node.assignmentOperator.get$source().get$stringValue().endsWith("="), "const SourceString(\"++\") == op.source ||\n const SourceString(\"--\") == op.source ||\n node.assignmentOperator.source.stringValue.endsWith(\"=\")", "builder.dart", 582, 14);
+ $assert($notnull_bool($eq(const$290/*const SourceString("++")*/, op.get$source())) || $notnull_bool($eq(const$291/*const SourceString("--")*/, op.get$source())) || node.assignmentOperator.get$source().get$stringValue().endsWith("="), "const SourceString(\"++\") == op.source ||\n const SourceString(\"--\") == op.source ||\n node.assignmentOperator.source.stringValue.endsWith(\"=\")", "builder.dart", 586, 14);
var isCompoundAssignment = !$notnull_bool(node.get$arguments().isEmpty());
var isPrefix = !$notnull_bool(node.get$isPostfix());
var getter = (($0 = this.elements.$index(node.selector)) == null ? null : $0.assert$Element());
@@ -8097,7 +8148,7 @@
var opElement = (($0 = this.elements.$index(op)) == null ? null : $0.assert$Element());
this.visitBinary(left, op, right, opElement);
var operation = this.pop();
- $assert(operation != null, "operation !== null", "builder.dart", 600, 14);
+ $assert(operation != null, "operation !== null", "builder.dart", 604, 14);
operation = this.updateDefinition(node, operation);
if ($notnull_bool(isPrefix)) {
this.stack.add(operation);
@@ -8168,7 +8219,7 @@
this.updateDefinition(definition, initialValue);
}
else {
- $assert((definition instanceof SendSet), "definition is SendSet", "builder.dart", 680, 16);
+ $assert((definition instanceof SendSet), "definition is SendSet", "builder.dart", 684, 16);
this.visitSendSet((definition == null ? null : definition.assert$SendSet()));
this.pop();
}
@@ -8584,10 +8635,10 @@
var $0;
var name;
if ($notnull_bool(node.isNumber())) {
- name = const$301/*const SourceString('guard\$num')*/;
+ name = const$307/*const SourceString('guard\$num')*/;
}
else if ($notnull_bool(node.isString())) {
- name = const$302/*const SourceString('guard\$string')*/;
+ name = const$308/*const SourceString('guard\$string')*/;
}
else {
unreachable();
@@ -8626,9 +8677,9 @@
JsNames.get$reserved = function() {
if ($globals.JsNames__reserved == null) {
$globals.JsNames__reserved = new HashSetImplementation();
- $globals.JsNames__reserved.addAll(const$295/*JsNames.reservedPropertySymbols*/);
- $globals.JsNames__reserved.addAll(const$297/*JsNames.reservedGlobalSymbols*/);
- $globals.JsNames__reserved.addAll(const$299/*JsNames.javaScriptKeywords*/);
+ $globals.JsNames__reserved.addAll(const$301/*JsNames.reservedPropertySymbols*/);
+ $globals.JsNames__reserved.addAll(const$303/*JsNames.reservedGlobalSymbols*/);
+ $globals.JsNames__reserved.addAll(const$305/*JsNames.javaScriptKeywords*/);
}
return $globals.JsNames__reserved;
}
@@ -11959,7 +12010,7 @@
var code = $assert_String(this.universe.generatedCode.$index(element));
if (code != null) return code;
var tree = this.parser.parse(element);
- var elements = this.resolver.resolve((tree == null ? null : tree.assert$FunctionExpression()));
+ var elements = this.resolver.resolve((tree == null ? null : tree.assert$FunctionExpression()), (element == null ? null : element.assert$FunctionElement()));
this.checker.check(tree, elements);
var graph = this.builder.build(tree, elements);
this.optimizer.optimize(graph);
@@ -11969,11 +12020,11 @@
}
Compiler.prototype.resolveType = function(element) {
var $0;
- this.resolver.resolveType((($0 = this.parser.parse(element)) == null ? null : $0.assert$ClassNode()));
+ this.resolver.resolveType((($0 = this.parser.parse(element)) == null ? null : $0.assert$ClassNode()), element);
}
Compiler.prototype.resolveSignature = function(element) {
var $0;
- this.resolver.resolveSignature((($0 = this.parser.parse(element)) == null ? null : $0.assert$FunctionExpression()));
+ this.resolver.resolveSignature((($0 = this.parser.parse(element)) == null ? null : $0.assert$FunctionExpression()), element);
}
Compiler.prototype.assembleProgram = function() {
var buffer = new StringBufferImpl("");
@@ -12050,11 +12101,11 @@
ResolverTask.prototype.get$name = function() {
return 'Resolver';
}
-ResolverTask.prototype.resolve = function(tree) {
+ResolverTask.prototype.resolve = function(tree, element) {
var $this = this; // closure support
var $0;
return (($0 = this.measure((function () {
- var visitor = new SignatureResolverVisitor($this.compiler);
+ var visitor = new SignatureResolverVisitor($this.compiler, element);
visitor.visit(tree);
visitor = new FullResolverVisitor.from$ctor(visitor);
visitor.visit(tree.body);
@@ -12065,7 +12116,7 @@
})
)) == null ? null : $0.assert$TreeElements());
}
-ResolverTask.prototype.resolveType = function(tree) {
+ResolverTask.prototype.resolveType = function(tree, element) {
var $this = this; // closure support
this.measure((function () {
var visitor = new ClassResolverVisitor($this.compiler);
@@ -12073,22 +12124,20 @@
})
);
}
-ResolverTask.prototype.resolveSignature = function(node) {
+ResolverTask.prototype.resolveSignature = function(node, element) {
var $this = this; // closure support
this.measure((function () {
- var visitor = new SignatureResolverVisitor($this.compiler);
+ var visitor = new SignatureResolverVisitor($this.compiler, element);
visitor.visitFunctionExpression(node);
})
);
}
-ResolverTask.prototype.resolve$1 = function($0) {
- return this.resolve(($0 == null ? null : $0.assert$FunctionExpression()));
-};
// ********** Code for ResolverVisitor **************
-function ResolverVisitor(compiler) {
+function ResolverVisitor(compiler, element) {
+ var $0;
this.compiler = compiler;
this.mapping = new TreeElements();
- this.context = new Scope(new TopScope(compiler.universe));
+ this.context = $notnull_bool(element.isClassMember()) ? new ClassScope((($0 = element.enclosingElement) == null ? null : $0.assert$ClassElement()), compiler.universe) : new TopScope(compiler.universe);
// Initializers done
}
ResolverVisitor.from$ctor = function(other) {
@@ -12156,29 +12205,31 @@
return this.visit(($0 == null ? null : $0.assert$Node()));
};
// ********** Code for SignatureResolverVisitor **************
-function SignatureResolverVisitor(compiler) {
+function SignatureResolverVisitor(compiler, element) {
+ this.element = element;
// Initializers done
- ResolverVisitor.call(this, compiler);
+ ResolverVisitor.call(this, compiler, element);
}
$inherits(SignatureResolverVisitor, ResolverVisitor);
+SignatureResolverVisitor.prototype.get$element = function() { return this.element; };
+SignatureResolverVisitor.prototype.set$element = function(value) { return this.element = value; };
SignatureResolverVisitor.prototype.visitFunctionExpression = function(node) {
var $0;
- var enclosingElement = (($0 = this.context.lookup((($0 = node.name.get$dynamic().get$source()) == null ? null : $0.assert$SourceString()))) == null ? null : $0.assert$FunctionElement());
- this.useElement(node, enclosingElement);
- this.context = new Scope.enclosing$ctor(this.context, enclosingElement);
- if (enclosingElement.parameters == null) {
+ this.useElement(node, this.element);
+ this.context = new Scope.enclosing$ctor(this.context, this.element);
+ if (this.element.parameters == null) {
var visitor = new ParametersVisitor(this);
visitor.visit(node.parameters);
- enclosingElement.parameters = (($0 = visitor.elements.toLink()) == null ? null : $0.assert$Link_Element());
+ this.element.parameters = (($0 = visitor.elements.toLink()) == null ? null : $0.assert$Link_Element());
}
else {
var parameterNodes = node.parameters.get$nodes();
- for (var link = enclosingElement.parameters;
+ for (var link = this.element.parameters;
!$notnull_bool(link.isEmpty()) && !$notnull_bool(parameterNodes.isEmpty()); link = (($0 = link.get$tail()) == null ? null : $0.assert$Link_Element()), parameterNodes = (($0 = parameterNodes.get$tail()) == null ? null : $0.assert$Link_Node())) {
this.defineElement((($0 = parameterNodes.get$head().get$definitions().get$nodes().get$head()) == null ? null : $0.assert$Node()), (($0 = link.get$head()) == null ? null : $0.assert$Element()));
}
}
- return enclosingElement;
+ return this.element;
}
// ********** Code for FullResolverVisitor **************
function FullResolverVisitor() {}
@@ -12218,7 +12269,7 @@
FullResolverVisitor.prototype.visitFunctionExpression = function(node) {
var $0;
this.visit(node.returnType);
- var enclosingElement = new FunctionElement.node$ctor(node, this.context.enclosingElement);
+ var enclosingElement = new FunctionElement.node$ctor(node, const$216/*ElementKind.FUNCTION*/, this.context.enclosingElement);
this.defineElement(node, enclosingElement);
this.context = new Scope.enclosing$ctor(this.context, enclosingElement);
var visitor = new ParametersVisitor(this);
@@ -12239,42 +12290,42 @@
}
FullResolverVisitor.prototype.mapOperatorToMethodName = function(name, isPrefix) {
if ($notnull_bool(isPrefix)) {
- if (name.get$stringValue() === '-') return const$237/*const SourceString('neg')*/;
- if (name.get$stringValue() === '~') return const$238/*const SourceString('not')*/;
+ if (name.get$stringValue() === '-') return const$243/*const SourceString('neg')*/;
+ if (name.get$stringValue() === '~') return const$244/*const SourceString('not')*/;
unreachable();
}
- if (name.get$stringValue() === '+') return const$240/*const SourceString('add')*/;
- if (name.get$stringValue() === '-') return const$241/*const SourceString('sub')*/;
- if (name.get$stringValue() === '*') return const$242/*const SourceString('mul')*/;
- if (name.get$stringValue() === '/') return const$243/*const SourceString('div')*/;
- if (name.get$stringValue() === '~/') return const$244/*const SourceString('tdiv')*/;
- if (name.get$stringValue() === '%') return const$245/*const SourceString('mod')*/;
- if (name.get$stringValue() === '<<') return const$246/*const SourceString('shl')*/;
- if (name.get$stringValue() === '>>') return const$247/*const SourceString('shr')*/;
- if (name.get$stringValue() === '|') return const$248/*const SourceString('or')*/;
- if (name.get$stringValue() === '&') return const$249/*const SourceString('and')*/;
- if (name.get$stringValue() === '^') return const$250/*const SourceString('xor')*/;
- if (name.get$stringValue() === '<') return const$251/*const SourceString('lt')*/;
- if (name.get$stringValue() === '<=') return const$252/*const SourceString('le')*/;
- if (name.get$stringValue() === '>') return const$253/*const SourceString('gt')*/;
- if (name.get$stringValue() === '>=') return const$254/*const SourceString('ge')*/;
- if (name.get$stringValue() === '==') return const$255/*const SourceString('eq')*/;
+ if (name.get$stringValue() === '+') return const$246/*const SourceString('add')*/;
+ if (name.get$stringValue() === '-') return const$247/*const SourceString('sub')*/;
+ if (name.get$stringValue() === '*') return const$248/*const SourceString('mul')*/;
+ if (name.get$stringValue() === '/') return const$249/*const SourceString('div')*/;
+ if (name.get$stringValue() === '~/') return const$250/*const SourceString('tdiv')*/;
+ if (name.get$stringValue() === '%') return const$251/*const SourceString('mod')*/;
+ if (name.get$stringValue() === '<<') return const$252/*const SourceString('shl')*/;
+ if (name.get$stringValue() === '>>') return const$253/*const SourceString('shr')*/;
+ if (name.get$stringValue() === '|') return const$254/*const SourceString('or')*/;
+ if (name.get$stringValue() === '&') return const$255/*const SourceString('and')*/;
+ if (name.get$stringValue() === '^') return const$256/*const SourceString('xor')*/;
+ if (name.get$stringValue() === '<') return const$257/*const SourceString('lt')*/;
+ if (name.get$stringValue() === '<=') return const$258/*const SourceString('le')*/;
+ if (name.get$stringValue() === '>') return const$259/*const SourceString('gt')*/;
+ if (name.get$stringValue() === '>=') return const$260/*const SourceString('ge')*/;
+ if (name.get$stringValue() === '==') return const$261/*const SourceString('eq')*/;
unreachable();
}
FullResolverVisitor.prototype.mapAssignmentOperatorToMethodName = function(name) {
- if (name.get$stringValue() === '+=') return const$240/*const SourceString('add')*/;
- if (name.get$stringValue() === '-=') return const$241/*const SourceString('sub')*/;
- if (name.get$stringValue() === '*=') return const$242/*const SourceString('mul')*/;
- if (name.get$stringValue() === '/=') return const$243/*const SourceString('div')*/;
- if (name.get$stringValue() === '~/=') return const$244/*const SourceString('tdiv')*/;
- if (name.get$stringValue() === '%=') return const$245/*const SourceString('mod')*/;
- if (name.get$stringValue() === '<<=') return const$246/*const SourceString('shl')*/;
- if (name.get$stringValue() === '>>=') return const$247/*const SourceString('shr')*/;
- if (name.get$stringValue() === '|=') return const$248/*const SourceString('or')*/;
- if (name.get$stringValue() === '&=') return const$249/*const SourceString('and')*/;
- if (name.get$stringValue() === '^=') return const$250/*const SourceString('xor')*/;
- if (name.get$stringValue() === '++') return const$240/*const SourceString('add')*/;
- if (name.get$stringValue() === '--') return const$241/*const SourceString('sub')*/;
+ if (name.get$stringValue() === '+=') return const$246/*const SourceString('add')*/;
+ if (name.get$stringValue() === '-=') return const$247/*const SourceString('sub')*/;
+ if (name.get$stringValue() === '*=') return const$248/*const SourceString('mul')*/;
+ if (name.get$stringValue() === '/=') return const$249/*const SourceString('div')*/;
+ if (name.get$stringValue() === '~/=') return const$250/*const SourceString('tdiv')*/;
+ if (name.get$stringValue() === '%=') return const$251/*const SourceString('mod')*/;
+ if (name.get$stringValue() === '<<=') return const$252/*const SourceString('shl')*/;
+ if (name.get$stringValue() === '>>=') return const$253/*const SourceString('shr')*/;
+ if (name.get$stringValue() === '|=') return const$254/*const SourceString('or')*/;
+ if (name.get$stringValue() === '&=') return const$255/*const SourceString('and')*/;
+ if (name.get$stringValue() === '^=') return const$256/*const SourceString('xor')*/;
+ if (name.get$stringValue() === '++') return const$246/*const SourceString('add')*/;
+ if (name.get$stringValue() === '--') return const$247/*const SourceString('sub')*/;
unreachable();
}
FullResolverVisitor.prototype.visitSend = function(node) {
@@ -12351,7 +12402,7 @@
}
FullResolverVisitor.prototype.visitVariableDefinitions = function(node) {
this.visit(node.type);
- var visitor = new VariableDefinitionsVisitor(node, this, const$256/*ElementKind.VARIABLE*/);
+ var visitor = new VariableDefinitionsVisitor(node, this, const$262/*ElementKind.VARIABLE*/);
visitor.visit(node.definitions);
}
FullResolverVisitor.prototype.visitWhile = function(node) {
@@ -12362,7 +12413,22 @@
this.visit(node.expression);
}
FullResolverVisitor.prototype.visitNewExpression = function(node) {
- this.cancel(node, "Unimplemented");
+ var $0;
+ this.visit(node.send.argumentsNode);
+ var cls = (($0 = this.visit(node.send.selector)) == null ? null : $0.assert$ClassElement());
+ var name = const$237/*const SourceString("")*/;
+ var constructor = null;
+ if (cls != null) {
+ var constructor0 = cls.lookupLocalElement(name);
+ if (name.get$stringValue() === '' && constructor0 == null && $notnull_bool(node.send.argumentsNode.isEmpty()) && $notnull_bool(cls.canHaveDefaultConstructor())) {
+ constructor0 = new SynthesizedConstructorElement(cls);
+ cls.addConstructor(constructor0);
+ }
+ if (constructor0 == null) {
+ this.error(node, const$241/*MessageKind.CANNOT_FIND_CONSTRUCTOR*/, [node]);
+ }
+ }
+ return this.useElement(node, constructor);
}
// ********** Code for ClassResolverVisitor **************
function ClassResolverVisitor(compiler) {
@@ -12426,7 +12492,7 @@
VariableDefinitionsVisitor.prototype.set$kind = function(value) { return this.kind = value; };
VariableDefinitionsVisitor.prototype.visitSendSet = function(node) {
var $0;
- $assert(node.get$arguments().get$tail().isEmpty$0(), "node.arguments.tail.isEmpty()", "resolver.dart", 443, 12);
+ $assert(node.get$arguments().get$tail().isEmpty$0(), "node.arguments.tail.isEmpty()", "resolver.dart", 455, 12);
if (node.receiver != null) {
this.resolver.cancel(node, "receiver on a variable definition not implemented");
}
@@ -12519,6 +12585,30 @@
Scope.prototype.lookup$1 = function($0) {
return this.lookup(($0 == null ? null : $0.assert$SourceString()));
};
+// ********** Code for ClassScope **************
+function ClassScope(element, universe) {
+ // Initializers done
+ Scope.enclosing$ctor.call(this, new TopScope(universe), element);
+}
+$inherits(ClassScope, Scope);
+ClassScope.prototype.lookup = function(name) {
+ var $0;
+ var cls = (($0 = this.enclosingElement) == null ? null : $0.assert$ClassElement());
+ var element = cls.lookupLocalElement(name);
+ if (element != null) return element;
+ element = this.parent.lookup(name);
+ if (element != null) return element;
+ return null;
+}
+ClassScope.prototype.add = function(element) {
+ $throw("Cannot add an element in a class scope");
+}
+ClassScope.prototype.add$1 = function($0) {
+ return this.add(($0 == null ? null : $0.assert$Element()));
+};
+ClassScope.prototype.lookup$1 = function($0) {
+ return this.lookup(($0 == null ? null : $0.assert$SourceString()));
+};
// ********** Code for TopScope **************
function TopScope(universe) {
this.universe = universe;
@@ -12568,7 +12658,7 @@
} catch (e) {
e = _toDartException(e);
if (!(e instanceof CancelTypeCheckException)) throw e;
- $this.compiler.reportWarning(e.node, new TypeWarning(const$272/*MessageKind.GENERIC*/, [e.reason]));
+ $this.compiler.reportWarning(e.node, new TypeWarning(const$278/*MessageKind.GENERIC*/, [e.reason]));
}
})
);
@@ -12622,6 +12712,7 @@
// Initializers done
}
Types.prototype.assert$Types = function(){return this};
+Types.prototype.get$voidType = function() { return this.voidType; };
Types.prototype.get$dynamicType = function() { return this.dynamicType; };
Types.prototype.lookup = function(s) {
if ($notnull_bool($eq(const$6/*Types.VOID*/, s))) {
@@ -12685,7 +12776,7 @@
TypeCheckerVisitor.prototype.nonVoidType = function(node) {
var type = this.type(node);
if ($eq(type, this.types.voidType)) {
- this.reportTypeWarning(node, const$270/*MessageKind.VOID_EXPRESSION*/, const$21/*const []*/);
+ this.reportTypeWarning(node, const$276/*MessageKind.VOID_EXPRESSION*/, const$21/*const []*/);
}
return type;
}
@@ -12703,7 +12794,7 @@
}
TypeCheckerVisitor.prototype.checkAssignable = function(node, s, t) {
if (!$notnull_bool(this.types.isAssignable(s, t))) {
- this.reportTypeWarning(node, const$258/*MessageKind.NOT_ASSIGNABLE*/, [s, t]);
+ this.reportTypeWarning(node, const$264/*MessageKind.NOT_ASSIGNABLE*/, [s, t]);
}
}
TypeCheckerVisitor.prototype.checkCondition = function(condition) {
@@ -12796,10 +12887,10 @@
arguments = (($0 = arguments.get$tail()) == null ? null : $0.assert$Link_Node());
}
if (!$notnull_bool(formals.isEmpty())) {
- this.reportTypeWarning(node, const$264/*MessageKind.MISSING_ARGUMENT*/, const$21/*const []*/);
+ this.reportTypeWarning(node, const$270/*MessageKind.MISSING_ARGUMENT*/, const$21/*const []*/);
}
if (!$notnull_bool(arguments.isEmpty())) {
- this.reportTypeWarning(node, const$266/*MessageKind.ADDITIONAL_ARGUMENT*/, const$21/*const []*/);
+ this.reportTypeWarning(node, const$272/*MessageKind.ADDITIONAL_ARGUMENT*/, const$21/*const []*/);
}
return funType.returnType;
}
@@ -12852,6 +12943,9 @@
TypeCheckerVisitor.prototype.visitLiteralNull = function(node) {
return this.types.dynamicType;
}
+TypeCheckerVisitor.prototype.visitNewExpression = function(node) {
+ return this.types.dynamicType;
+}
TypeCheckerVisitor.prototype.visitNodeList = function(node) {
var $0;
for (var link = node.get$nodes();
@@ -12869,14 +12963,14 @@
if (expression != null) {
var expressionType = this.type(expression);
if (isVoidFunction && !$notnull_bool(this.types.isAssignable(expressionType, this.types.voidType))) {
- this.reportTypeWarning(expression, const$260/*MessageKind.RETURN_VALUE_IN_VOID*/, [expressionType]);
+ this.reportTypeWarning(expression, const$266/*MessageKind.RETURN_VALUE_IN_VOID*/, [expressionType]);
}
else {
this.checkAssignable(expression, this.expectedReturnType, expressionType);
}
}
else if (!$notnull_bool(this.types.isAssignable(this.expectedReturnType, this.types.voidType))) {
- this.reportTypeWarning(node, const$262/*MessageKind.RETURN_NOTHING*/, [this.expectedReturnType]);
+ this.reportTypeWarning(node, const$268/*MessageKind.RETURN_NOTHING*/, [this.expectedReturnType]);
}
return null;
}
@@ -12904,7 +12998,7 @@
var $0;
var type = this.typeWithDefault(node.type, this.types.dynamicType);
if ($eq(type, this.types.voidType)) {
- this.reportTypeWarning(node.type, const$268/*MessageKind.VOID_VARIABLE*/, const$21/*const []*/);
+ this.reportTypeWarning(node.type, const$274/*MessageKind.VOID_VARIABLE*/, const$21/*const []*/);
type = this.types.dynamicType;
}
for (var link = node.definitions.get$nodes();
@@ -13007,7 +13101,7 @@
ResolutionWarning.prototype.toString$0 = ResolutionWarning.prototype.toString;
// ********** Code for top level **************
function unreachable() {
- $throw(const$239/*const Exception("Internal Error (Leg): UNREACHABLE")*/);
+ $throw(const$245/*const Exception("Internal Error (Leg): UNREACHABLE")*/);
}
// ********** Library frog_leg **************
// ********** Code for WorldCompiler **************
@@ -17580,7 +17674,6 @@
}
lang_Token.prototype.assert$lang_Token = function(){return this};
lang_Token.prototype.get$kind = function() { return this.kind; };
-lang_Token.prototype.get$source = function() { return this.source; };
lang_Token.prototype.get$end = function() { return this.end; };
lang_Token.prototype.get$start = function() { return this.start; };
lang_Token.prototype.get$text = function() {
@@ -19475,7 +19568,6 @@
this._inInitializers = false;
this._afterParens = [];
}
-lang_Parser.prototype.get$source = function() { return this.source; };
lang_Parser.prototype.get$enableAwait = function() {
return $globals.experimentalAwaitPhase != null;
}
@@ -23897,6 +23989,8 @@
}
World.prototype.get$dynamicType = function() { return this.dynamicType; };
World.prototype.set$dynamicType = function(value) { return this.dynamicType = value; };
+World.prototype.get$voidType = function() { return this.voidType; };
+World.prototype.set$voidType = function(value) { return this.voidType = value; };
World.prototype.get$functionType = function() { return this.functionType; };
World.prototype.set$functionType = function(value) { return this.functionType = value; };
World.prototype.init = function() {
@@ -24722,49 +24816,54 @@
var const$234 = new MessageKind('duplicate definition of #{1}')/*const MessageKind(
'duplicate definition of #{1}')*/;
var const$236 = new LinkTail()/*const LinkTail()*/;
-var const$237 = new StringWrapper('neg')/*const SourceString('neg')*/;
-var const$238 = new StringWrapper('not')/*const SourceString('not')*/;
-var const$239 = new ExceptionImplementation("Internal Error (Leg): UNREACHABLE")/*const Exception("Internal Error (Leg): UNREACHABLE")*/;
-var const$240 = new StringWrapper('add')/*const SourceString('add')*/;
-var const$241 = new StringWrapper('sub')/*const SourceString('sub')*/;
-var const$242 = new StringWrapper('mul')/*const SourceString('mul')*/;
-var const$243 = new StringWrapper('div')/*const SourceString('div')*/;
-var const$244 = new StringWrapper('tdiv')/*const SourceString('tdiv')*/;
-var const$245 = new StringWrapper('mod')/*const SourceString('mod')*/;
-var const$246 = new StringWrapper('shl')/*const SourceString('shl')*/;
-var const$247 = new StringWrapper('shr')/*const SourceString('shr')*/;
-var const$248 = new StringWrapper('or')/*const SourceString('or')*/;
-var const$249 = new StringWrapper('and')/*const SourceString('and')*/;
-var const$250 = new StringWrapper('xor')/*const SourceString('xor')*/;
-var const$251 = new StringWrapper('lt')/*const SourceString('lt')*/;
-var const$252 = new StringWrapper('le')/*const SourceString('le')*/;
-var const$253 = new StringWrapper('gt')/*const SourceString('gt')*/;
-var const$254 = new StringWrapper('ge')/*const SourceString('ge')*/;
-var const$255 = new StringWrapper('eq')/*const SourceString('eq')*/;
-var const$256 = new ElementKind('variable')/*const ElementKind('variable')*/;
-var const$258 = new MessageKind('#{2} is not assignable to #{1}')/*const MessageKind(
+var const$237 = new StringWrapper("")/*const SourceString("")*/;
+var const$238 = new StringWrapper('')/*const SourceString('')*/;
+var const$239 = new ElementKind('constructor')/*const ElementKind('constructor')*/;
+var const$241 = new MessageKind('cannot find constructor #{1}')/*const MessageKind(
+ 'cannot find constructor #{1}')*/;
+var const$243 = new StringWrapper('neg')/*const SourceString('neg')*/;
+var const$244 = new StringWrapper('not')/*const SourceString('not')*/;
+var const$245 = new ExceptionImplementation("Internal Error (Leg): UNREACHABLE")/*const Exception("Internal Error (Leg): UNREACHABLE")*/;
+var const$246 = new StringWrapper('add')/*const SourceString('add')*/;
+var const$247 = new StringWrapper('sub')/*const SourceString('sub')*/;
+var const$248 = new StringWrapper('mul')/*const SourceString('mul')*/;
+var const$249 = new StringWrapper('div')/*const SourceString('div')*/;
+var const$250 = new StringWrapper('tdiv')/*const SourceString('tdiv')*/;
+var const$251 = new StringWrapper('mod')/*const SourceString('mod')*/;
+var const$252 = new StringWrapper('shl')/*const SourceString('shl')*/;
+var const$253 = new StringWrapper('shr')/*const SourceString('shr')*/;
+var const$254 = new StringWrapper('or')/*const SourceString('or')*/;
+var const$255 = new StringWrapper('and')/*const SourceString('and')*/;
+var const$256 = new StringWrapper('xor')/*const SourceString('xor')*/;
+var const$257 = new StringWrapper('lt')/*const SourceString('lt')*/;
+var const$258 = new StringWrapper('le')/*const SourceString('le')*/;
+var const$259 = new StringWrapper('gt')/*const SourceString('gt')*/;
+var const$260 = new StringWrapper('ge')/*const SourceString('ge')*/;
+var const$261 = new StringWrapper('eq')/*const SourceString('eq')*/;
+var const$262 = new ElementKind('variable')/*const ElementKind('variable')*/;
+var const$264 = new MessageKind('#{2} is not assignable to #{1}')/*const MessageKind(
'#{2} is not assignable to #{1}')*/;
-var const$260 = new MessageKind('cannot return value from void function')/*const MessageKind(
+var const$266 = new MessageKind('cannot return value from void function')/*const MessageKind(
'cannot return value from void function')*/;
-var const$262 = new MessageKind('value of type #{1} expected')/*const MessageKind(
+var const$268 = new MessageKind('value of type #{1} expected')/*const MessageKind(
'value of type #{1} expected')*/;
-var const$264 = new MessageKind('missing argument')/*const MessageKind(
+var const$270 = new MessageKind('missing argument')/*const MessageKind(
'missing argument')*/;
-var const$266 = new MessageKind('additional argument')/*const MessageKind(
+var const$272 = new MessageKind('additional argument')/*const MessageKind(
'additional argument')*/;
-var const$268 = new MessageKind('variable cannot be of type void')/*const MessageKind(
+var const$274 = new MessageKind('variable cannot be of type void')/*const MessageKind(
'variable cannot be of type void')*/;
-var const$270 = new MessageKind('expression does not yield a value')/*const MessageKind(
+var const$276 = new MessageKind('expression does not yield a value')/*const MessageKind(
'expression does not yield a value')*/;
-var const$272 = new MessageKind('#{1}')/*const MessageKind('#{1}')*/;
-var const$278 = new StringWrapper("&&")/*const SourceString("&&")*/;
-var const$279 = new StringWrapper("||")/*const SourceString("||")*/;
-var const$280 = new StringWrapper("!")/*const SourceString("!")*/;
-var const$281 = new StringWrapper("=")/*const SourceString("=")*/;
-var const$284 = new StringWrapper("++")/*const SourceString("++")*/;
-var const$285 = new StringWrapper("--")/*const SourceString("--")*/;
-var const$295 = ImmutableList.ImmutableList$from$factory(["__PROTO__", "prototype"])/*const <String>["__PROTO__", "prototype"]*/;
-var const$297 = ImmutableList.ImmutableList$from$factory(["NaN", "Infinity", "undefined", "eval", "parseInt", "parseFloat", "isNan", "isFinite", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "Object", "Function", "Array", "String", "Boolean", "Number", "Date", "RegExp", "Error", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "Math", "arguments", "escape", "unescape", "applicationCache", "closed", "Components", "content", "controllers", "crypto", "defaultStatus", "dialogArguments", "directories", "document", "frameElement", "frames", "fullScreen", "globalStorage", "history", "innerHeight", "innerWidth", "length", "location", "locationbar", "localStorage", "menubar", "mozInnerScreenX", "mozInnerScreenY", "mozScreenPixelsPerCssPixel", "name", "navigator", "opener", "outerHeight", "outerWidth", "pageXOffset", "pageYOffset", "parent", "personalbar", "pkcs11", "returnValue", "screen", "scrollbars", "scrollMaxX", "scrollMaxY", "self", "sessionStorage", "sidebar", "status", "statusbar", "toolbar", "top", "window", "alert", "addEventListener", "atob", "back", "blur", "btoa", "captureEvents", "clearInterval", "clearTimeout", "close", "confirm", "disableExternalCapture", "dispatchEvent", "dump", "enableExternalCapture", "escape", "find", "focus", "forward", "GeckoActiveXObject", "getAttention", "getAttentionWithCycleCount", "getComputedStyle", "getSelection", "home", "maximize", "minimize", "moveBy", "moveTo", "open", "openDialog", "postMessage", "print", "prompt", "QueryInterface", "releaseEvents", "removeEventListener", "resizeBy", "resizeTo", "restore", "routeEvent", "scroll", "scrollBy", "scrollByLines", "scrollByPages", "scrollTo", "setInterval", "setResizeable", "setTimeout", "showModalDialog", "sizeToContent", "stop", "uuescape", "updateCommands", "XPCNativeWrapper", "XPCSafeJSOjbectWrapper", "onabort", "onbeforeunload", "onchange", "onclick", "onclose", "oncontextmenu", "ondragdrop", "onerror", "onfocus", "onhashchange", "onkeydown", "onkeypress", "onkeyup", "onload", "onmousedown", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmozorientation", "onpaint", "onreset", "onresize", "onscroll", "onselect", "onsubmit", "onunload", "ontouchcancel", "ontouchend", "ontouchmove", "ontouchstart", "ongesturestart", "ongesturechange", "ongestureend", "uneval", "getPrototypeOf", "let", "yield", "abstract", "int", "short", "boolean", "interface", "static", "byte", "long", "char", "final", "native", "synchronized", "float", "package", "throws", "goto", "private", "transient", "implements", "protected", "volatile", "double", "public", "attachEvent", "clientInformation", "clipboardData", "createPopup", "dialogHeight", "dialogLeft", "dialogTop", "dialogWidth", "onafterprint", "onbeforedeactivate", "onbeforeprint", "oncontrolselect", "ondeactivate", "onhelp", "onresizeend", "event", "external", "Debug", "Enumerator", "Global", "Image", "ActiveXObject", "VBArray", "Components", "toString", "getClass", "constructor", "prototype", "valueOf", "Anchor", "Applet", "Attr", "Canvas", "CanvasGradient", "CanvasPattern", "CanvasRenderingContext2D", "CDATASection", "CharacterData", "Comment", "CSS2Properties", "CSSRule", "CSSStyleSheet", "Document", "DocumentFragment", "DocumentType", "DOMException", "DOMImplementation", "DOMParser", "Element", "Event", "ExternalInterface", "FlashPlayer", "Form", "Frame", "History", "HTMLCollection", "HTMLDocument", "HTMLElement", "IFrame", "Image", "Input", "JSObject", "KeyEvent", "Link", "Location", "MimeType", "MouseEvent", "Navigator", "Node", "NodeList", "Option", "Plugin", "ProcessingInstruction", "Range", "RangeException", "Screen", "Select", "Table", "TableCell", "TableRow", "TableSelection", "Text", "TextArea", "UIEvent", "Window", "XMLHttpRequest", "XMLSerializer", "XPathException", "XPathResult", "XSLTProcessor", "java", "Packages", "netscape", "sun", "JavaObject", "JavaClass", "JavaArray", "JavaMember", "\$wnd", "\$doc", "\$entry", "\$moduleName", "\$moduleBase", "\$gwt_version", "\$sessionId", "\$stack", "\$stackDepth", "\$location", "call"])/*const <String>[
+var const$278 = new MessageKind('#{1}')/*const MessageKind('#{1}')*/;
+var const$284 = new StringWrapper("&&")/*const SourceString("&&")*/;
+var const$285 = new StringWrapper("||")/*const SourceString("||")*/;
+var const$286 = new StringWrapper("!")/*const SourceString("!")*/;
+var const$287 = new StringWrapper("=")/*const SourceString("=")*/;
+var const$290 = new StringWrapper("++")/*const SourceString("++")*/;
+var const$291 = new StringWrapper("--")/*const SourceString("--")*/;
+var const$301 = ImmutableList.ImmutableList$from$factory(["__PROTO__", "prototype"])/*const <String>["__PROTO__", "prototype"]*/;
+var const$303 = ImmutableList.ImmutableList$from$factory(["NaN", "Infinity", "undefined", "eval", "parseInt", "parseFloat", "isNan", "isFinite", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "Object", "Function", "Array", "String", "Boolean", "Number", "Date", "RegExp", "Error", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "Math", "arguments", "escape", "unescape", "applicationCache", "closed", "Components", "content", "controllers", "crypto", "defaultStatus", "dialogArguments", "directories", "document", "frameElement", "frames", "fullScreen", "globalStorage", "history", "innerHeight", "innerWidth", "length", "location", "locationbar", "localStorage", "menubar", "mozInnerScreenX", "mozInnerScreenY", "mozScreenPixelsPerCssPixel", "name", "navigator", "opener", "outerHeight", "outerWidth", "pageXOffset", "pageYOffset", "parent", "personalbar", "pkcs11", "returnValue", "screen", "scrollbars", "scrollMaxX", "scrollMaxY", "self", "sessionStorage", "sidebar", "status", "statusbar", "toolbar", "top", "window", "alert", "addEventListener", "atob", "back", "blur", "btoa", "captureEvents", "clearInterval", "clearTimeout", "close", "confirm", "disableExternalCapture", "dispatchEvent", "dump", "enableExternalCapture", "escape", "find", "focus", "forward", "GeckoActiveXObject", "getAttention", "getAttentionWithCycleCount", "getComputedStyle", "getSelection", "home", "maximize", "minimize", "moveBy", "moveTo", "open", "openDialog", "postMessage", "print", "prompt", "QueryInterface", "releaseEvents", "removeEventListener", "resizeBy", "resizeTo", "restore", "routeEvent", "scroll", "scrollBy", "scrollByLines", "scrollByPages", "scrollTo", "setInterval", "setResizeable", "setTimeout", "showModalDialog", "sizeToContent", "stop", "uuescape", "updateCommands", "XPCNativeWrapper", "XPCSafeJSOjbectWrapper", "onabort", "onbeforeunload", "onchange", "onclick", "onclose", "oncontextmenu", "ondragdrop", "onerror", "onfocus", "onhashchange", "onkeydown", "onkeypress", "onkeyup", "onload", "onmousedown", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmozorientation", "onpaint", "onreset", "onresize", "onscroll", "onselect", "onsubmit", "onunload", "ontouchcancel", "ontouchend", "ontouchmove", "ontouchstart", "ongesturestart", "ongesturechange", "ongestureend", "uneval", "getPrototypeOf", "let", "yield", "abstract", "int", "short", "boolean", "interface", "static", "byte", "long", "char", "final", "native", "synchronized", "float", "package", "throws", "goto", "private", "transient", "implements", "protected", "volatile", "double", "public", "attachEvent", "clientInformation", "clipboardData", "createPopup", "dialogHeight", "dialogLeft", "dialogTop", "dialogWidth", "onafterprint", "onbeforedeactivate", "onbeforeprint", "oncontrolselect", "ondeactivate", "onhelp", "onresizeend", "event", "external", "Debug", "Enumerator", "Global", "Image", "ActiveXObject", "VBArray", "Components", "toString", "getClass", "constructor", "prototype", "valueOf", "Anchor", "Applet", "Attr", "Canvas", "CanvasGradient", "CanvasPattern", "CanvasRenderingContext2D", "CDATASection", "CharacterData", "Comment", "CSS2Properties", "CSSRule", "CSSStyleSheet", "Document", "DocumentFragment", "DocumentType", "DOMException", "DOMImplementation", "DOMParser", "Element", "Event", "ExternalInterface", "FlashPlayer", "Form", "Frame", "History", "HTMLCollection", "HTMLDocument", "HTMLElement", "IFrame", "Image", "Input", "JSObject", "KeyEvent", "Link", "Location", "MimeType", "MouseEvent", "Navigator", "Node", "NodeList", "Option", "Plugin", "ProcessingInstruction", "Range", "RangeException", "Screen", "Select", "Table", "TableCell", "TableRow", "TableSelection", "Text", "TextArea", "UIEvent", "Window", "XMLHttpRequest", "XMLSerializer", "XPathException", "XPathResult", "XSLTProcessor", "java", "Packages", "netscape", "sun", "JavaObject", "JavaClass", "JavaArray", "JavaMember", "\$wnd", "\$doc", "\$entry", "\$moduleName", "\$moduleBase", "\$gwt_version", "\$sessionId", "\$stack", "\$stackDepth", "\$location", "call"])/*const <String>[
// Section references are from Ecma-262
// (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf)
@@ -24895,7 +24994,7 @@
// TODO: prove why this is necessary or remove it
"call"
]*/;
-var const$299 = ImmutableList.ImmutableList$from$factory(["break", "delete", "function", "return", "typeof", "case", "do", "if", "switch", "var", "catch", "else", "in", "this", "void", "continue", "false", "instanceof", "throw", "while", "debugger", "finally", "new", "true", "with", "default", "for", "null", "try", "abstract", "double", "goto", "native", "static", "boolean", "enum", "implements", "package", "super", "byte", "export", "import", "private", "synchronized", "char", "extends", "int", "protected", "throws", "class", "final", "interface", "public", "transient", "const", "float", "long", "short", "volatile"])/*const <String>[
+var const$305 = ImmutableList.ImmutableList$from$factory(["break", "delete", "function", "return", "typeof", "case", "do", "if", "switch", "var", "catch", "else", "in", "this", "void", "continue", "false", "instanceof", "throw", "while", "debugger", "finally", "new", "true", "with", "default", "for", "null", "try", "abstract", "double", "goto", "native", "static", "boolean", "enum", "implements", "package", "super", "byte", "export", "import", "private", "synchronized", "char", "extends", "int", "protected", "throws", "class", "final", "interface", "public", "transient", "const", "float", "long", "short", "volatile"])/*const <String>[
// These are current keywords
"break", "delete", "function", "return", "typeof", "case", "do", "if",
"switch", "var", "catch", "else", "in", "this", "void", "continue",
@@ -24909,8 +25008,8 @@
"class", "final", "interface", "public", "transient", "const", "float",
"long", "short", "volatile"
]*/;
-var const$301 = new StringWrapper('guard\$num')/*const SourceString('guard\$num')*/;
-var const$302 = new StringWrapper('guard\$string')/*const SourceString('guard\$string')*/;
+var const$307 = new StringWrapper('guard\$num')/*const SourceString('guard\$num')*/;
+var const$308 = new StringWrapper('guard\$string')/*const SourceString('guard\$string')*/;
var const$31 = new Keyword("break", false)/*const Keyword("break")*/;
var const$33 = new Keyword("case", false)/*const Keyword("case")*/;
var const$35 = new Keyword("catch", false)/*const Keyword("catch")*/;
« no previous file with comments | « no previous file | frog/leg/compiler.dart » ('j') | frog/leg/elements/elements.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698