Lines 87-92
Link Here
|
87 |
float p17, float p18, float p19, float p20, |
87 |
float p17, float p18, float p19, float p20, |
88 |
float *retval) = 0; |
88 |
float *retval) = 0; |
89 |
|
89 |
|
|
|
90 |
NS_IMETHOD AddMixedInts(PRInt64 p1, PRInt32 p2, PRInt64 p3, PRInt32 p4, |
91 |
PRInt32 p5, PRInt64 p6, PRInt32 p7, PRInt32 p8, |
92 |
PRInt64 p9, PRInt32 p10, PRInt64* retval) = 0; |
93 |
|
94 |
NS_IMETHOD AddMixedInts2(PRInt32 p1, PRInt64 p2, PRInt32 p3, PRInt64 p4, |
95 |
PRInt64 p5, PRInt32 p6, PRInt64 p7, PRInt64 p8, |
96 |
PRInt32 p9, PRInt64 p10, PRInt64* retval) = 0; |
97 |
|
98 |
NS_IMETHOD AddMixedFloats(float p1, float p2, double p3, double p4, |
99 |
float p5, float p6, double p7, double p8, |
100 |
float p9, double p10, float p11, |
101 |
double *retval) = 0; |
102 |
|
90 |
NS_IMETHOD PassTwoStrings(const char* s1, const char* s2, char** retval) = 0; |
103 |
NS_IMETHOD PassTwoStrings(const char* s1, const char* s2, char** retval) = 0; |
91 |
|
104 |
|
92 |
}; |
105 |
}; |
Lines 114-119
Link Here
|
114 |
float p5, float p6, float p7, float p8, |
127 |
float p5, float p6, float p7, float p8, |
115 |
float p9, float p10, float* retval); |
128 |
float p9, float p10, float* retval); |
116 |
|
129 |
|
|
|
130 |
NS_IMETHOD AddMixedInts(PRInt64 p1, PRInt32 p2, PRInt64 p3, PRInt32 p4, |
131 |
PRInt32 p5, PRInt64 p6, PRInt32 p7, PRInt32 p8, |
132 |
PRInt64 p9, PRInt32 p10, PRInt64* retval); |
133 |
|
134 |
NS_IMETHOD AddMixedInts2(PRInt32 p1, PRInt64 p2, PRInt32 p3, PRInt64 p4, |
135 |
PRInt64 p5, PRInt32 p6, PRInt64 p7, PRInt64 p8, |
136 |
PRInt32 p9, PRInt64 p10, PRInt64* retval); |
137 |
|
138 |
NS_IMETHOD AddMixedFloats(float p1, float p2, double p3, double p4, |
139 |
float p5, float p6, double p7, double p8, |
140 |
float p9, double p10, float p11, |
141 |
double *retval); |
142 |
|
117 |
NS_IMETHOD AddManyManyFloats(float p1, float p2, float p3, float p4, |
143 |
NS_IMETHOD AddManyManyFloats(float p1, float p2, float p3, float p4, |
118 |
float p5, float p6, float p7, float p8, |
144 |
float p5, float p6, float p7, float p8, |
119 |
float p9, float p10, float p11, float p12, |
145 |
float p9, float p10, float p11, float p12, |
Lines 211-216
Link Here
|
211 |
} |
237 |
} |
212 |
|
238 |
|
213 |
NS_IMETHODIMP |
239 |
NS_IMETHODIMP |
|
|
240 |
InvokeTestTarget::AddMixedFloats(float p1, float p2, double p3, double p4, |
241 |
float p5, float p6, double p7, double p8, |
242 |
float p9, double p10, float p11, |
243 |
double *retval) |
244 |
{ |
245 |
#ifdef DEBUG_TESTINVOKE |
246 |
printf("%f, %f, %lf, %lf, %f, %f, %lf, %lf, %f, %lf, %f\n", |
247 |
p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); |
248 |
#endif |
249 |
*retval = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10 + p11; |
250 |
return NS_OK; |
251 |
} |
252 |
|
253 |
NS_IMETHODIMP |
214 |
InvokeTestTarget::AddManyManyFloats(float p1, float p2, float p3, float p4, |
254 |
InvokeTestTarget::AddManyManyFloats(float p1, float p2, float p3, float p4, |
215 |
float p5, float p6, float p7, float p8, |
255 |
float p5, float p6, float p7, float p8, |
216 |
float p9, float p10, float p11, float p12, |
256 |
float p9, float p10, float p11, float p12, |
Lines 230-235
Link Here
|
230 |
} |
270 |
} |
231 |
|
271 |
|
232 |
NS_IMETHODIMP |
272 |
NS_IMETHODIMP |
|
|
273 |
InvokeTestTarget::AddMixedInts(PRInt64 p1, PRInt32 p2, PRInt64 p3, PRInt32 p4, |
274 |
PRInt32 p5, PRInt64 p6, PRInt32 p7, PRInt32 p8, |
275 |
PRInt64 p9, PRInt32 p10, PRInt64* retval) |
276 |
{ |
277 |
*retval = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10; |
278 |
return NS_OK; |
279 |
} |
280 |
|
281 |
NS_IMETHODIMP |
282 |
InvokeTestTarget::AddMixedInts2(PRInt32 p1, PRInt64 p2, PRInt32 p3, PRInt64 p4, |
283 |
PRInt64 p5, PRInt32 p6, PRInt64 p7, PRInt64 p8, |
284 |
PRInt32 p9, PRInt64 p10, PRInt64* retval) |
285 |
{ |
286 |
*retval = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10; |
287 |
return NS_OK; |
288 |
} |
289 |
|
290 |
NS_IMETHODIMP |
233 |
InvokeTestTarget::PassTwoStrings(const char* s1, const char* s2, char** retval) |
291 |
InvokeTestTarget::PassTwoStrings(const char* s1, const char* s2, char** retval) |
234 |
{ |
292 |
{ |
235 |
const char milk[] = "milk"; |
293 |
const char milk[] = "milk"; |
Lines 309-322
Link Here
|
309 |
else |
367 |
else |
310 |
printf("\tFAILED"); |
368 |
printf("\tFAILED"); |
311 |
|
369 |
|
312 |
if(NS_SUCCEEDED(test->PassTwoStrings("moo","cow",&outS))) { |
370 |
if(NS_SUCCEEDED(test->AddMixedInts(1,2,3,4,5,6,7,8,9,10,&out64))) |
313 |
printf(" = %s\n", outS); |
371 |
{ |
|
|
372 |
LL_L2I(tmp32, out64); |
373 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %d\n", (int)tmp32); |
374 |
} |
375 |
else |
376 |
printf("\tFAILED"); |
377 |
|
378 |
if(NS_SUCCEEDED(test->AddMixedInts2(1,2,3,4,5,6,7,8,9,10,&out64))) |
379 |
{ |
380 |
LL_L2I(tmp32, out64); |
381 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %d\n", (int)tmp32); |
382 |
} |
383 |
else |
384 |
printf("\tFAILED"); |
385 |
|
386 |
if(NS_SUCCEEDED(test->AddMixedFloats(1,2,3,4,5,6,7,8,9,10,11,&outD))) |
387 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 = %f\n", (double)outD); |
388 |
else |
389 |
printf("\tFAILED"); |
390 |
|
391 |
if (NS_SUCCEEDED(test->PassTwoStrings("moo","cow",&outS))) { |
392 |
printf(" = %s\n", outS); |
314 |
nsMemory::Free(outS); |
393 |
nsMemory::Free(outS); |
315 |
} else |
394 |
} else |
316 |
printf("\tFAILED"); |
395 |
printf("\tFAILED"); |
317 |
|
396 |
|
318 |
|
|
|
319 |
|
320 |
printf("calling via invoke:\n"); |
397 |
printf("calling via invoke:\n"); |
321 |
|
398 |
|
322 |
nsXPTCVariant var[21]; |
399 |
nsXPTCVariant var[21]; |
Lines 388-395
Link Here
|
388 |
var[2].flags = nsXPTCVariant::PTR_IS_DATA; |
465 |
var[2].flags = nsXPTCVariant::PTR_IS_DATA; |
389 |
var[2].ptr = &var[2].val.i64; |
466 |
var[2].ptr = &var[2].val.i64; |
390 |
|
467 |
|
391 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 6, 3, var))) |
468 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 6, 3, var))) |
392 |
printf("\t2L * 2L = %d\n", (int)var[2].val.i64); |
469 |
printf("\t2L * 2L = %d\n", (int)var[2].val.i64); |
393 |
else |
470 |
else |
394 |
printf("\tFAILED"); |
471 |
printf("\tFAILED"); |
395 |
|
472 |
|
Lines 559-564
Link Here
|
559 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 10, 11, var))) |
636 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 10, 11, var))) |
560 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %ff\n", |
637 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %ff\n", |
561 |
(double) var[10].val.f); |
638 |
(double) var[10].val.f); |
|
|
639 |
else |
640 |
printf("\tFAILED"); |
562 |
|
641 |
|
563 |
var[0].val.f = 1.0f; |
642 |
var[0].val.f = 1.0f; |
564 |
var[0].type = nsXPTType::T_FLOAT; |
643 |
var[0].type = nsXPTType::T_FLOAT; |
Lines 649-654
Link Here
|
649 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 = %ff\n", |
728 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 = %ff\n", |
650 |
(double) var[20].val.f); |
729 |
(double) var[20].val.f); |
651 |
|
730 |
|
|
|
731 |
var[0].val.i64 = 1; |
732 |
var[0].type = nsXPTType::T_I64; |
733 |
var[0].flags = 0; |
734 |
|
735 |
var[1].val.i32 = 2; |
736 |
var[1].type = nsXPTType::T_I32; |
737 |
var[1].flags = 0; |
738 |
|
739 |
var[2].val.i64 = 3; |
740 |
var[2].type = nsXPTType::T_I64; |
741 |
var[2].flags = 0; |
742 |
|
743 |
var[3].val.i32 = 4; |
744 |
var[3].type = nsXPTType::T_I32; |
745 |
var[3].flags = 0; |
746 |
|
747 |
var[4].val.i32 = 5; |
748 |
var[4].type = nsXPTType::T_I32; |
749 |
var[4].flags = 0; |
750 |
|
751 |
var[5].val.i64 = 6; |
752 |
var[5].type = nsXPTType::T_I64; |
753 |
var[5].flags = 0; |
754 |
|
755 |
var[6].val.i32 = 7; |
756 |
var[6].type = nsXPTType::T_I32; |
757 |
var[6].flags = 0; |
758 |
|
759 |
var[7].val.i32 = 8; |
760 |
var[7].type = nsXPTType::T_I32; |
761 |
var[7].flags = 0; |
762 |
|
763 |
var[8].val.i64 = 9; |
764 |
var[8].type = nsXPTType::T_I64; |
765 |
var[8].flags = 0; |
766 |
|
767 |
var[9].val.i32 = 10; |
768 |
var[9].type = nsXPTType::T_I32; |
769 |
var[9].flags = 0; |
770 |
|
771 |
var[10].val.i64 = 0; |
772 |
var[10].type = nsXPTType::T_I64; |
773 |
var[10].flags = nsXPTCVariant::PTR_IS_DATA; |
774 |
var[10].ptr = &var[10].val.i64; |
775 |
|
776 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 12, 11, var))) |
777 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %d\n", |
778 |
(int)var[10].val.i64); |
779 |
else |
780 |
printf("\tFAILED"); |
781 |
|
782 |
var[0].val.i32 = 1; |
783 |
var[0].type = nsXPTType::T_I32; |
784 |
var[0].flags = 0; |
785 |
|
786 |
var[1].val.i64 = 2; |
787 |
var[1].type = nsXPTType::T_I64; |
788 |
var[1].flags = 0; |
789 |
|
790 |
var[2].val.i32 = 3; |
791 |
var[2].type = nsXPTType::T_I32; |
792 |
var[2].flags = 0; |
793 |
|
794 |
var[3].val.i64 = 4; |
795 |
var[3].type = nsXPTType::T_I64; |
796 |
var[3].flags = 0; |
797 |
|
798 |
var[4].val.i64 = 5; |
799 |
var[4].type = nsXPTType::T_I64; |
800 |
var[4].flags = 0; |
801 |
|
802 |
var[5].val.i32 = 6; |
803 |
var[5].type = nsXPTType::T_I32; |
804 |
var[5].flags = 0; |
805 |
|
806 |
var[6].val.i64 = 7; |
807 |
var[6].type = nsXPTType::T_I64; |
808 |
var[6].flags = 0; |
809 |
|
810 |
var[7].val.i64 = 8; |
811 |
var[7].type = nsXPTType::T_I64; |
812 |
var[7].flags = 0; |
813 |
|
814 |
var[8].val.i32 = 9; |
815 |
var[8].type = nsXPTType::T_I32; |
816 |
var[8].flags = 0; |
817 |
|
818 |
var[9].val.i64 = 10; |
819 |
var[9].type = nsXPTType::T_I64; |
820 |
var[9].flags = 0; |
821 |
|
822 |
var[10].val.i64 = 0; |
823 |
var[10].type = nsXPTType::T_I64; |
824 |
var[10].flags = nsXPTCVariant::PTR_IS_DATA; |
825 |
var[10].ptr = &var[10].val.i64; |
826 |
|
827 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 13, 11, var))) |
828 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %d\n", |
829 |
(int)var[10].val.i64); |
830 |
else |
831 |
printf("\tFAILED"); |
832 |
|
833 |
var[0].val.f = 1.0f; |
834 |
var[0].type = nsXPTType::T_FLOAT; |
835 |
var[0].flags = 0; |
836 |
|
837 |
var[1].val.f = 2.0f; |
838 |
var[1].type = nsXPTType::T_FLOAT; |
839 |
var[1].flags = 0; |
840 |
|
841 |
var[2].val.d = 3.0; |
842 |
var[2].type = nsXPTType::T_DOUBLE; |
843 |
var[2].flags = 0; |
844 |
|
845 |
var[3].val.d = 4.0; |
846 |
var[3].type = nsXPTType::T_DOUBLE; |
847 |
var[3].flags = 0; |
848 |
|
849 |
var[4].val.f = 5.0f; |
850 |
var[4].type = nsXPTType::T_FLOAT; |
851 |
var[4].flags = 0; |
852 |
|
853 |
var[5].val.f = 6.0f; |
854 |
var[5].type = nsXPTType::T_FLOAT; |
855 |
var[5].flags = 0; |
856 |
|
857 |
var[6].val.d = 7.0; |
858 |
var[6].type = nsXPTType::T_DOUBLE; |
859 |
var[6].flags = 0; |
860 |
|
861 |
var[7].val.d = 8.0; |
862 |
var[7].type = nsXPTType::T_DOUBLE; |
863 |
var[7].flags = 0; |
864 |
|
865 |
var[8].val.f = 9.0f; |
866 |
var[8].type = nsXPTType::T_FLOAT; |
867 |
var[8].flags = 0; |
868 |
|
869 |
var[9].val.d = 10.0; |
870 |
var[9].type = nsXPTType::T_DOUBLE; |
871 |
var[9].flags = 0; |
872 |
|
873 |
var[10].val.f = 11.0f; |
874 |
var[10].type = nsXPTType::T_FLOAT; |
875 |
var[10].flags = 0; |
876 |
|
877 |
var[11].val.d = 0.0; |
878 |
var[11].type = nsXPTType::T_DOUBLE; |
879 |
var[11].flags = nsXPTCVariant::PTR_IS_DATA; |
880 |
var[11].ptr = &var[11].val.d; |
881 |
|
882 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 14, 12, var))) |
883 |
printf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 = %f\n", |
884 |
var[11].val.d); |
885 |
else |
886 |
printf("\tFAILED"); |
887 |
|
652 |
var[0].val.p = (void*)"moo"; |
888 |
var[0].val.p = (void*)"moo"; |
653 |
var[0].type = nsXPTType::T_CHAR_STR; |
889 |
var[0].type = nsXPTType::T_CHAR_STR; |
654 |
var[0].flags = 0; |
890 |
var[0].flags = 0; |
Lines 662-673
Link Here
|
662 |
var[2].flags = nsXPTCVariant::PTR_IS_DATA; |
898 |
var[2].flags = nsXPTCVariant::PTR_IS_DATA; |
663 |
var[2].ptr = &var[2].val.p; |
899 |
var[2].ptr = &var[2].val.p; |
664 |
|
900 |
|
665 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 12, 3, var))) |
901 |
if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 15, 3, var))) |
666 |
printf(" = %s\n", var[2].val.p); |
902 |
printf(" = %s\n", var[2].val.p); |
667 |
else |
903 |
else |
668 |
printf("\tFAILED"); |
904 |
printf("\tFAILED"); |
669 |
|
905 |
|
670 |
|
|
|
671 |
DoMultipleInheritenceTest(); |
906 |
DoMultipleInheritenceTest(); |
672 |
DoMultipleInheritenceTest2(); |
907 |
DoMultipleInheritenceTest2(); |
673 |
// Disabled by default - takes too much time on slow machines |
908 |
// Disabled by default - takes too much time on slow machines |