OLD | NEW |
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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 * Annotation describing information which is not part of Dart semantics; in | 51 * Annotation describing information which is not part of Dart semantics; in |
52 * other words, if this information (or any information it refers to) changes, | 52 * other words, if this information (or any information it refers to) changes, |
53 * static analysis and runtime behavior of the library are unaffected. | 53 * static analysis and runtime behavior of the library are unaffected. |
54 * | 54 * |
55 * Information that has purely local effect (in other words, it does not affect | 55 * Information that has purely local effect (in other words, it does not affect |
56 * the API of the code being analyzed) is also marked as `informative`. | 56 * the API of the code being analyzed) is also marked as `informative`. |
57 */ | 57 */ |
58 const informative = null; | 58 const informative = null; |
59 | 59 |
60 /** | 60 /** |
61 * Information about an analysis error in a source. | |
62 */ | |
63 abstract class CacheAnalysisError extends base.SummaryClass { | |
64 /** | |
65 * The correction to be displayed for this error, or `null` if there is no | |
66 * correction information for this error. The correction should indicate how | |
67 * the user can fix the error. | |
68 */ | |
69 @Id(4) | |
70 String get correction; | |
71 | |
72 /** | |
73 * The unique name of the error code. | |
74 */ | |
75 @Id(0) | |
76 String get errorCodeUniqueName; | |
77 | |
78 /** | |
79 * Length of the error range. | |
80 */ | |
81 @Id(2) | |
82 int get length; | |
83 | |
84 /** | |
85 * The message to be displayed for this error. The message should indicate | |
86 * what is wrong and why it is wrong. | |
87 */ | |
88 @Id(3) | |
89 String get message; | |
90 | |
91 /** | |
92 * Offset of the error range relative to the beginning of the file. | |
93 */ | |
94 @Id(1) | |
95 int get offset; | |
96 } | |
97 | |
98 /** | |
99 * Information about a source that depends only on its content. | |
100 */ | |
101 @TopLevel('CaSS') | |
102 abstract class CacheSourceContent extends base.SummaryClass { | |
103 factory CacheSourceContent.fromBuffer(List<int> buffer) => | |
104 generated.readCacheSourceContent(buffer); | |
105 | |
106 /** | |
107 * The list of exported URIs, e.g. `dart:core`, or `foo/bar.dart`, | |
108 * or `package:foo/bar.dart`. Empty if [kind] is [CacheSourceKind.part]. | |
109 */ | |
110 @Id(2) | |
111 List<String> get exportedUris; | |
112 | |
113 /** | |
114 * The list of explicitly imported URIs, e.g. `dart:core`, or `foo/bar.dart`, | |
115 * or `package:foo/bar.dart`. Empty if [kind] is [CacheSourceKind.part]. | |
116 */ | |
117 @Id(1) | |
118 List<String> get importedUris; | |
119 | |
120 /** | |
121 * The kind of the source. | |
122 */ | |
123 @Id(0) | |
124 CacheSourceKind get kind; | |
125 | |
126 /** | |
127 * The list of part URIs, e.g. `foo/bar.dart`. Empty if [kind] is | |
128 * [CacheSourceKind.part]. | |
129 */ | |
130 @Id(3) | |
131 List<String> get partUris; | |
132 } | |
133 | |
134 /** | |
135 * Errors of a source in a library, which depends on the import/export closure | |
136 * of the containing library and the source. | |
137 */ | |
138 @TopLevel('CSEL') | |
139 abstract class CacheSourceErrorsInLibrary extends base.SummaryClass { | |
140 factory CacheSourceErrorsInLibrary.fromBuffer(List<int> buffer) => | |
141 generated.readCacheSourceErrorsInLibrary(buffer); | |
142 /** | |
143 * The list of errors in the source in the library. | |
144 */ | |
145 @Id(0) | |
146 List<CacheAnalysisError> get errors; | |
147 } | |
148 | |
149 /** | |
150 * Kind of a source in the cache. | |
151 */ | |
152 enum CacheSourceKind { library, part } | |
153 | |
154 /** | |
155 * Information about an element code range. | 61 * Information about an element code range. |
156 */ | 62 */ |
157 abstract class CodeRange extends base.SummaryClass { | 63 abstract class CodeRange extends base.SummaryClass { |
158 /** | 64 /** |
159 * Length of the element code. | 65 * Length of the element code. |
160 */ | 66 */ |
161 @Id(1) | 67 @Id(1) |
162 int get length; | 68 int get length; |
163 | 69 |
164 /** | 70 /** |
(...skipping 2728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2893 */ | 2799 */ |
2894 @Id(11) | 2800 @Id(11) |
2895 int get visibleLength; | 2801 int get visibleLength; |
2896 | 2802 |
2897 /** | 2803 /** |
2898 * If a local variable, the beginning of the visible range; zero otherwise. | 2804 * If a local variable, the beginning of the visible range; zero otherwise. |
2899 */ | 2805 */ |
2900 @Id(12) | 2806 @Id(12) |
2901 int get visibleOffset; | 2807 int get visibleOffset; |
2902 } | 2808 } |
OLD | NEW |