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

Side by Side Diff: test/cctest/test-types.cc

Issue 27164003: Reenable 17167: "Ensure lower <= upper bound" (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix handlification" Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « src/typing.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 CheckSub(T.Receiver, T.Any); 311 CheckSub(T.Receiver, T.Any);
312 CheckSub(T.Object, T.Any); 312 CheckSub(T.Object, T.Any);
313 CheckSub(T.Object, T.Receiver); 313 CheckSub(T.Object, T.Receiver);
314 CheckSub(T.Array, T.Object); 314 CheckSub(T.Array, T.Object);
315 CheckSub(T.Function, T.Object); 315 CheckSub(T.Function, T.Object);
316 CheckSub(T.Proxy, T.Receiver); 316 CheckSub(T.Proxy, T.Receiver);
317 CheckUnordered(T.Object, T.Proxy); 317 CheckUnordered(T.Object, T.Proxy);
318 CheckUnordered(T.Array, T.Function); 318 CheckUnordered(T.Array, T.Function);
319 319
320 // Structured subtyping 320 // Structured subtyping
321 CheckSub(T.None, T.ObjectClass);
322 CheckSub(T.None, T.ObjectConstant1);
323 CheckSub(T.ObjectClass, T.Any);
324 CheckSub(T.ObjectConstant1, T.Any);
325
321 CheckSub(T.ObjectClass, T.Object); 326 CheckSub(T.ObjectClass, T.Object);
322 CheckSub(T.ArrayClass, T.Object); 327 CheckSub(T.ArrayClass, T.Object);
323 CheckUnordered(T.ObjectClass, T.ArrayClass); 328 CheckUnordered(T.ObjectClass, T.ArrayClass);
324 329
325 CheckSub(T.SmiConstant, T.Smi); 330 CheckSub(T.SmiConstant, T.Smi);
326 CheckSub(T.SmiConstant, T.Signed32); 331 CheckSub(T.SmiConstant, T.Signed32);
327 CheckSub(T.SmiConstant, T.Number); 332 CheckSub(T.SmiConstant, T.Number);
328 CheckSub(T.ObjectConstant1, T.Object); 333 CheckSub(T.ObjectConstant1, T.Object);
329 CheckSub(T.ObjectConstant2, T.Object); 334 CheckSub(T.ObjectConstant2, T.Object);
330 CheckSub(T.ArrayConstant1, T.Object); 335 CheckSub(T.ArrayConstant1, T.Object);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 382
378 CheckOverlap(T.Receiver, T.Any); 383 CheckOverlap(T.Receiver, T.Any);
379 CheckOverlap(T.Object, T.Any); 384 CheckOverlap(T.Object, T.Any);
380 CheckOverlap(T.Object, T.Receiver); 385 CheckOverlap(T.Object, T.Receiver);
381 CheckOverlap(T.Array, T.Object); 386 CheckOverlap(T.Array, T.Object);
382 CheckOverlap(T.Function, T.Object); 387 CheckOverlap(T.Function, T.Object);
383 CheckOverlap(T.Proxy, T.Receiver); 388 CheckOverlap(T.Proxy, T.Receiver);
384 CheckDisjoint(T.Object, T.Proxy); 389 CheckDisjoint(T.Object, T.Proxy);
385 CheckDisjoint(T.Array, T.Function); 390 CheckDisjoint(T.Array, T.Function);
386 391
392 CheckOverlap(T.ObjectClass, T.Any);
393 CheckOverlap(T.ObjectConstant1, T.Any);
394
387 CheckOverlap(T.ObjectClass, T.Object); 395 CheckOverlap(T.ObjectClass, T.Object);
388 CheckOverlap(T.ArrayClass, T.Object); 396 CheckOverlap(T.ArrayClass, T.Object);
389 CheckOverlap(T.ObjectClass, T.ObjectClass); 397 CheckOverlap(T.ObjectClass, T.ObjectClass);
390 CheckOverlap(T.ArrayClass, T.ArrayClass); 398 CheckOverlap(T.ArrayClass, T.ArrayClass);
391 CheckDisjoint(T.ObjectClass, T.ArrayClass); 399 CheckDisjoint(T.ObjectClass, T.ArrayClass);
392 400
393 CheckOverlap(T.SmiConstant, T.Smi); 401 CheckOverlap(T.SmiConstant, T.Smi);
394 CheckOverlap(T.SmiConstant, T.Signed32); 402 CheckOverlap(T.SmiConstant, T.Signed32);
395 CheckOverlap(T.SmiConstant, T.Number); 403 CheckOverlap(T.SmiConstant, T.Number);
396 CheckDisjoint(T.SmiConstant, T.Double); 404 CheckDisjoint(T.SmiConstant, T.Double);
(...skipping 28 matching lines...) Expand all
425 CheckEqual(T.Union(T.None, T.Number), T.Number); 433 CheckEqual(T.Union(T.None, T.Number), T.Number);
426 CheckEqual(T.Union(T.Object, T.Proxy), T.Receiver); 434 CheckEqual(T.Union(T.Object, T.Proxy), T.Receiver);
427 CheckEqual(T.Union(T.Number, T.String), T.Union(T.String, T.Number)); 435 CheckEqual(T.Union(T.Number, T.String), T.Union(T.String, T.Number));
428 CheckSub(T.Union(T.Number, T.String), T.Any); 436 CheckSub(T.Union(T.Number, T.String), T.Any);
429 437
430 // Class-class 438 // Class-class
431 CHECK(IsClass(Type::Union(T.ObjectClass, T.ObjectClass))); 439 CHECK(IsClass(Type::Union(T.ObjectClass, T.ObjectClass)));
432 CHECK(IsUnion(Type::Union(T.ObjectClass, T.ArrayClass))); 440 CHECK(IsUnion(Type::Union(T.ObjectClass, T.ArrayClass)));
433 441
434 CheckEqual(T.Union(T.ObjectClass, T.ObjectClass), T.ObjectClass); 442 CheckEqual(T.Union(T.ObjectClass, T.ObjectClass), T.ObjectClass);
443 CheckSub(T.None, T.Union(T.ObjectClass, T.ArrayClass));
444 CheckSub(T.Union(T.ObjectClass, T.ArrayClass), T.Any);
435 CheckSub(T.ObjectClass, T.Union(T.ObjectClass, T.ArrayClass)); 445 CheckSub(T.ObjectClass, T.Union(T.ObjectClass, T.ArrayClass));
436 CheckSub(T.ArrayClass, T.Union(T.ObjectClass, T.ArrayClass)); 446 CheckSub(T.ArrayClass, T.Union(T.ObjectClass, T.ArrayClass));
437 CheckSub(T.Union(T.ObjectClass, T.ArrayClass), T.Object); 447 CheckSub(T.Union(T.ObjectClass, T.ArrayClass), T.Object);
438 CheckUnordered(T.Union(T.ObjectClass, T.ArrayClass), T.Array); 448 CheckUnordered(T.Union(T.ObjectClass, T.ArrayClass), T.Array);
439 CheckOverlap(T.Union(T.ObjectClass, T.ArrayClass), T.Array); 449 CheckOverlap(T.Union(T.ObjectClass, T.ArrayClass), T.Array);
440 CheckDisjoint(T.Union(T.ObjectClass, T.ArrayClass), T.Number); 450 CheckDisjoint(T.Union(T.ObjectClass, T.ArrayClass), T.Number);
441 451
442 // Constant-constant 452 // Constant-constant
443 CHECK(IsConstant(Type::Union(T.ObjectConstant1, T.ObjectConstant1))); 453 CHECK(IsConstant(Type::Union(T.ObjectConstant1, T.ObjectConstant1)));
444 CHECK(IsConstant(Type::Union(T.ArrayConstant1, T.ArrayConstant1))); 454 CHECK(IsConstant(Type::Union(T.ArrayConstant1, T.ArrayConstant1)));
445 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectConstant2))); 455 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectConstant2)));
446 456
447 CheckEqual(T.Union(T.ObjectConstant1, T.ObjectConstant1), T.ObjectConstant1); 457 CheckEqual(T.Union(T.ObjectConstant1, T.ObjectConstant1), T.ObjectConstant1);
448 CheckEqual(T.Union(T.ArrayConstant1, T.ArrayConstant1), T.ArrayConstant1); 458 CheckEqual(T.Union(T.ArrayConstant1, T.ArrayConstant1), T.ArrayConstant1);
449 CheckEqual(T.Union(T.ArrayConstant1, T.ArrayConstant1), T.ArrayConstant2); 459 CheckEqual(T.Union(T.ArrayConstant1, T.ArrayConstant1), T.ArrayConstant2);
460 CheckSub(T.None, T.Union(T.ObjectConstant1, T.ObjectConstant2));
461 CheckSub(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.Any);
450 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2)); 462 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2));
451 CheckSub(T.ObjectConstant2, T.Union(T.ObjectConstant1, T.ObjectConstant2)); 463 CheckSub(T.ObjectConstant2, T.Union(T.ObjectConstant1, T.ObjectConstant2));
452 CheckSub(T.ArrayConstant2, T.Union(T.ArrayConstant1, T.ObjectConstant2)); 464 CheckSub(T.ArrayConstant2, T.Union(T.ArrayConstant1, T.ObjectConstant2));
453 CheckSub(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.Object); 465 CheckSub(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.Object);
454 CheckUnordered(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.ObjectClass); 466 CheckUnordered(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.ObjectClass);
455 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array); 467 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array);
456 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array); 468 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array);
457 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ArrayConstant2); 469 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ArrayConstant2);
458 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Number); 470 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Number);
459 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ObjectClass); 471 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ObjectClass);
460 472
461 // Bitset-class 473 // Bitset-class
462 CHECK(IsBitset(Type::Union(T.ObjectClass, T.Object))); 474 CHECK(IsBitset(Type::Union(T.ObjectClass, T.Object)));
463 CHECK(IsUnion(Type::Union(T.ObjectClass, T.Number))); 475 CHECK(IsUnion(Type::Union(T.ObjectClass, T.Number)));
464 476
465 CheckEqual(T.Union(T.ObjectClass, T.Object), T.Object); 477 CheckEqual(T.Union(T.ObjectClass, T.Object), T.Object);
478 CheckSub(T.None, T.Union(T.ObjectClass, T.Number));
466 CheckSub(T.Union(T.ObjectClass, T.Number), T.Any); 479 CheckSub(T.Union(T.ObjectClass, T.Number), T.Any);
467 CheckSub(T.Union(T.ObjectClass, T.Smi), T.Union(T.Object, T.Number)); 480 CheckSub(T.Union(T.ObjectClass, T.Smi), T.Union(T.Object, T.Number));
468 CheckSub(T.Union(T.ObjectClass, T.Array), T.Object); 481 CheckSub(T.Union(T.ObjectClass, T.Array), T.Object);
469 CheckUnordered(T.Union(T.ObjectClass, T.String), T.Array); 482 CheckUnordered(T.Union(T.ObjectClass, T.String), T.Array);
470 CheckOverlap(T.Union(T.ObjectClass, T.String), T.Object); 483 CheckOverlap(T.Union(T.ObjectClass, T.String), T.Object);
471 CheckDisjoint(T.Union(T.ObjectClass, T.String), T.Number); 484 CheckDisjoint(T.Union(T.ObjectClass, T.String), T.Number);
472 485
473 // Bitset-constant 486 // Bitset-constant
474 CHECK(IsBitset(Type::Union(T.SmiConstant, T.Number))); 487 CHECK(IsBitset(Type::Union(T.SmiConstant, T.Number)));
475 CHECK(IsBitset(Type::Union(T.ObjectConstant1, T.Object))); 488 CHECK(IsBitset(Type::Union(T.ObjectConstant1, T.Object)));
476 CHECK(IsUnion(Type::Union(T.ObjectConstant2, T.Number))); 489 CHECK(IsUnion(Type::Union(T.ObjectConstant2, T.Number)));
477 490
478 CheckEqual(T.Union(T.SmiConstant, T.Number), T.Number); 491 CheckEqual(T.Union(T.SmiConstant, T.Number), T.Number);
479 CheckEqual(T.Union(T.ObjectConstant1, T.Object), T.Object); 492 CheckEqual(T.Union(T.ObjectConstant1, T.Object), T.Object);
493 CheckSub(T.None, T.Union(T.ObjectConstant1, T.Number));
480 CheckSub(T.Union(T.ObjectConstant1, T.Number), T.Any); 494 CheckSub(T.Union(T.ObjectConstant1, T.Number), T.Any);
481 CheckSub(T.Union(T.ObjectConstant1, T.Signed32), T.Union(T.Object, T.Number)); 495 CheckSub(T.Union(T.ObjectConstant1, T.Signed32), T.Union(T.Object, T.Number));
482 CheckSub(T.Union(T.ObjectConstant1, T.Array), T.Object); 496 CheckSub(T.Union(T.ObjectConstant1, T.Array), T.Object);
483 CheckUnordered(T.Union(T.ObjectConstant1, T.String), T.Array); 497 CheckUnordered(T.Union(T.ObjectConstant1, T.String), T.Array);
484 CheckOverlap(T.Union(T.ObjectConstant1, T.String), T.Object); 498 CheckOverlap(T.Union(T.ObjectConstant1, T.String), T.Object);
485 CheckDisjoint(T.Union(T.ObjectConstant1, T.String), T.Number); 499 CheckDisjoint(T.Union(T.ObjectConstant1, T.String), T.Number);
486 CheckEqual(T.Union(T.Signed32, T.Signed32Constant), T.Signed32); 500 CheckEqual(T.Union(T.Signed32, T.Signed32Constant), T.Signed32);
487 501
488 // Class-constant 502 // Class-constant
489 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectClass))); 503 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectClass)));
490 CHECK(IsUnion(Type::Union(T.ArrayClass, T.ObjectConstant2))); 504 CHECK(IsUnion(Type::Union(T.ArrayClass, T.ObjectConstant2)));
491 505
506 CheckSub(T.None, T.Union(T.ObjectConstant1, T.ArrayClass));
507 CheckSub(T.Union(T.ObjectConstant1, T.ArrayClass), T.Any);
492 CheckSub(T.Union(T.ObjectConstant1, T.ArrayClass), T.Object); 508 CheckSub(T.Union(T.ObjectConstant1, T.ArrayClass), T.Object);
493 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ArrayClass)); 509 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ArrayClass));
494 CheckSub(T.ArrayClass, T.Union(T.ObjectConstant1, T.ArrayClass)); 510 CheckSub(T.ArrayClass, T.Union(T.ObjectConstant1, T.ArrayClass));
495 CheckUnordered(T.ObjectClass, T.Union(T.ObjectConstant1, T.ArrayClass)); 511 CheckUnordered(T.ObjectClass, T.Union(T.ObjectConstant1, T.ArrayClass));
496 CheckSub( 512 CheckSub(
497 T.Union(T.ObjectConstant1, T.ArrayClass), T.Union(T.Array, T.Object)); 513 T.Union(T.ObjectConstant1, T.ArrayClass), T.Union(T.Array, T.Object));
498 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayClass), T.ArrayConstant1); 514 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayClass), T.ArrayConstant1);
499 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectConstant2); 515 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectConstant2);
500 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectClass); 516 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectClass);
501 517
502 // Bitset-union 518 // Bitset-union
503 CHECK(IsBitset( 519 CHECK(IsBitset(
504 Type::Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass)))); 520 Type::Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass))));
505 CHECK(IsUnion( 521 CHECK(IsUnion(
506 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.Number))); 522 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.Number)));
507 523
508 CheckEqual( 524 CheckEqual(
509 T.Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass)), 525 T.Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass)),
510 T.Object); 526 T.Object);
511 CheckEqual( 527 CheckEqual(
512 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number), 528 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number),
513 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass))); 529 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass)));
514 CheckSub( 530 CheckSub(
515 T.Double, 531 T.Double,
516 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number)); 532 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number));
517 CheckSub( 533 CheckSub(
518 T.ObjectConstant1, 534 T.ObjectConstant1,
519 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double)); 535 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double));
520 CheckSub( 536 CheckSub(
537 T.None,
538 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double));
539 CheckSub(
521 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double), 540 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double),
522 T.Any); 541 T.Any);
523 CheckSub( 542 CheckSub(
524 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double), 543 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double),
525 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass))); 544 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass)));
526 545
527 // Class-union 546 // Class-union
528 CHECK(IsUnion( 547 CHECK(IsUnion(
529 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass))); 548 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass)));
530 CHECK(IsUnion( 549 CHECK(IsUnion(
531 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ObjectClass))); 550 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ObjectClass)));
532 551
533 CheckEqual( 552 CheckEqual(
534 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)), 553 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)),
535 T.Union(T.ObjectClass, T.ObjectConstant1)); 554 T.Union(T.ObjectClass, T.ObjectConstant1));
536 CheckSub( 555 CheckSub(
556 T.None,
557 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)));
558 CheckSub(
559 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)),
560 T.Any);
561 CheckSub(
537 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)), 562 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)),
538 T.Object); 563 T.Object);
539 CheckEqual( 564 CheckEqual(
540 T.Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass), 565 T.Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass),
541 T.Union(T.ArrayClass, T.ObjectConstant2)); 566 T.Union(T.ArrayClass, T.ObjectConstant2));
542 567
543 // Constant-union 568 // Constant-union
544 CHECK(IsUnion(Type::Union( 569 CHECK(IsUnion(Type::Union(
545 T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2)))); 570 T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2))));
546 CHECK(IsUnion(Type::Union( 571 CHECK(IsUnion(Type::Union(
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 T.Union(T.Union(T.ObjectConstant2, T.ObjectConstant1), T.ArrayClass), 736 T.Union(T.Union(T.ObjectConstant2, T.ObjectConstant1), T.ArrayClass),
712 T.Union( 737 T.Union(
713 T.ObjectConstant1, T.Union(T.ArrayConstant1, T.ObjectConstant2))), 738 T.ObjectConstant1, T.Union(T.ArrayConstant1, T.ObjectConstant2))),
714 T.Union(T.ObjectConstant2, T.ObjectConstant1)); 739 T.Union(T.ObjectConstant2, T.ObjectConstant1));
715 CheckEqual( 740 CheckEqual(
716 T.Intersect( 741 T.Intersect(
717 T.Union(T.ObjectConstant2, T.ArrayConstant1), 742 T.Union(T.ObjectConstant2, T.ArrayConstant1),
718 T.Union(T.ObjectConstant1, T.ArrayConstant2)), 743 T.Union(T.ObjectConstant1, T.ArrayConstant2)),
719 T.ArrayConstant1); 744 T.ArrayConstant1);
720 } 745 }
OLDNEW
« no previous file with comments | « src/typing.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698