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

Side by Side Diff: pkg/analyzer/lib/src/summary/idl.dart

Issue 2736383005: Store type inference errors into EntityRef. (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.fbs ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 /** 5 /**
6 * This file is an "idl" style description of the summary format. It 6 * This file is an "idl" style description of the summary format. It
7 * contains abstract classes which declare the interface for reading data from 7 * contains abstract classes which declare the interface for reading data from
8 * summaries. It is parsed and transformed into code that implements the 8 * summaries. It is parsed and transformed into code that implements the
9 * summary format. 9 * summary format.
10 * 10 *
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 /** 436 /**
437 * If this [EntityRef] is a reference to a function type whose 437 * If this [EntityRef] is a reference to a function type whose
438 * [FunctionElement] is not in any library (e.g. a function type that was 438 * [FunctionElement] is not in any library (e.g. a function type that was
439 * synthesized by a LUB computation), the return type of the function. 439 * synthesized by a LUB computation), the return type of the function.
440 * Otherwise `null`. 440 * Otherwise `null`.
441 */ 441 */
442 @Id(5) 442 @Id(5)
443 EntityRef get syntheticReturnType; 443 EntityRef get syntheticReturnType;
444 444
445 /** 445 /**
446 * If this [EntityRef] is a result of type inference, and so contained within
447 * [LinkedUnit.types], and was computed as a result of top-level type
448 * inference, which failed for this target, contains the list of one or more
449 * errors describing the failure. The [reference] must point at `dynamic` in
450 * this case.
451 */
452 @Id(8)
453 List<TopLevelInferenceError> get topLevelInferenceErrors;
454
455 /**
446 * If this is an instantiation of a generic type or generic executable, the 456 * If this is an instantiation of a generic type or generic executable, the
447 * type arguments used to instantiate it (if any). 457 * type arguments used to instantiate it (if any).
448 */ 458 */
449 @Id(1) 459 @Id(1)
450 List<EntityRef> get typeArguments; 460 List<EntityRef> get typeArguments;
451 461
452 /** 462 /**
453 * If this is a function type, the type parameters defined for the function 463 * If this is a function type, the type parameters defined for the function
454 * type (if any). 464 * type (if any).
455 */ 465 */
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 */ 1106 */
1097 prefix, 1107 prefix,
1098 1108
1099 /** 1109 /**
1100 * The entity being referred to does not exist. 1110 * The entity being referred to does not exist.
1101 */ 1111 */
1102 unresolved 1112 unresolved
1103 } 1113 }
1104 1114
1105 /** 1115 /**
1116 * Summary information about a top-level type inference error.
1117 */
1118 abstract class TopLevelInferenceError extends base.SummaryClass {
1119 /**
1120 * The message describing the error.
1121 */
1122 @Id(0)
1123 String get message;
1124 }
1125
1126 /**
1106 * Enum used to indicate the style of a typedef. 1127 * Enum used to indicate the style of a typedef.
1107 */ 1128 */
1108 enum TypedefStyle { 1129 enum TypedefStyle {
1109 /** 1130 /**
1110 * A typedef that defines a non-generic function type. The syntax is 1131 * A typedef that defines a non-generic function type. The syntax is
1111 * ``` 1132 * ```
1112 * 'typedef' returnType? identifier typeParameters? formalParameterList ';' 1133 * 'typedef' returnType? identifier typeParameters? formalParameterList ';'
1113 * ``` 1134 * ```
1114 * The typedef can have type parameters associated with it, but the function 1135 * The typedef can have type parameters associated with it, but the function
1115 * type that results from applying type arguments does not. 1136 * type that results from applying type arguments does not.
(...skipping 2128 matching lines...) Expand 10 before | Expand all | Expand 10 after
3244 @Id(11) 3265 @Id(11)
3245 int get visibleLength; 3266 int get visibleLength;
3246 3267
3247 /** 3268 /**
3248 * If a local variable, the beginning of the visible range; zero otherwise. 3269 * If a local variable, the beginning of the visible range; zero otherwise.
3249 */ 3270 */
3250 @informative 3271 @informative
3251 @Id(12) 3272 @Id(12)
3252 int get visibleOffset; 3273 int get visibleOffset;
3253 } 3274 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.fbs ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698