Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 library is capable of producing linked summaries from unlinked | 6 * This library is capable of producing linked summaries from unlinked |
| 7 * ones (or prelinked ones). It functions by building a miniature | 7 * ones (or prelinked ones). It functions by building a miniature |
| 8 * element model to represent the contents of the summaries, and then | 8 * element model to represent the contents of the summaries, and then |
| 9 * scanning the element model to gather linked information and adding | 9 * scanning the element model to gather linked information and adding |
| 10 * it to the summary data structures. | 10 * it to the summary data structures. |
| (...skipping 4867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4878 case UnlinkedExprOperation.makeTypedMap: | 4878 case UnlinkedExprOperation.makeTypedMap: |
| 4879 refPtr += 2; | 4879 refPtr += 2; |
| 4880 intPtr++; | 4880 intPtr++; |
| 4881 break; | 4881 break; |
| 4882 case UnlinkedExprOperation.assignToRef: | 4882 case UnlinkedExprOperation.assignToRef: |
| 4883 // TODO(paulberry): if this reference refers to a variable, should it | 4883 // TODO(paulberry): if this reference refers to a variable, should it |
| 4884 // be considered a type inference dependency? | 4884 // be considered a type inference dependency? |
| 4885 refPtr++; | 4885 refPtr++; |
| 4886 break; | 4886 break; |
| 4887 case UnlinkedExprOperation.invokeMethodRef: | 4887 case UnlinkedExprOperation.invokeMethodRef: |
| 4888 // TODO(paulberry): if this reference refers to a variable, should it | 4888 // TODO(paulberry): if this reference refers to a variable, should it |
|
Paul Berry
2017/04/04 21:31:48
We can get rid of this TODO now.
| |
| 4889 // be considered a type inference dependency? | 4889 // be considered a type inference dependency? |
| 4890 refPtr++; | 4890 EntityRef ref = unlinkedConst.references[refPtr++]; |
| 4891 TypeInferenceNode dependency = | |
| 4892 compilationUnit.resolveRef(ref.reference).asTypeInferenceNode; | |
| 4893 if (dependency != null) { | |
| 4894 dependencies.add(dependency); | |
| 4895 } | |
| 4891 intPtr += 2; | 4896 intPtr += 2; |
| 4892 int numTypeArguments = unlinkedConst.ints[intPtr++]; | 4897 int numTypeArguments = unlinkedConst.ints[intPtr++]; |
| 4893 refPtr += numTypeArguments; | 4898 refPtr += numTypeArguments; |
| 4894 break; | 4899 break; |
| 4895 case UnlinkedExprOperation.invokeMethod: | 4900 case UnlinkedExprOperation.invokeMethod: |
| 4896 intPtr += 2; | 4901 intPtr += 2; |
| 4897 int numTypeArguments = unlinkedConst.ints[intPtr++]; | 4902 int numTypeArguments = unlinkedConst.ints[intPtr++]; |
| 4898 refPtr += numTypeArguments; | 4903 refPtr += numTypeArguments; |
| 4899 break; | 4904 break; |
| 4900 case UnlinkedExprOperation.typeCast: | 4905 case UnlinkedExprOperation.typeCast: |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5296 } | 5301 } |
| 5297 | 5302 |
| 5298 /** | 5303 /** |
| 5299 * This exception is thrown when [ExprTypeComputer] cannot inference the type. | 5304 * This exception is thrown when [ExprTypeComputer] cannot inference the type. |
| 5300 */ | 5305 */ |
| 5301 class _InferenceFailedError { | 5306 class _InferenceFailedError { |
| 5302 final String message; | 5307 final String message; |
| 5303 | 5308 |
| 5304 _InferenceFailedError(this.message); | 5309 _InferenceFailedError(this.message); |
| 5305 } | 5310 } |
| OLD | NEW |