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

Side by Side Diff: pkg/compiler/lib/src/serialization/modelz.dart

Issue 2033383002: Handle use of fromEnvironment from serialized data. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes Created 4 years, 6 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 /// Implementation of the element model used for deserialiation. 5 /// Implementation of the element model used for deserialiation.
6 /// 6 ///
7 /// These classes are created by [ElementDeserializer] triggered by the 7 /// These classes are created by [ElementDeserializer] triggered by the
8 /// [Deserializer]. 8 /// [Deserializer].
9 9
10 library dart2js.serialization.modelz; 10 library dart2js.serialization.modelz;
(...skipping 1139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1150 } 1150 }
1151 1151
1152 abstract class ConstructorElementZ extends DeserializedElementZ 1152 abstract class ConstructorElementZ extends DeserializedElementZ
1153 with 1153 with
1154 AnalyzableElementMixin, 1154 AnalyzableElementMixin,
1155 AstElementMixinZ, 1155 AstElementMixinZ,
1156 ClassMemberMixin, 1156 ClassMemberMixin,
1157 FunctionTypedElementMixin, 1157 FunctionTypedElementMixin,
1158 ParametersMixin, 1158 ParametersMixin,
1159 TypedElementMixin, 1159 TypedElementMixin,
1160 MemberElementMixin 1160 MemberElementMixin,
1161 ConstructorElementCommon
1161 implements 1162 implements
1162 ConstructorElement, 1163 ConstructorElement,
1163 // TODO(johnniwinther): Sort out whether a constructor is a method. 1164 // TODO(johnniwinther): Sort out whether a constructor is a method.
1164 MethodElement { 1165 MethodElement {
1165 ConstantConstructor _constantConstructor; 1166 ConstantConstructor _constantConstructor;
1166 ConstructorElement _effectiveTarget; 1167 ConstructorElement _effectiveTarget;
1167 1168
1168 ConstructorElementZ(ObjectDecoder decoder) : super(decoder); 1169 ConstructorElementZ(ObjectDecoder decoder) : super(decoder);
1169 1170
1170 accept(ElementVisitor visitor, arg) { 1171 accept(ElementVisitor visitor, arg) {
1171 return visitor.visitConstructorElement(this, arg); 1172 return visitor.visitConstructorElement(this, arg);
1172 } 1173 }
1173 1174
1174 @override 1175 @override
1175 bool get isConst => _decoder.getBool(Key.IS_CONST); 1176 bool get isConst => _decoder.getBool(Key.IS_CONST);
1176 1177
1177 @override 1178 @override
1178 bool get isExternal => _decoder.getBool(Key.IS_EXTERNAL); 1179 bool get isExternal => _decoder.getBool(Key.IS_EXTERNAL);
1179 1180
1180 bool get isFromEnvironmentConstructor {
1181 return name == 'fromEnvironment' &&
1182 library.isDartCore &&
1183 (enclosingClass.name == 'bool' ||
1184 enclosingClass.name == 'int' ||
1185 enclosingClass.name == 'String');
1186 }
1187
1188 ConstantConstructor get constantConstructor { 1181 ConstantConstructor get constantConstructor {
1189 if (isConst && _constantConstructor == null) { 1182 if (isConst && _constantConstructor == null) {
1190 ObjectDecoder data = 1183 ObjectDecoder data =
1191 _decoder.getObject(Key.CONSTRUCTOR, isOptional: true); 1184 _decoder.getObject(Key.CONSTRUCTOR, isOptional: true);
1192 if (data == null) { 1185 if (data == null) {
1193 assert(isFromEnvironmentConstructor || isExternal); 1186 assert(isFromEnvironmentConstructor || isExternal);
1194 return null; 1187 return null;
1195 } 1188 }
1196 _constantConstructor = ConstantConstructorDeserializer.deserialize(data); 1189 _constantConstructor = ConstantConstructorDeserializer.deserialize(data);
1197 } 1190 }
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1406 @override 1399 @override
1407 bool get isEffectiveTargetMalformed => false; 1400 bool get isEffectiveTargetMalformed => false;
1408 1401
1409 @override 1402 @override
1410 bool get isExternal => false; 1403 bool get isExternal => false;
1411 1404
1412 @override 1405 @override
1413 bool get isFromEnvironmentConstructor => false; 1406 bool get isFromEnvironmentConstructor => false;
1414 1407
1415 @override 1408 @override
1409 bool get isIntFromEnvironmentConstructor => false;
1410
1411 @override
1412 bool get isBoolFromEnvironmentConstructor => false;
1413
1414 @override
1415 bool get isStringFromEnvironmentConstructor => false;
1416
1417 @override
1416 bool get isRedirectingFactory => false; 1418 bool get isRedirectingFactory => false;
1417 1419
1418 @override 1420 @override
1419 bool get isRedirectingGenerative => false; 1421 bool get isRedirectingGenerative => false;
1420 1422
1421 @override 1423 @override
1422 bool get isSynthesized => true; 1424 bool get isSynthesized => true;
1423 1425
1424 @override 1426 @override
1425 ElementKind get kind => ElementKind.GENERATIVE_CONSTRUCTOR; 1427 ElementKind get kind => ElementKind.GENERATIVE_CONSTRUCTOR;
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after
2253 } 2255 }
2254 2256
2255 @override 2257 @override
2256 ElementKind get kind => ElementKind.PREFIX; 2258 ElementKind get kind => ElementKind.PREFIX;
2257 2259
2258 @override 2260 @override
2259 Element lookupLocalMember(String memberName) { 2261 Element lookupLocalMember(String memberName) {
2260 return _unsupported('lookupLocalMember'); 2262 return _unsupported('lookupLocalMember');
2261 } 2263 }
2262 } 2264 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698