ternary_operator.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <rtl code>
  2. var test = function (){
  3. function integer(b/*BOOLEAN*/, i1/*INTEGER*/, i2/*INTEGER*/){
  4. return b ? i1 : i2;
  5. }
  6. function integer2(b1/*BOOLEAN*/, b2/*BOOLEAN*/, i1/*INTEGER*/, i2/*INTEGER*/, i3/*INTEGER*/){
  7. return b1 ? i1 : b2 ? i2 : i3;
  8. }
  9. function byRef(b/*BOOLEAN*/, i1/*VAR INTEGER*/, i2/*VAR INTEGER*/){
  10. return b ? i1.get() : i2.get();
  11. }
  12. function byRef1(b/*BOOLEAN*/, i1/*VAR INTEGER*/, i2/*INTEGER*/){
  13. return b ? i1.get() : i2;
  14. }
  15. function byRef2(b/*BOOLEAN*/, i1/*INTEGER*/, i2/*VAR INTEGER*/){
  16. return b ? i1 : i2.get();
  17. }
  18. function passRecord(b/*BOOLEAN*/){
  19. var $scope1 = $scope + ".passRecord";
  20. function T(){
  21. }
  22. var r1 = new T();var r2 = new T();
  23. function p(r/*T*/){
  24. }
  25. p(b ? r1 : r2);
  26. }
  27. function initRecord(b/*BOOLEAN*/){
  28. var $scope1 = $scope + ".initRecord";
  29. function T(){
  30. }
  31. var r1 = new T();var r2 = new T();
  32. var r = RTL$.clone(b ? r1 : r2, {record: {}}, undefined);
  33. }
  34. function initRecordFromConstructor(b/*BOOLEAN*/){
  35. var $scope1 = $scope + ".initRecordFromConstructor";
  36. function T(i/*INTEGER*/){
  37. }
  38. var r = b ? new T(1) : new T(2);
  39. }
  40. function initRecordFromConstructorOrVariable(b/*BOOLEAN*/){
  41. var $scope1 = $scope + ".initRecordFromConstructorOrVariable";
  42. function T(){
  43. }
  44. var r = new T();
  45. var r1 = b ? RTL$.clone(r, {record: {}}, undefined) : new T();
  46. var r2 = b ? new T() : RTL$.clone(r, {record: {}}, undefined);
  47. }
  48. function operatorsPriority(b/*BOOLEAN*/){
  49. return (b ? 1 : 2) + 3 | 0;
  50. }
  51. }();