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

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

Issue 27046002: Revert 17167: "Ensure lower <= upper bound" (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: 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
326 CheckSub(T.ObjectClass, T.Object); 321 CheckSub(T.ObjectClass, T.Object);
327 CheckSub(T.ArrayClass, T.Object); 322 CheckSub(T.ArrayClass, T.Object);
328 CheckUnordered(T.ObjectClass, T.ArrayClass); 323 CheckUnordered(T.ObjectClass, T.ArrayClass);
329 324
330 CheckSub(T.SmiConstant, T.Smi); 325 CheckSub(T.SmiConstant, T.Smi);
331 CheckSub(T.SmiConstant, T.Signed32); 326 CheckSub(T.SmiConstant, T.Signed32);
332 CheckSub(T.SmiConstant, T.Number); 327 CheckSub(T.SmiConstant, T.Number);
333 CheckSub(T.ObjectConstant1, T.Object); 328 CheckSub(T.ObjectConstant1, T.Object);
334 CheckSub(T.ObjectConstant2, T.Object); 329 CheckSub(T.ObjectConstant2, T.Object);
335 CheckSub(T.ArrayConstant1, T.Object); 330 CheckSub(T.ArrayConstant1, T.Object);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 377
383 CheckOverlap(T.Receiver, T.Any); 378 CheckOverlap(T.Receiver, T.Any);
384 CheckOverlap(T.Object, T.Any); 379 CheckOverlap(T.Object, T.Any);
385 CheckOverlap(T.Object, T.Receiver); 380 CheckOverlap(T.Object, T.Receiver);
386 CheckOverlap(T.Array, T.Object); 381 CheckOverlap(T.Array, T.Object);
387 CheckOverlap(T.Function, T.Object); 382 CheckOverlap(T.Function, T.Object);
388 CheckOverlap(T.Proxy, T.Receiver); 383 CheckOverlap(T.Proxy, T.Receiver);
389 CheckDisjoint(T.Object, T.Proxy); 384 CheckDisjoint(T.Object, T.Proxy);
390 CheckDisjoint(T.Array, T.Function); 385 CheckDisjoint(T.Array, T.Function);
391 386
392 CheckOverlap(T.ObjectClass, T.Any);
393 CheckOverlap(T.ObjectConstant1, T.Any);
394
395 CheckOverlap(T.ObjectClass, T.Object); 387 CheckOverlap(T.ObjectClass, T.Object);
396 CheckOverlap(T.ArrayClass, T.Object); 388 CheckOverlap(T.ArrayClass, T.Object);
397 CheckOverlap(T.ObjectClass, T.ObjectClass); 389 CheckOverlap(T.ObjectClass, T.ObjectClass);
398 CheckOverlap(T.ArrayClass, T.ArrayClass); 390 CheckOverlap(T.ArrayClass, T.ArrayClass);
399 CheckDisjoint(T.ObjectClass, T.ArrayClass); 391 CheckDisjoint(T.ObjectClass, T.ArrayClass);
400 392
401 CheckOverlap(T.SmiConstant, T.Smi); 393 CheckOverlap(T.SmiConstant, T.Smi);
402 CheckOverlap(T.SmiConstant, T.Signed32); 394 CheckOverlap(T.SmiConstant, T.Signed32);
403 CheckOverlap(T.SmiConstant, T.Number); 395 CheckOverlap(T.SmiConstant, T.Number);
404 CheckDisjoint(T.SmiConstant, T.Double); 396 CheckDisjoint(T.SmiConstant, T.Double);
(...skipping 28 matching lines...) Expand all
433 CheckEqual(T.Union(T.None, T.Number), T.Number); 425 CheckEqual(T.Union(T.None, T.Number), T.Number);
434 CheckEqual(T.Union(T.Object, T.Proxy), T.Receiver); 426 CheckEqual(T.Union(T.Object, T.Proxy), T.Receiver);
435 CheckEqual(T.Union(T.Number, T.String), T.Union(T.String, T.Number)); 427 CheckEqual(T.Union(T.Number, T.String), T.Union(T.String, T.Number));
436 CheckSub(T.Union(T.Number, T.String), T.Any); 428 CheckSub(T.Union(T.Number, T.String), T.Any);
437 429
438 // Class-class 430 // Class-class
439 CHECK(IsClass(Type::Union(T.ObjectClass, T.ObjectClass))); 431 CHECK(IsClass(Type::Union(T.ObjectClass, T.ObjectClass)));
440 CHECK(IsUnion(Type::Union(T.ObjectClass, T.ArrayClass))); 432 CHECK(IsUnion(Type::Union(T.ObjectClass, T.ArrayClass)));
441 433
442 CheckEqual(T.Union(T.ObjectClass, T.ObjectClass), T.ObjectClass); 434 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);
445 CheckSub(T.ObjectClass, T.Union(T.ObjectClass, T.ArrayClass)); 435 CheckSub(T.ObjectClass, T.Union(T.ObjectClass, T.ArrayClass));
446 CheckSub(T.ArrayClass, T.Union(T.ObjectClass, T.ArrayClass)); 436 CheckSub(T.ArrayClass, T.Union(T.ObjectClass, T.ArrayClass));
447 CheckSub(T.Union(T.ObjectClass, T.ArrayClass), T.Object); 437 CheckSub(T.Union(T.ObjectClass, T.ArrayClass), T.Object);
448 CheckUnordered(T.Union(T.ObjectClass, T.ArrayClass), T.Array); 438 CheckUnordered(T.Union(T.ObjectClass, T.ArrayClass), T.Array);
449 CheckOverlap(T.Union(T.ObjectClass, T.ArrayClass), T.Array); 439 CheckOverlap(T.Union(T.ObjectClass, T.ArrayClass), T.Array);
450 CheckDisjoint(T.Union(T.ObjectClass, T.ArrayClass), T.Number); 440 CheckDisjoint(T.Union(T.ObjectClass, T.ArrayClass), T.Number);
451 441
452 // Constant-constant 442 // Constant-constant
453 CHECK(IsConstant(Type::Union(T.ObjectConstant1, T.ObjectConstant1))); 443 CHECK(IsConstant(Type::Union(T.ObjectConstant1, T.ObjectConstant1)));
454 CHECK(IsConstant(Type::Union(T.ArrayConstant1, T.ArrayConstant1))); 444 CHECK(IsConstant(Type::Union(T.ArrayConstant1, T.ArrayConstant1)));
455 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectConstant2))); 445 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectConstant2)));
456 446
457 CheckEqual(T.Union(T.ObjectConstant1, T.ObjectConstant1), T.ObjectConstant1); 447 CheckEqual(T.Union(T.ObjectConstant1, T.ObjectConstant1), T.ObjectConstant1);
458 CheckEqual(T.Union(T.ArrayConstant1, T.ArrayConstant1), T.ArrayConstant1); 448 CheckEqual(T.Union(T.ArrayConstant1, T.ArrayConstant1), T.ArrayConstant1);
459 CheckEqual(T.Union(T.ArrayConstant1, T.ArrayConstant1), T.ArrayConstant2); 449 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);
462 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2)); 450 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2));
463 CheckSub(T.ObjectConstant2, T.Union(T.ObjectConstant1, T.ObjectConstant2)); 451 CheckSub(T.ObjectConstant2, T.Union(T.ObjectConstant1, T.ObjectConstant2));
464 CheckSub(T.ArrayConstant2, T.Union(T.ArrayConstant1, T.ObjectConstant2)); 452 CheckSub(T.ArrayConstant2, T.Union(T.ArrayConstant1, T.ObjectConstant2));
465 CheckSub(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.Object); 453 CheckSub(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.Object);
466 CheckUnordered(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.ObjectClass); 454 CheckUnordered(T.Union(T.ObjectConstant1, T.ObjectConstant2), T.ObjectClass);
467 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array); 455 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array);
468 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array); 456 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Array);
469 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ArrayConstant2); 457 CheckOverlap(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ArrayConstant2);
470 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Number); 458 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.Number);
471 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ObjectClass); 459 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayConstant1), T.ObjectClass);
472 460
473 // Bitset-class 461 // Bitset-class
474 CHECK(IsBitset(Type::Union(T.ObjectClass, T.Object))); 462 CHECK(IsBitset(Type::Union(T.ObjectClass, T.Object)));
475 CHECK(IsUnion(Type::Union(T.ObjectClass, T.Number))); 463 CHECK(IsUnion(Type::Union(T.ObjectClass, T.Number)));
476 464
477 CheckEqual(T.Union(T.ObjectClass, T.Object), T.Object); 465 CheckEqual(T.Union(T.ObjectClass, T.Object), T.Object);
478 CheckSub(T.None, T.Union(T.ObjectClass, T.Number));
479 CheckSub(T.Union(T.ObjectClass, T.Number), T.Any); 466 CheckSub(T.Union(T.ObjectClass, T.Number), T.Any);
480 CheckSub(T.Union(T.ObjectClass, T.Smi), T.Union(T.Object, T.Number)); 467 CheckSub(T.Union(T.ObjectClass, T.Smi), T.Union(T.Object, T.Number));
481 CheckSub(T.Union(T.ObjectClass, T.Array), T.Object); 468 CheckSub(T.Union(T.ObjectClass, T.Array), T.Object);
482 CheckUnordered(T.Union(T.ObjectClass, T.String), T.Array); 469 CheckUnordered(T.Union(T.ObjectClass, T.String), T.Array);
483 CheckOverlap(T.Union(T.ObjectClass, T.String), T.Object); 470 CheckOverlap(T.Union(T.ObjectClass, T.String), T.Object);
484 CheckDisjoint(T.Union(T.ObjectClass, T.String), T.Number); 471 CheckDisjoint(T.Union(T.ObjectClass, T.String), T.Number);
485 472
486 // Bitset-constant 473 // Bitset-constant
487 CHECK(IsBitset(Type::Union(T.SmiConstant, T.Number))); 474 CHECK(IsBitset(Type::Union(T.SmiConstant, T.Number)));
488 CHECK(IsBitset(Type::Union(T.ObjectConstant1, T.Object))); 475 CHECK(IsBitset(Type::Union(T.ObjectConstant1, T.Object)));
489 CHECK(IsUnion(Type::Union(T.ObjectConstant2, T.Number))); 476 CHECK(IsUnion(Type::Union(T.ObjectConstant2, T.Number)));
490 477
491 CheckEqual(T.Union(T.SmiConstant, T.Number), T.Number); 478 CheckEqual(T.Union(T.SmiConstant, T.Number), T.Number);
492 CheckEqual(T.Union(T.ObjectConstant1, T.Object), T.Object); 479 CheckEqual(T.Union(T.ObjectConstant1, T.Object), T.Object);
493 CheckSub(T.None, T.Union(T.ObjectConstant1, T.Number));
494 CheckSub(T.Union(T.ObjectConstant1, T.Number), T.Any); 480 CheckSub(T.Union(T.ObjectConstant1, T.Number), T.Any);
495 CheckSub(T.Union(T.ObjectConstant1, T.Signed32), T.Union(T.Object, T.Number)); 481 CheckSub(T.Union(T.ObjectConstant1, T.Signed32), T.Union(T.Object, T.Number));
496 CheckSub(T.Union(T.ObjectConstant1, T.Array), T.Object); 482 CheckSub(T.Union(T.ObjectConstant1, T.Array), T.Object);
497 CheckUnordered(T.Union(T.ObjectConstant1, T.String), T.Array); 483 CheckUnordered(T.Union(T.ObjectConstant1, T.String), T.Array);
498 CheckOverlap(T.Union(T.ObjectConstant1, T.String), T.Object); 484 CheckOverlap(T.Union(T.ObjectConstant1, T.String), T.Object);
499 CheckDisjoint(T.Union(T.ObjectConstant1, T.String), T.Number); 485 CheckDisjoint(T.Union(T.ObjectConstant1, T.String), T.Number);
500 CheckEqual(T.Union(T.Signed32, T.Signed32Constant), T.Signed32); 486 CheckEqual(T.Union(T.Signed32, T.Signed32Constant), T.Signed32);
501 487
502 // Class-constant 488 // Class-constant
503 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectClass))); 489 CHECK(IsUnion(Type::Union(T.ObjectConstant1, T.ObjectClass)));
504 CHECK(IsUnion(Type::Union(T.ArrayClass, T.ObjectConstant2))); 490 CHECK(IsUnion(Type::Union(T.ArrayClass, T.ObjectConstant2)));
505 491
506 CheckSub(T.None, T.Union(T.ObjectConstant1, T.ArrayClass));
507 CheckSub(T.Union(T.ObjectConstant1, T.ArrayClass), T.Any);
508 CheckSub(T.Union(T.ObjectConstant1, T.ArrayClass), T.Object); 492 CheckSub(T.Union(T.ObjectConstant1, T.ArrayClass), T.Object);
509 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ArrayClass)); 493 CheckSub(T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ArrayClass));
510 CheckSub(T.ArrayClass, T.Union(T.ObjectConstant1, T.ArrayClass)); 494 CheckSub(T.ArrayClass, T.Union(T.ObjectConstant1, T.ArrayClass));
511 CheckUnordered(T.ObjectClass, T.Union(T.ObjectConstant1, T.ArrayClass)); 495 CheckUnordered(T.ObjectClass, T.Union(T.ObjectConstant1, T.ArrayClass));
512 CheckSub( 496 CheckSub(
513 T.Union(T.ObjectConstant1, T.ArrayClass), T.Union(T.Array, T.Object)); 497 T.Union(T.ObjectConstant1, T.ArrayClass), T.Union(T.Array, T.Object));
514 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayClass), T.ArrayConstant1); 498 CheckUnordered(T.Union(T.ObjectConstant1, T.ArrayClass), T.ArrayConstant1);
515 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectConstant2); 499 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectConstant2);
516 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectClass); 500 CheckDisjoint(T.Union(T.ObjectConstant1, T.ArrayClass), T.ObjectClass);
517 501
518 // Bitset-union 502 // Bitset-union
519 CHECK(IsBitset( 503 CHECK(IsBitset(
520 Type::Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass)))); 504 Type::Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass))));
521 CHECK(IsUnion( 505 CHECK(IsUnion(
522 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.Number))); 506 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.Number)));
523 507
524 CheckEqual( 508 CheckEqual(
525 T.Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass)), 509 T.Union(T.Object, T.Union(T.ObjectConstant1, T.ObjectClass)),
526 T.Object); 510 T.Object);
527 CheckEqual( 511 CheckEqual(
528 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number), 512 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number),
529 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass))); 513 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass)));
530 CheckSub( 514 CheckSub(
531 T.Double, 515 T.Double,
532 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number)); 516 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Number));
533 CheckSub( 517 CheckSub(
534 T.ObjectConstant1, 518 T.ObjectConstant1,
535 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double)); 519 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double));
536 CheckSub( 520 CheckSub(
537 T.None,
538 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double));
539 CheckSub(
540 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double), 521 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double),
541 T.Any); 522 T.Any);
542 CheckSub( 523 CheckSub(
543 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double), 524 T.Union(T.Union(T.ArrayClass, T.ObjectConstant1), T.Double),
544 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass))); 525 T.Union(T.ObjectConstant1, T.Union(T.Number, T.ArrayClass)));
545 526
546 // Class-union 527 // Class-union
547 CHECK(IsUnion( 528 CHECK(IsUnion(
548 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass))); 529 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass)));
549 CHECK(IsUnion( 530 CHECK(IsUnion(
550 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ObjectClass))); 531 Type::Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ObjectClass)));
551 532
552 CheckEqual( 533 CheckEqual(
553 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)), 534 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)),
554 T.Union(T.ObjectClass, T.ObjectConstant1)); 535 T.Union(T.ObjectClass, T.ObjectConstant1));
555 CheckSub( 536 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(
562 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)), 537 T.Union(T.ObjectClass, T.Union(T.ObjectConstant1, T.ObjectClass)),
563 T.Object); 538 T.Object);
564 CheckEqual( 539 CheckEqual(
565 T.Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass), 540 T.Union(T.Union(T.ArrayClass, T.ObjectConstant2), T.ArrayClass),
566 T.Union(T.ArrayClass, T.ObjectConstant2)); 541 T.Union(T.ArrayClass, T.ObjectConstant2));
567 542
568 // Constant-union 543 // Constant-union
569 CHECK(IsUnion(Type::Union( 544 CHECK(IsUnion(Type::Union(
570 T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2)))); 545 T.ObjectConstant1, T.Union(T.ObjectConstant1, T.ObjectConstant2))));
571 CHECK(IsUnion(Type::Union( 546 CHECK(IsUnion(Type::Union(
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
736 T.Union(T.Union(T.ObjectConstant2, T.ObjectConstant1), T.ArrayClass), 711 T.Union(T.Union(T.ObjectConstant2, T.ObjectConstant1), T.ArrayClass),
737 T.Union( 712 T.Union(
738 T.ObjectConstant1, T.Union(T.ArrayConstant1, T.ObjectConstant2))), 713 T.ObjectConstant1, T.Union(T.ArrayConstant1, T.ObjectConstant2))),
739 T.Union(T.ObjectConstant2, T.ObjectConstant1)); 714 T.Union(T.ObjectConstant2, T.ObjectConstant1));
740 CheckEqual( 715 CheckEqual(
741 T.Intersect( 716 T.Intersect(
742 T.Union(T.ObjectConstant2, T.ArrayConstant1), 717 T.Union(T.ObjectConstant2, T.ArrayConstant1),
743 T.Union(T.ObjectConstant1, T.ArrayConstant2)), 718 T.Union(T.ObjectConstant1, T.ArrayConstant2)),
744 T.ArrayConstant1); 719 T.ArrayConstant1);
745 } 720 }
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