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

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

Issue 12210013: Implement subtype for type variables. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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 1892 matching lines...) Expand 10 before | Expand all | Expand 10 after
1903 1903
1904 bool get isSwitch => statement is SwitchStatement; 1904 bool get isSwitch => statement is SwitchStatement;
1905 1905
1906 Token position() => statement.getBeginToken(); 1906 Token position() => statement.getBeginToken();
1907 String toString() => statement.toString(); 1907 String toString() => statement.toString();
1908 } 1908 }
1909 1909
1910 class TypeVariableElementX extends ElementX implements TypeVariableElement { 1910 class TypeVariableElementX extends ElementX implements TypeVariableElement {
1911 final Node cachedNode; 1911 final Node cachedNode;
1912 TypeVariableType type; 1912 TypeVariableType type;
1913 DartType bound; 1913 DartType upperBound;
1914 1914
1915 TypeVariableElementX(name, Element enclosing, this.cachedNode, 1915 TypeVariableElementX(name, Element enclosing, this.cachedNode,
1916 [this.type, this.bound]) 1916 [this.type, this.upperBound])
1917 : super(name, ElementKind.TYPE_VARIABLE, enclosing); 1917 : super(name, ElementKind.TYPE_VARIABLE, enclosing);
1918 1918
1919 TypeVariableType computeType(compiler) => type; 1919 TypeVariableType computeType(compiler) => type;
1920 1920
1921 Node parseNode(compiler) => cachedNode; 1921 Node parseNode(compiler) => cachedNode;
1922 1922
1923 String toString() => "${enclosingElement.toString()}.${name.slowToString()}"; 1923 String toString() => "${enclosingElement.toString()}.${name.slowToString()}";
1924 1924
1925 Token position() => cachedNode.getBeginToken(); 1925 Token position() => cachedNode.getBeginToken();
1926 } 1926 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1969 1969
1970 MetadataAnnotation ensureResolved(Compiler compiler) { 1970 MetadataAnnotation ensureResolved(Compiler compiler) {
1971 if (resolutionState == STATE_NOT_STARTED) { 1971 if (resolutionState == STATE_NOT_STARTED) {
1972 compiler.resolver.resolveMetadataAnnotation(this); 1972 compiler.resolver.resolveMetadataAnnotation(this);
1973 } 1973 }
1974 return this; 1974 return this;
1975 } 1975 }
1976 1976
1977 String toString() => 'MetadataAnnotation($value, $resolutionState)'; 1977 String toString() => 'MetadataAnnotation($value, $resolutionState)';
1978 } 1978 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698