| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 #ifndef RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ | 5 #ifndef RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ |
| 6 #define RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ | 6 #define RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ |
| 7 | 7 |
| 8 #if !defined(DART_PRECOMPILED_RUNTIME) | 8 #if !defined(DART_PRECOMPILED_RUNTIME) |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 842 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 853 public: | 853 public: |
| 854 enum Fields { | 854 enum Fields { |
| 855 kStart, // tag. | 855 kStart, // tag. |
| 856 kCanonicalName, | 856 kCanonicalName, |
| 857 kPosition, | 857 kPosition, |
| 858 kEndPosition, | 858 kEndPosition, |
| 859 kFlags, | 859 kFlags, |
| 860 kParentClassBinaryOffset, | 860 kParentClassBinaryOffset, |
| 861 kName, | 861 kName, |
| 862 kSourceUriIndex, | 862 kSourceUriIndex, |
| 863 kDocumentationCommentIndex, |
| 863 kAnnotations, | 864 kAnnotations, |
| 864 kType, | 865 kType, |
| 865 kInitializer, | 866 kInitializer, |
| 866 kEnd | 867 kEnd |
| 867 }; | 868 }; |
| 868 | 869 |
| 869 explicit FieldHelper(StreamingFlowGraphBuilder* builder) | 870 explicit FieldHelper(StreamingFlowGraphBuilder* builder) |
| 870 : builder_(builder), | 871 : builder_(builder), |
| 871 next_read_(kStart), | 872 next_read_(kStart), |
| 872 has_function_literal_initializer_(false) {} | 873 has_function_literal_initializer_(false) {} |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 if (++next_read_ == field) return; | 913 if (++next_read_ == field) return; |
| 913 case kName: | 914 case kName: |
| 914 builder_->SkipName(); // read name. | 915 builder_->SkipName(); // read name. |
| 915 if (++next_read_ == field) return; | 916 if (++next_read_ == field) return; |
| 916 case kSourceUriIndex: | 917 case kSourceUriIndex: |
| 917 source_uri_index_ = builder_->ReadUInt(); // read source_uri_index. | 918 source_uri_index_ = builder_->ReadUInt(); // read source_uri_index. |
| 918 builder_->current_script_id_ = source_uri_index_; | 919 builder_->current_script_id_ = source_uri_index_; |
| 919 builder_->record_token_position(position_); | 920 builder_->record_token_position(position_); |
| 920 builder_->record_token_position(end_position_); | 921 builder_->record_token_position(end_position_); |
| 921 if (++next_read_ == field) return; | 922 if (++next_read_ == field) return; |
| 923 case kDocumentationCommentIndex: |
| 924 builder_->ReadStringReference(); |
| 925 if (++next_read_ == field) return; |
| 922 case kAnnotations: { | 926 case kAnnotations: { |
| 923 annotation_count_ = builder_->ReadListLength(); // read list length. | 927 annotation_count_ = builder_->ReadListLength(); // read list length. |
| 924 for (intptr_t i = 0; i < annotation_count_; ++i) { | 928 for (intptr_t i = 0; i < annotation_count_; ++i) { |
| 925 builder_->SkipExpression(); // read ith expression. | 929 builder_->SkipExpression(); // read ith expression. |
| 926 } | 930 } |
| 927 if (++next_read_ == field) return; | 931 if (++next_read_ == field) return; |
| 928 } | 932 } |
| 929 case kType: | 933 case kType: |
| 930 builder_->SkipDartType(); // read type. | 934 builder_->SkipDartType(); // read type. |
| 931 if (++next_read_ == field) return; | 935 if (++next_read_ == field) return; |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1002 enum Fields { | 1006 enum Fields { |
| 1003 kStart, // tag. | 1007 kStart, // tag. |
| 1004 kCanonicalName, | 1008 kCanonicalName, |
| 1005 kPosition, | 1009 kPosition, |
| 1006 kEndPosition, | 1010 kEndPosition, |
| 1007 kKind, | 1011 kKind, |
| 1008 kFlags, | 1012 kFlags, |
| 1009 kParentClassBinaryOffset, | 1013 kParentClassBinaryOffset, |
| 1010 kName, | 1014 kName, |
| 1011 kSourceUriIndex, | 1015 kSourceUriIndex, |
| 1016 kDocumentationCommentIndex, |
| 1012 kAnnotations, | 1017 kAnnotations, |
| 1013 kFunction, | 1018 kFunction, |
| 1014 kEnd | 1019 kEnd |
| 1015 }; | 1020 }; |
| 1016 | 1021 |
| 1017 explicit ProcedureHelper(StreamingFlowGraphBuilder* builder) { | 1022 explicit ProcedureHelper(StreamingFlowGraphBuilder* builder) { |
| 1018 builder_ = builder; | 1023 builder_ = builder; |
| 1019 next_read_ = kStart; | 1024 next_read_ = kStart; |
| 1020 } | 1025 } |
| 1021 | 1026 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1056 if (++next_read_ == field) return; | 1061 if (++next_read_ == field) return; |
| 1057 case kName: | 1062 case kName: |
| 1058 builder_->SkipName(); // read name. | 1063 builder_->SkipName(); // read name. |
| 1059 if (++next_read_ == field) return; | 1064 if (++next_read_ == field) return; |
| 1060 case kSourceUriIndex: | 1065 case kSourceUriIndex: |
| 1061 source_uri_index_ = builder_->ReadUInt(); // read source_uri_index. | 1066 source_uri_index_ = builder_->ReadUInt(); // read source_uri_index. |
| 1062 builder_->current_script_id_ = source_uri_index_; | 1067 builder_->current_script_id_ = source_uri_index_; |
| 1063 builder_->record_token_position(position_); | 1068 builder_->record_token_position(position_); |
| 1064 builder_->record_token_position(end_position_); | 1069 builder_->record_token_position(end_position_); |
| 1065 if (++next_read_ == field) return; | 1070 if (++next_read_ == field) return; |
| 1071 case kDocumentationCommentIndex: |
| 1072 builder_->ReadStringReference(); |
| 1073 if (++next_read_ == field) return; |
| 1066 case kAnnotations: { | 1074 case kAnnotations: { |
| 1067 annotation_count_ = builder_->ReadListLength(); // read list length. | 1075 annotation_count_ = builder_->ReadListLength(); // read list length. |
| 1068 for (intptr_t i = 0; i < annotation_count_; ++i) { | 1076 for (intptr_t i = 0; i < annotation_count_; ++i) { |
| 1069 builder_->SkipExpression(); // read ith expression. | 1077 builder_->SkipExpression(); // read ith expression. |
| 1070 } | 1078 } |
| 1071 if (++next_read_ == field) return; | 1079 if (++next_read_ == field) return; |
| 1072 } | 1080 } |
| 1073 case kFunction: | 1081 case kFunction: |
| 1074 if (builder_->ReadTag() == kSomething) | 1082 if (builder_->ReadTag() == kSomething) |
| 1075 builder_->SkipFunctionNode(); // read function node. | 1083 builder_->SkipFunctionNode(); // read function node. |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1122 class ConstructorHelper { | 1130 class ConstructorHelper { |
| 1123 public: | 1131 public: |
| 1124 enum Fields { | 1132 enum Fields { |
| 1125 kStart, // tag. | 1133 kStart, // tag. |
| 1126 kCanonicalName, | 1134 kCanonicalName, |
| 1127 kPosition, | 1135 kPosition, |
| 1128 kEndPosition, | 1136 kEndPosition, |
| 1129 kFlags, | 1137 kFlags, |
| 1130 kParentClassBinaryOffset, | 1138 kParentClassBinaryOffset, |
| 1131 kName, | 1139 kName, |
| 1140 kDocumentationCommentIndex, |
| 1132 kAnnotations, | 1141 kAnnotations, |
| 1133 kFunction, | 1142 kFunction, |
| 1134 kInitializers, | 1143 kInitializers, |
| 1135 kEnd | 1144 kEnd |
| 1136 }; | 1145 }; |
| 1137 | 1146 |
| 1138 explicit ConstructorHelper(StreamingFlowGraphBuilder* builder) { | 1147 explicit ConstructorHelper(StreamingFlowGraphBuilder* builder) { |
| 1139 builder_ = builder; | 1148 builder_ = builder; |
| 1140 next_read_ = kStart; | 1149 next_read_ = kStart; |
| 1141 } | 1150 } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1167 case kFlags: | 1176 case kFlags: |
| 1168 flags_ = builder_->ReadFlags(); // read flags. | 1177 flags_ = builder_->ReadFlags(); // read flags. |
| 1169 if (++next_read_ == field) return; | 1178 if (++next_read_ == field) return; |
| 1170 case kParentClassBinaryOffset: | 1179 case kParentClassBinaryOffset: |
| 1171 parent_class_binary_offset_ = | 1180 parent_class_binary_offset_ = |
| 1172 builder_->ReadUInt(); // read parent class binary offset. | 1181 builder_->ReadUInt(); // read parent class binary offset. |
| 1173 if (++next_read_ == field) return; | 1182 if (++next_read_ == field) return; |
| 1174 case kName: | 1183 case kName: |
| 1175 builder_->SkipName(); // read name. | 1184 builder_->SkipName(); // read name. |
| 1176 if (++next_read_ == field) return; | 1185 if (++next_read_ == field) return; |
| 1186 case kDocumentationCommentIndex: |
| 1187 builder_->ReadStringReference(); |
| 1188 if (++next_read_ == field) return; |
| 1177 case kAnnotations: { | 1189 case kAnnotations: { |
| 1178 annotation_count_ = builder_->ReadListLength(); // read list length. | 1190 annotation_count_ = builder_->ReadListLength(); // read list length. |
| 1179 for (intptr_t i = 0; i < annotation_count_; ++i) { | 1191 for (intptr_t i = 0; i < annotation_count_; ++i) { |
| 1180 builder_->SkipExpression(); // read ith expression. | 1192 builder_->SkipExpression(); // read ith expression. |
| 1181 } | 1193 } |
| 1182 if (++next_read_ == field) return; | 1194 if (++next_read_ == field) return; |
| 1183 } | 1195 } |
| 1184 case kFunction: | 1196 case kFunction: |
| 1185 builder_->SkipFunctionNode(); // read function. | 1197 builder_->SkipFunctionNode(); // read function. |
| 1186 if (++next_read_ == field) return; | 1198 if (++next_read_ == field) return; |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1531 private: | 1543 private: |
| 1532 Reader* reader_; | 1544 Reader* reader_; |
| 1533 intptr_t saved_offset_; | 1545 intptr_t saved_offset_; |
| 1534 }; | 1546 }; |
| 1535 | 1547 |
| 1536 } // namespace kernel | 1548 } // namespace kernel |
| 1537 } // namespace dart | 1549 } // namespace dart |
| 1538 | 1550 |
| 1539 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 1551 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| 1540 #endif // RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ | 1552 #endif // RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_ |
| OLD | NEW |