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

Side by Side Diff: pkg/compiler/lib/src/elements/modelx.dart

Issue 2033383002: Handle use of fromEnvironment from serialized data. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes Created 4 years, 6 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
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 '../common.dart'; 7 import '../common.dart';
8 import '../common/resolution.dart' show Resolution, ParsingContext; 8 import '../common/resolution.dart' show Resolution, ParsingContext;
9 import '../compiler.dart' show Compiler; 9 import '../compiler.dart' show Compiler;
10 import '../constants/constant_constructors.dart'; 10 import '../constants/constant_constructors.dart';
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 return element; 199 return element;
200 } 200 }
201 201
202 DeclarationSite get declarationSite => null; 202 DeclarationSite get declarationSite => null;
203 203
204 void reuseElement() { 204 void reuseElement() {
205 throw "reuseElement isn't implemented on ${runtimeType}."; 205 throw "reuseElement isn't implemented on ${runtimeType}.";
206 } 206 }
207 } 207 }
208 208
209 class ErroneousElementX extends ElementX implements ErroneousElement { 209 class ErroneousElementX extends ElementX
210 with ConstructorElementCommon
211 implements ErroneousElement {
210 final MessageKind messageKind; 212 final MessageKind messageKind;
211 final Map messageArguments; 213 final Map messageArguments;
212 214
213 ErroneousElementX( 215 ErroneousElementX(
214 this.messageKind, this.messageArguments, String name, Element enclosing) 216 this.messageKind, this.messageArguments, String name, Element enclosing)
215 : super(name, ElementKind.ERROR, enclosing); 217 : super(name, ElementKind.ERROR, enclosing);
216 218
217 bool get isTopLevel => false; 219 bool get isTopLevel => false;
218 220
219 bool get isSynthesized => true; 221 bool get isSynthesized => true;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 accept(ElementVisitor visitor, arg) { 279 accept(ElementVisitor visitor, arg) {
278 return visitor.visitErroneousElement(this, arg); 280 return visitor.visitErroneousElement(this, arg);
279 } 281 }
280 282
281 @override 283 @override
282 get isEffectiveTargetMalformed { 284 get isEffectiveTargetMalformed {
283 throw new UnsupportedError("isEffectiveTargetMalformed"); 285 throw new UnsupportedError("isEffectiveTargetMalformed");
284 } 286 }
285 287
286 @override 288 @override
287 bool get isFromEnvironmentConstructor => false;
288
289 @override
290 List<DartType> get typeVariables => unsupported(); 289 List<DartType> get typeVariables => unsupported();
291 } 290 }
292 291
293 /// A constructor that was synthesized to recover from a compile-time error. 292 /// A constructor that was synthesized to recover from a compile-time error.
294 class ErroneousConstructorElementX extends ErroneousElementX 293 class ErroneousConstructorElementX extends ErroneousElementX
295 with 294 with
296 PatchMixin<FunctionElement>, 295 PatchMixin<FunctionElement>,
297 AnalyzableElementX, 296 AnalyzableElementX,
298 ConstantConstructorMixin 297 ConstantConstructorMixin
299 implements ConstructorElementX { 298 implements ConstructorElementX {
(...skipping 1860 matching lines...) Expand 10 before | Expand all | Expand 10 after
2160 message: "Constant constructor set on fromEnvironment " 2159 message: "Constant constructor set on fromEnvironment "
2161 "constructor: $this.")); 2160 "constructor: $this."));
2162 assert(invariant( 2161 assert(invariant(
2163 this, _constantConstructor == null || _constantConstructor == value, 2162 this, _constantConstructor == null || _constantConstructor == value,
2164 message: "Constant constructor already computed for $this:" 2163 message: "Constant constructor already computed for $this:"
2165 "Existing: $_constantConstructor, new: $value")); 2164 "Existing: $_constantConstructor, new: $value"));
2166 _constantConstructor = value; 2165 _constantConstructor = value;
2167 } 2166 }
2168 } 2167 }
2169 2168
2170 bool get isFromEnvironmentConstructor {
2171 return name == 'fromEnvironment' &&
2172 library.isDartCore &&
2173 (enclosingClass.name == 'bool' ||
2174 enclosingClass.name == 'int' ||
2175 enclosingClass.name == 'String');
2176 }
2177
2178 /// Returns the empty list of type variables by default. 2169 /// Returns the empty list of type variables by default.
2179 @override 2170 @override
2180 List<DartType> get typeVariables => functionSignature.typeVariables; 2171 List<DartType> get typeVariables => functionSignature.typeVariables;
2181 } 2172 }
2182 2173
2183 abstract class ConstructorElementX extends FunctionElementX 2174 abstract class ConstructorElementX extends FunctionElementX
2184 with ConstantConstructorMixin 2175 with ConstantConstructorMixin, ConstructorElementCommon
2185 implements ConstructorElement { 2176 implements ConstructorElement {
2186 bool isRedirectingGenerative = false; 2177 bool isRedirectingGenerative = false;
2187 2178
2188 ConstructorElementX( 2179 ConstructorElementX(
2189 String name, ElementKind kind, Modifiers modifiers, Element enclosing) 2180 String name, ElementKind kind, Modifiers modifiers, Element enclosing)
2190 : super(name, kind, modifiers, enclosing); 2181 : super(name, kind, modifiers, enclosing);
2191 2182
2192 FunctionElement immediateRedirectionTarget; 2183 FunctionElement immediateRedirectionTarget;
2193 PrefixElement redirectionDeferredPrefix; 2184 PrefixElement redirectionDeferredPrefix;
2194 2185
(...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after
3295 body = node.asFunctionExpression().body; 3286 body = node.asFunctionExpression().body;
3296 } 3287 }
3297 return new ParsedResolvedAst( 3288 return new ParsedResolvedAst(
3298 declaration, 3289 declaration,
3299 node, 3290 node,
3300 body, 3291 body,
3301 definingElement.treeElements, 3292 definingElement.treeElements,
3302 definingElement.compilationUnit.script.resourceUri); 3293 definingElement.compilationUnit.script.resourceUri);
3303 } 3294 }
3304 } 3295 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698