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

Side by Side Diff: pkg/compiler/lib/src/constants/constructors.dart

Issue 1148343004: Remove ConstantExpression.value (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Update comments. Created 5 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
« no previous file with comments | « pkg/compiler/lib/src/compiler.dart ('k') | pkg/compiler/lib/src/constants/expressions.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 library dart2js.constants.constructors; 5 library dart2js.constants.constructors;
6 6
7 import '../dart2jslib.dart'; 7 import '../dart2jslib.dart';
8 import '../dart_types.dart'; 8 import '../dart_types.dart';
9 import '../elements/elements.dart'; 9 import '../elements/elements.dart';
10 import '../resolution/resolution.dart'; 10 import '../resolution/resolution.dart';
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 argumentNames.add(name); 115 argumentNames.add(name);
116 arguments.add(new NamedArgumentReference(name)); 116 arguments.add(new NamedArgumentReference(name));
117 } else { 117 } else {
118 arguments.add(new PositionalArgumentReference(index)); 118 arguments.add(new PositionalArgumentReference(index));
119 } 119 }
120 index++; 120 index++;
121 } 121 }
122 CallStructure callStructure = new CallStructure(index, argumentNames); 122 CallStructure callStructure = new CallStructure(index, argumentNames);
123 123
124 return new RedirectingFactoryConstantConstructor( 124 return new RedirectingFactoryConstantConstructor(
125 new ConstructedConstantExpression(null, 125 new ConstructedConstantExpression(
126 redirectionType, 126 redirectionType,
127 redirectionTarget, 127 redirectionTarget,
128 callStructure, 128 callStructure,
129 arguments)); 129 arguments));
130 } 130 }
131 131
132 @override 132 @override
133 visitFactoryConstructorDeclaration( 133 visitFactoryConstructorDeclaration(
134 FunctionExpression node, 134 FunctionExpression node,
135 ConstructorElement constructor, 135 ConstructorElement constructor,
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 245
246 ConstructedConstantExpression visitSuperConstructorInvoke( 246 ConstructedConstantExpression visitSuperConstructorInvoke(
247 Send node, 247 Send node,
248 ConstructorElement superConstructor, 248 ConstructorElement superConstructor,
249 InterfaceType type, 249 InterfaceType type,
250 NodeList arguments, 250 NodeList arguments,
251 CallStructure callStructure, 251 CallStructure callStructure,
252 _) { 252 _) {
253 List<ConstantExpression> argumentExpression = 253 List<ConstantExpression> argumentExpression =
254 arguments.nodes.map((a) => apply(a)).toList(); 254 arguments.nodes.map((a) => apply(a)).toList();
255 return new ConstructedConstantExpression(null, 255 return new ConstructedConstantExpression(
256 type, 256 type,
257 superConstructor, 257 superConstructor,
258 callStructure, 258 callStructure,
259 argumentExpression); 259 argumentExpression);
260 } 260 }
261 261
262 ConstructedConstantExpression visitImplicitSuperConstructorInvoke( 262 ConstructedConstantExpression visitImplicitSuperConstructorInvoke(
263 FunctionExpression node, 263 FunctionExpression node,
264 ConstructorElement superConstructor, 264 ConstructorElement superConstructor,
265 InterfaceType type, 265 InterfaceType type,
266 _) { 266 _) {
267 return new ConstructedConstantExpression(null, 267 return new ConstructedConstantExpression(
268 type, 268 type,
269 superConstructor, 269 superConstructor,
270 CallStructure.NO_ARGS, 270 CallStructure.NO_ARGS,
271 const <ConstantExpression>[]); 271 const <ConstantExpression>[]);
272 } 272 }
273 273
274 ConstructedConstantExpression visitThisConstructorInvoke( 274 ConstructedConstantExpression visitThisConstructorInvoke(
275 Send node, 275 Send node,
276 ConstructorElement thisConstructor, 276 ConstructorElement thisConstructor,
277 NodeList arguments, 277 NodeList arguments,
278 CallStructure callStructure, 278 CallStructure callStructure,
279 _) { 279 _) {
280 List<ConstantExpression> argumentExpression = 280 List<ConstantExpression> argumentExpression =
281 arguments.nodes.map((a) => apply(a)).toList(); 281 arguments.nodes.map((a) => apply(a)).toList();
282 return new ConstructedConstantExpression(null, 282 return new ConstructedConstantExpression(
283 currentClass.thisType, 283 currentClass.thisType,
284 thisConstructor, 284 thisConstructor,
285 callStructure, 285 callStructure,
286 argumentExpression); 286 argumentExpression);
287 } 287 }
288 288
289 @override 289 @override
290 ConstantExpression visitBinary( 290 ConstantExpression visitBinary(
291 Send node, 291 Send node,
292 Node left, 292 Node left,
293 BinaryOperator operator, 293 BinaryOperator operator,
294 Node right, 294 Node right,
295 _) { 295 _) {
296 return new BinaryConstantExpression(null, 296 return new BinaryConstantExpression(
297 apply(left), operator, apply(right)); 297 apply(left), operator, apply(right));
298 } 298 }
299 299
300 300
301 @override 301 @override
302 ConstantExpression visitUnary( 302 ConstantExpression visitUnary(
303 Send node, 303 Send node,
304 UnaryOperator operator, 304 UnaryOperator operator,
305 Node expression, 305 Node expression,
306 _) { 306 _) {
307 return new UnaryConstantExpression(null, 307 return new UnaryConstantExpression(
308 operator, apply(expression)); 308 operator, apply(expression));
309 } 309 }
310 310
311 @override 311 @override
312 ConstantExpression visitStaticFieldGet( 312 ConstantExpression visitStaticFieldGet(
313 Send node, 313 Send node,
314 FieldElement field, 314 FieldElement field,
315 _) { 315 _) {
316 return new VariableConstantExpression(null, field); 316 return new VariableConstantExpression(field);
317 } 317 }
318 318
319 @override 319 @override
320 ConstantExpression visitTopLevelFieldGet( 320 ConstantExpression visitTopLevelFieldGet(
321 Send node, 321 Send node,
322 FieldElement field, 322 FieldElement field,
323 _) { 323 _) {
324 return new VariableConstantExpression(null, field); 324 return new VariableConstantExpression(field);
325 } 325 }
326 326
327 @override 327 @override
328 ConstantExpression visitLiteralInt(LiteralInt node) { 328 ConstantExpression visitLiteralInt(LiteralInt node) {
329 return new IntConstantExpression( 329 return new IntConstantExpression(node.value);
330 node.value, new IntConstantValue(node.value));
331 } 330 }
332 331
333 @override 332 @override
334 ConstantExpression visitLiteralBool(LiteralBool node) { 333 ConstantExpression visitLiteralBool(LiteralBool node) {
335 return new BoolConstantExpression(node.value, null); 334 return new BoolConstantExpression(node.value);
336 } 335 }
337 336
338 @override 337 @override
339 ConstantExpression visitLiteralNull(LiteralNull node) { 338 ConstantExpression visitLiteralNull(LiteralNull node) {
340 return new NullConstantExpression(new NullConstantValue()); 339 return new NullConstantExpression();
341 } 340 }
342 341
343 @override 342 @override
344 ConstantExpression visitLiteralString(LiteralString node) { 343 ConstantExpression visitLiteralString(LiteralString node) {
345 return new StringConstantExpression(node.dartString.slowToString(), null); 344 return new StringConstantExpression(node.dartString.slowToString());
346 } 345 }
347 346
348 @override 347 @override
349 ConstantExpression visitConditional(Conditional node) { 348 ConstantExpression visitConditional(Conditional node) {
350 return new ConditionalConstantExpression(null, 349 return new ConditionalConstantExpression(
351 apply(node.condition), 350 apply(node.condition),
352 apply(node.thenExpression), 351 apply(node.thenExpression),
353 apply(node.elseExpression)); 352 apply(node.elseExpression));
354 } 353 }
355 354
356 @override 355 @override
357 ConstantExpression visitParenthesizedExpression(ParenthesizedExpression node) { 356 ConstantExpression visitParenthesizedExpression(ParenthesizedExpression node) {
358 return apply(node.expression); 357 return apply(node.expression);
359 } 358 }
360 359
361 @override 360 @override
362 ConstantExpression visitTopLevelFunctionInvoke( 361 ConstantExpression visitTopLevelFunctionInvoke(
363 Send node, 362 Send node,
364 MethodElement function, 363 MethodElement function,
365 NodeList arguments, 364 NodeList arguments,
366 CallStructure callStructure, 365 CallStructure callStructure,
367 _) { 366 _) {
368 if (function.name != 'identical' || !function.library.isDartCore) { 367 if (function.name != 'identical' || !function.library.isDartCore) {
369 throw new UnsupportedError("Unexpected function call: $function"); 368 throw new UnsupportedError("Unexpected function call: $function");
370 } 369 }
371 return new IdenticalConstantExpression( 370 return new IdenticalConstantExpression(
372 null, apply(arguments.nodes.head), apply(arguments.nodes.tail.head)); 371 apply(arguments.nodes.head), apply(arguments.nodes.tail.head));
373 } 372 }
374 373
375 @override 374 @override
376 ConstantExpression visitNamedArgument(NamedArgument node) { 375 ConstantExpression visitNamedArgument(NamedArgument node) {
377 return apply(node.expression); 376 return apply(node.expression);
378 } 377 }
379 } 378 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/compiler.dart ('k') | pkg/compiler/lib/src/constants/expressions.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698