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

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

Issue 1707073002: Serialize and resynthesize variable initializers. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fixes for review comments. 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 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 * The `length` property access. 373 * The `length` property access.
374 */ 374 */
375 length, 375 length,
376 376
377 /** 377 /**
378 * The entity is a typedef. 378 * The entity is a typedef.
379 */ 379 */
380 typedef, 380 typedef,
381 381
382 /** 382 /**
383 * The entity is a local function.
384 */
385 function,
386
387 /**
383 * The entity is a top level function. 388 * The entity is a top level function.
384 */ 389 */
385 topLevelFunction, 390 topLevelFunction,
386 391
387 /** 392 /**
388 * The entity is a top level getter or setter. 393 * The entity is a top level getter or setter.
389 */ 394 */
390 topLevelPropertyAccessor, 395 topLevelPropertyAccessor,
391 396
392 /** 397 /**
(...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after
1375 * 1380 *
1376 * Note that although strong mode considers initializing formals to be 1381 * Note that although strong mode considers initializing formals to be
1377 * inferable, they are not marked as such in the summary; if their type is 1382 * inferable, they are not marked as such in the summary; if their type is
1378 * not specified, they always inherit the static type of the corresponding 1383 * not specified, they always inherit the static type of the corresponding
1379 * field. 1384 * field.
1380 */ 1385 */
1381 @Id(2) 1386 @Id(2)
1382 int get inferredTypeSlot; 1387 int get inferredTypeSlot;
1383 1388
1384 /** 1389 /**
1390 * The synthetic initializer function of the parameter. Absent if the variabl e
1391 * does not have an initializer.
1392 */
1393 @Id(12)
1394 UnlinkedExecutable get initializer;
1395
1396 /**
1385 * Indicates whether this is a function-typed parameter. 1397 * Indicates whether this is a function-typed parameter.
1386 */ 1398 */
1387 @Id(5) 1399 @Id(5)
1388 bool get isFunctionTyped; 1400 bool get isFunctionTyped;
1389 1401
1390 /** 1402 /**
1391 * Indicates whether this is an initializing formal parameter (i.e. it is 1403 * Indicates whether this is an initializing formal parameter (i.e. it is
1392 * declared using `this.` syntax). 1404 * declared using `this.` syntax).
1393 */ 1405 */
1394 @Id(6) 1406 @Id(6)
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
1805 /** 1817 /**
1806 * If this variable is inferable, nonzero slot id identifying which entry in 1818 * If this variable is inferable, nonzero slot id identifying which entry in
1807 * [LinkedLibrary.types] contains the inferred type for this variable. If 1819 * [LinkedLibrary.types] contains the inferred type for this variable. If
1808 * there is no matching entry in [LinkedLibrary.types], then no type was 1820 * there is no matching entry in [LinkedLibrary.types], then no type was
1809 * inferred for this variable, so its static type is `dynamic`. 1821 * inferred for this variable, so its static type is `dynamic`.
1810 */ 1822 */
1811 @Id(9) 1823 @Id(9)
1812 int get inferredTypeSlot; 1824 int get inferredTypeSlot;
1813 1825
1814 /** 1826 /**
1827 * The synthetic initializer function of the variable. Absent if the variable
1828 * does not have an initializer.
1829 */
1830 @Id(13)
1831 UnlinkedExecutable get initializer;
1832
1833 /**
1815 * Indicates whether the variable is declared using the `const` keyword. 1834 * Indicates whether the variable is declared using the `const` keyword.
1816 */ 1835 */
1817 @Id(6) 1836 @Id(6)
1818 bool get isConst; 1837 bool get isConst;
1819 1838
1820 /** 1839 /**
1821 * Indicates whether the variable is declared using the `final` keyword. 1840 * Indicates whether the variable is declared using the `final` keyword.
1822 */ 1841 */
1823 @Id(7) 1842 @Id(7)
1824 bool get isFinal; 1843 bool get isFinal;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1868 */ 1887 */
1869 @Id(11) 1888 @Id(11)
1870 int get visibleLength; 1889 int get visibleLength;
1871 1890
1872 /** 1891 /**
1873 * If a local variable, the beginning of the visible range; zero otherwise. 1892 * If a local variable, the beginning of the visible range; zero otherwise.
1874 */ 1893 */
1875 @Id(12) 1894 @Id(12)
1876 int get visibleOffset; 1895 int get visibleOffset;
1877 } 1896 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.dart ('k') | pkg/analyzer/lib/src/summary/resynthesize.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698