| OLD | NEW |
| 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 'elements.dart'; | 7 import 'elements.dart'; |
| 8 import '../constants/expressions.dart'; | 8 import '../constants/expressions.dart'; |
| 9 import '../helpers/helpers.dart'; // Included for debug helpers. | 9 import '../helpers/helpers.dart'; // Included for debug helpers. |
| 10 import '../tree/tree.dart'; | 10 import '../tree/tree.dart'; |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 FunctionElement asFunctionElement() => this; | 322 FunctionElement asFunctionElement() => this; |
| 323 | 323 |
| 324 String get message => '${messageKind.message(messageArguments)}'; | 324 String get message => '${messageKind.message(messageArguments)}'; |
| 325 | 325 |
| 326 String toString() => '<$name: $message>'; | 326 String toString() => '<$name: $message>'; |
| 327 | 327 |
| 328 accept(ElementVisitor visitor) => visitor.visitErroneousElement(this); | 328 accept(ElementVisitor visitor) => visitor.visitErroneousElement(this); |
| 329 } | 329 } |
| 330 | 330 |
| 331 /// A constructor that was synthesized to recover from a compile-time error. | 331 /// A constructor that was synthesized to recover from a compile-time error. |
| 332 class ErroneousConstructorElementX extends ErroneousElementX { | 332 class ErroneousConstructorElementX extends ErroneousElementX |
| 333 with PatchMixin<FunctionElement> |
| 334 implements ConstructorElementX { |
| 333 // TODO(ahe): Instead of subclassing [ErroneousElementX], this class should | 335 // TODO(ahe): Instead of subclassing [ErroneousElementX], this class should |
| 334 // be more like [ErroneousFieldElementX]. In particular, its kind should be | 336 // be more like [ErroneousFieldElementX]. In particular, its kind should be |
| 335 // [ElementKind.GENERATIVE_CONSTRUCTOR], and it shouldn't throw as much. | 337 // [ElementKind.GENERATIVE_CONSTRUCTOR], and it shouldn't throw as much. |
| 336 | 338 |
| 337 ErroneousConstructorElementX( | 339 ErroneousConstructorElementX( |
| 338 MessageKind messageKind, | 340 MessageKind messageKind, |
| 339 Map messageArguments, | 341 Map messageArguments, |
| 340 String name, | 342 String name, |
| 341 Element enclosing) | 343 Element enclosing) |
| 342 : super(messageKind, messageArguments, name, enclosing); | 344 : super(messageKind, messageArguments, name, enclosing); |
| 345 |
| 346 bool get isRedirectingFactory => false; |
| 347 |
| 348 get definingElement { |
| 349 throw new UnsupportedError("definingElement"); |
| 350 } |
| 351 |
| 352 get asyncMarker { |
| 353 throw new UnsupportedError("asyncMarker"); |
| 354 } |
| 355 |
| 356 set asyncMarker(_) { |
| 357 throw new UnsupportedError("asyncMarker="); |
| 358 } |
| 359 |
| 360 get internalEffectiveTarget { |
| 361 throw new UnsupportedError("internalEffectiveTarget"); |
| 362 } |
| 363 |
| 364 set internalEffectiveTarget(_) { |
| 365 throw new UnsupportedError("internalEffectiveTarget="); |
| 366 } |
| 367 |
| 368 get effectiveTargetType { |
| 369 throw new UnsupportedError("effectiveTargetType"); |
| 370 } |
| 371 |
| 372 set effectiveTargetType(_) { |
| 373 throw new UnsupportedError("effectiveTargetType="); |
| 374 } |
| 375 |
| 376 get typeCache { |
| 377 throw new UnsupportedError("typeCache"); |
| 378 } |
| 379 |
| 380 set typeCache(_) { |
| 381 throw new UnsupportedError("typeCache="); |
| 382 } |
| 383 |
| 384 get immediateRedirectionTarget { |
| 385 throw new UnsupportedError("immediateRedirectionTarget"); |
| 386 } |
| 387 |
| 388 set immediateRedirectionTarget(_) { |
| 389 throw new UnsupportedError("immediateRedirectionTarget="); |
| 390 } |
| 391 |
| 392 get functionSignatureCache { |
| 393 throw new UnsupportedError("functionSignatureCache"); |
| 394 } |
| 395 |
| 396 set functionSignatureCache(_) { |
| 397 throw new UnsupportedError("functionSignatureCache="); |
| 398 } |
| 399 |
| 400 get nestedClosures { |
| 401 throw new UnsupportedError("nestedClosures"); |
| 402 } |
| 403 |
| 404 set nestedClosures(_) { |
| 405 throw new UnsupportedError("nestedClosures="); |
| 406 } |
| 407 |
| 408 bool get hasNoBody => false; |
| 409 |
| 410 bool get _hasNoBody => false; |
| 411 |
| 412 void set effectiveTarget(_) { |
| 413 throw new UnsupportedError("effectiveTarget="); |
| 414 } |
| 343 } | 415 } |
| 344 | 416 |
| 345 /// A message attached to a [WarnOnUseElementX]. | 417 /// A message attached to a [WarnOnUseElementX]. |
| 346 class WrappedMessage { | 418 class WrappedMessage { |
| 347 /// The message position. If [:null:] the position of the reference to the | 419 /// The message position. If [:null:] the position of the reference to the |
| 348 /// [WarnOnUseElementX] is used. | 420 /// [WarnOnUseElementX] is used. |
| 349 final Spannable spannable; | 421 final Spannable spannable; |
| 350 | 422 |
| 351 /** | 423 /** |
| 352 * The message to report on resolving a wrapped element. | 424 * The message to report on resolving a wrapped element. |
| (...skipping 2615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2968 AstElement get definingElement; | 3040 AstElement get definingElement; |
| 2969 | 3041 |
| 2970 bool get hasResolvedAst => definingElement.hasTreeElements; | 3042 bool get hasResolvedAst => definingElement.hasTreeElements; |
| 2971 | 3043 |
| 2972 ResolvedAst get resolvedAst { | 3044 ResolvedAst get resolvedAst { |
| 2973 return new ResolvedAst(declaration, | 3045 return new ResolvedAst(declaration, |
| 2974 definingElement.node, definingElement.treeElements); | 3046 definingElement.node, definingElement.treeElements); |
| 2975 } | 3047 } |
| 2976 | 3048 |
| 2977 } | 3049 } |
| OLD | NEW |