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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/elements/modelx.dart

Issue 11953012: Add more mixin tests and start rejecting illegal syntax. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update status files. Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library elements.modelx; 5 library elements.modelx;
6 6
7 import 'dart:uri'; 7 import 'dart:uri';
8 8
9 import 'elements.dart'; 9 import 'elements.dart';
10 import '../../compiler.dart' as api; 10 import '../../compiler.dart' as api;
(...skipping 1763 matching lines...) Expand 10 before | Expand all | Expand 10 after
1774 return 'origin ${super.toString()}'; 1774 return 'origin ${super.toString()}';
1775 } else { 1775 } else {
1776 return super.toString(); 1776 return super.toString();
1777 } 1777 }
1778 } 1778 }
1779 } 1779 }
1780 1780
1781 class MixinApplicationElementX extends BaseClassElementX 1781 class MixinApplicationElementX extends BaseClassElementX
1782 implements MixinApplicationElement { 1782 implements MixinApplicationElement {
1783 final Node node; 1783 final Node node;
1784 final Modifiers modifiers;
1784 1785
1785 FunctionElement constructor; 1786 FunctionElement constructor;
1786 ClassElement mixin; 1787 ClassElement mixin;
1787 1788
1788 // TODO(kasperl): The analyzer complains when I don't have these two 1789 // TODO(kasperl): The analyzer complains when I don't have these two
1789 // fields. This is pretty weird. I cannot replace them with getters. 1790 // fields. This is pretty weird. I cannot replace them with getters.
1790 final ClassElement patch = null; 1791 final ClassElement patch = null;
1791 final ClassElement origin = null; 1792 final ClassElement origin = null;
1792 1793
1793 MixinApplicationElementX(SourceString name, Element enclosing, int id, 1794 MixinApplicationElementX(SourceString name, Element enclosing, int id,
1794 this.node) 1795 this.node, this.modifiers)
1795 : super(name, enclosing, id, STATE_NOT_STARTED); 1796 : super(name, enclosing, id, STATE_NOT_STARTED);
1796 1797
1797 bool get isMixinApplication => true; 1798 bool get isMixinApplication => true;
1798 bool get hasConstructor => constructor != null; 1799 bool get hasConstructor => constructor != null;
1799 bool get hasLocalScopeMembers => false; 1800 bool get hasLocalScopeMembers => false;
1800 1801
1801 Token position() => node.getBeginToken(); 1802 Token position() => node.getBeginToken();
1802 1803
1803 Node parseNode(DiagnosticListener listener) => node; 1804 Node parseNode(DiagnosticListener listener) => node;
1804 1805
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
1958 1959
1959 MetadataAnnotation ensureResolved(Compiler compiler) { 1960 MetadataAnnotation ensureResolved(Compiler compiler) {
1960 if (resolutionState == STATE_NOT_STARTED) { 1961 if (resolutionState == STATE_NOT_STARTED) {
1961 compiler.resolver.resolveMetadataAnnotation(this); 1962 compiler.resolver.resolveMetadataAnnotation(this);
1962 } 1963 }
1963 return this; 1964 return this;
1964 } 1965 }
1965 1966
1966 String toString() => 'MetadataAnnotation($value, $resolutionState)'; 1967 String toString() => 'MetadataAnnotation($value, $resolutionState)';
1967 } 1968 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698