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

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

Issue 1677683002: Include default parameter values into summary. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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 973 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 * Indicates whether the executable is declared using the `factory` keyword. 984 * Indicates whether the executable is declared using the `factory` keyword.
985 */ 985 */
986 bool get isFactory; 986 bool get isFactory;
987 987
988 /** 988 /**
989 * Indicates whether the executable is declared using the `external` keyword. 989 * Indicates whether the executable is declared using the `external` keyword.
990 */ 990 */
991 bool get isExternal; 991 bool get isExternal;
992 992
993 /** 993 /**
994 * If this executable's return type is inferrable, nonzero slot id 994 * If this executable's return type is inferable, nonzero slot id
995 * identifying which entry in [LinkedLibrary.types] contains the inferred 995 * identifying which entry in [LinkedLibrary.types] contains the inferred
996 * return type. If there is no matching entry in [LinkedLibrary.types], then 996 * return type. If there is no matching entry in [LinkedLibrary.types], then
997 * no return type was inferred for this variable, so its static type is 997 * no return type was inferred for this variable, so its static type is
998 * `dynamic`. 998 * `dynamic`.
999 */ 999 */
1000 int get inferredReturnTypeSlot; 1000 int get inferredReturnTypeSlot;
1001 } 1001 }
1002 1002
1003 /** 1003 /**
1004 * Enum used to indicate the kind of an executable. 1004 * Enum used to indicate the kind of an executable.
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 */ 1165 */
1166 bool get isFunctionTyped; 1166 bool get isFunctionTyped;
1167 1167
1168 /** 1168 /**
1169 * Indicates whether this is an initializing formal parameter (i.e. it is 1169 * Indicates whether this is an initializing formal parameter (i.e. it is
1170 * declared using `this.` syntax). 1170 * declared using `this.` syntax).
1171 */ 1171 */
1172 bool get isInitializingFormal; 1172 bool get isInitializingFormal;
1173 1173
1174 /** 1174 /**
1175 * If this parameter's type is inferrable, nonzero slot id identifying which 1175 * If this parameter's type is inferable, nonzero slot id identifying which
1176 * entry in [LinkedLibrary.types] contains the inferred type. If there is no 1176 * entry in [LinkedLibrary.types] contains the inferred type. If there is no
1177 * matching entry in [LinkedLibrary.types], then no type was inferred for 1177 * matching entry in [LinkedLibrary.types], then no type was inferred for
1178 * this variable, so its static type is `dynamic`. 1178 * this variable, so its static type is `dynamic`.
1179 * 1179 *
1180 * Note that although strong mode considers initializing formals to be 1180 * Note that although strong mode considers initializing formals to be
1181 * inferrable, they are not marked as such in the summary; if their type is 1181 * inferable, they are not marked as such in the summary; if their type is
1182 * not specified, they always inherit the static type of the corresponding 1182 * not specified, they always inherit the static type of the corresponding
1183 * field. 1183 * field.
1184 */ 1184 */
1185 int get inferredTypeSlot; 1185 int get inferredTypeSlot;
1186
1187 /**
1188 * If the parameter has a default value the constant expression in the
1189 * default value.
1190 */
1191 UnlinkedConst get defaultValue;
1186 } 1192 }
1187 1193
1188 /** 1194 /**
1189 * Enum used to indicate the kind of a parameter. 1195 * Enum used to indicate the kind of a parameter.
1190 */ 1196 */
1191 enum UnlinkedParamKind { 1197 enum UnlinkedParamKind {
1192 /** 1198 /**
1193 * Parameter is required. 1199 * Parameter is required.
1194 */ 1200 */
1195 required, 1201 required,
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
1515 * If this variable is propagable, nonzero slot id identifying which entry in 1521 * If this variable is propagable, nonzero slot id identifying which entry in
1516 * [LinkedLibrary.types] contains the propagated type for this variable. If 1522 * [LinkedLibrary.types] contains the propagated type for this variable. If
1517 * there is no matching entry in [LinkedLibrary.types], then this variable's 1523 * there is no matching entry in [LinkedLibrary.types], then this variable's
1518 * propagated type is the same as its declared type. 1524 * propagated type is the same as its declared type.
1519 * 1525 *
1520 * Non-propagable variables have a [propagatedTypeSlot] of zero. 1526 * Non-propagable variables have a [propagatedTypeSlot] of zero.
1521 */ 1527 */
1522 int get propagatedTypeSlot; 1528 int get propagatedTypeSlot;
1523 1529
1524 /** 1530 /**
1525 * If this variable is inferrable, nonzero slot id identifying which entry in 1531 * If this variable is inferable, nonzero slot id identifying which entry in
1526 * [LinkedLibrary.types] contains the inferred type for this variable. If 1532 * [LinkedLibrary.types] contains the inferred type for this variable. If
1527 * there is no matching entry in [LinkedLibrary.types], then no type was 1533 * there is no matching entry in [LinkedLibrary.types], then no type was
1528 * inferred for this variable, so its static type is `dynamic`. 1534 * inferred for this variable, so its static type is `dynamic`.
1529 */ 1535 */
1530 int get inferredTypeSlot; 1536 int get inferredTypeSlot;
1531 } 1537 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698