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

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

Issue 2342893002: Issue 27044. Summarize configurations of imports and exports, AST based. (Closed)
Patch Set: No equality test means '== true'. Created 4 years, 3 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) 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 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 int get offset; 1123 int get offset;
1124 1124
1125 /** 1125 /**
1126 * List of names which are shown. Empty if this is a `hide` combinator. 1126 * List of names which are shown. Empty if this is a `hide` combinator.
1127 */ 1127 */
1128 @Id(0) 1128 @Id(0)
1129 List<String> get shows; 1129 List<String> get shows;
1130 } 1130 }
1131 1131
1132 /** 1132 /**
1133 * Unlinked summary information about a single import or export configuration.
1134 */
1135 abstract class UnlinkedConfiguration extends base.SummaryClass {
1136 /**
1137 * The name of the declared variable whose value is being used in the
1138 * condition.
1139 */
1140 @Id(0)
1141 String get name;
1142
1143 /**
1144 * The URI of the implementation library to be used if the condition is true.
1145 */
1146 @Id(2)
1147 String get uri;
1148
1149 /**
1150 * The value to which the value of the declared variable will be compared,
1151 * or `true` if the condition does not include an equality test.
1152 */
1153 @Id(1)
1154 String get value;
1155 }
1156
1157 /**
1133 * Unlinked summary information about a compile-time constant expression, or a 1158 * Unlinked summary information about a compile-time constant expression, or a
1134 * potentially constant expression. 1159 * potentially constant expression.
1135 * 1160 *
1136 * Constant expressions are represented using a simple stack-based language 1161 * Constant expressions are represented using a simple stack-based language
1137 * where [operations] is a sequence of operations to execute starting with an 1162 * where [operations] is a sequence of operations to execute starting with an
1138 * empty stack. Once all operations have been executed, the stack should 1163 * empty stack. Once all operations have been executed, the stack should
1139 * contain a single value which is the value of the constant. Note that some 1164 * contain a single value which is the value of the constant. Note that some
1140 * operations consume additional data from the other fields of this class. 1165 * operations consume additional data from the other fields of this class.
1141 */ 1166 */
1142 abstract class UnlinkedConst extends base.SummaryClass { 1167 abstract class UnlinkedConst extends base.SummaryClass {
(...skipping 913 matching lines...) Expand 10 before | Expand all | Expand 10 after
2056 @Id(2) 2081 @Id(2)
2057 int get uriOffset; 2082 int get uriOffset;
2058 } 2083 }
2059 2084
2060 /** 2085 /**
2061 * Unlinked summary information about an export declaration (stored inside 2086 * Unlinked summary information about an export declaration (stored inside
2062 * [UnlinkedPublicNamespace]). 2087 * [UnlinkedPublicNamespace]).
2063 */ 2088 */
2064 abstract class UnlinkedExportPublic extends base.SummaryClass { 2089 abstract class UnlinkedExportPublic extends base.SummaryClass {
2065 /** 2090 /**
2066 * Combinators contained in this import declaration. 2091 * Combinators contained in this export declaration.
2067 */ 2092 */
2068 @Id(1) 2093 @Id(1)
2069 List<UnlinkedCombinator> get combinators; 2094 List<UnlinkedCombinator> get combinators;
2070 2095
2071 /** 2096 /**
2097 * Configurations used to control which library will actually be loaded at
2098 * run-time.
2099 */
2100 @Id(2)
2101 List<UnlinkedConfiguration> get configurations;
2102
2103 /**
2072 * URI used in the source code to reference the exported library. 2104 * URI used in the source code to reference the exported library.
2073 */ 2105 */
2074 @Id(0) 2106 @Id(0)
2075 String get uri; 2107 String get uri;
2076 } 2108 }
2077 2109
2078 /** 2110 /**
2079 * Enum representing the various kinds of assignment operations combined 2111 * Enum representing the various kinds of assignment operations combined
2080 * with: 2112 * with:
2081 * [UnlinkedConstOperation.assignToRef], 2113 * [UnlinkedConstOperation.assignToRef],
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
2179 @Id(8) 2211 @Id(8)
2180 List<UnlinkedConst> get annotations; 2212 List<UnlinkedConst> get annotations;
2181 2213
2182 /** 2214 /**
2183 * Combinators contained in this import declaration. 2215 * Combinators contained in this import declaration.
2184 */ 2216 */
2185 @Id(4) 2217 @Id(4)
2186 List<UnlinkedCombinator> get combinators; 2218 List<UnlinkedCombinator> get combinators;
2187 2219
2188 /** 2220 /**
2221 * Configurations used to control which library will actually be loaded at
2222 * run-time.
2223 */
2224 @Id(10)
2225 List<UnlinkedConfiguration> get configurations;
2226
2227 /**
2189 * Indicates whether the import declaration uses the `deferred` keyword. 2228 * Indicates whether the import declaration uses the `deferred` keyword.
2190 */ 2229 */
2191 @Id(9) 2230 @Id(9)
2192 bool get isDeferred; 2231 bool get isDeferred;
2193 2232
2194 /** 2233 /**
2195 * Indicates whether the import declaration is implicit. 2234 * Indicates whether the import declaration is implicit.
2196 */ 2235 */
2197 @Id(5) 2236 @Id(5)
2198 bool get isImplicit; 2237 bool get isImplicit;
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
2854 */ 2893 */
2855 @Id(11) 2894 @Id(11)
2856 int get visibleLength; 2895 int get visibleLength;
2857 2896
2858 /** 2897 /**
2859 * If a local variable, the beginning of the visible range; zero otherwise. 2898 * If a local variable, the beginning of the visible range; zero otherwise.
2860 */ 2899 */
2861 @Id(12) 2900 @Id(12)
2862 int get visibleOffset; 2901 int get visibleOffset;
2863 } 2902 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.fbs ('k') | pkg/analyzer/lib/src/summary/public_namespace_computer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698