Home
   News
   About the project
   Language
   Compiler download
   Test suite
   Blog on the programming model
   Zonnon @ OCP Forum
   Collection of examples

TEST: 060304T01-T

category

status

Compilation and execution results for Windows (first) and Mono (second)
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 18:06
Compilation: SUCCESS
Execution: SUCCESS
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 22:22
Compilation: SUCCESS
Execution: SUCCESS
(0, 0) Assembly reference not resolved: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.

code

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
 (**   
  * 6. Expression.  
  * 6.3. User Defined Operators and Operator Declaration.  
  * 6.3.4.   
  *  
  * Positive test: overloaded operator and indexer all together  
  *)  
   
   
 module Main;  
   
 definition De;  
      procedure Hi;   
 end De;  
 var globalOK: integer;  
 type {value} OA = object  
 var {public} val:integer;  
 begin  
  writeln("this should be called");  
  globalOK :=597;  
 end OA;  
   
 type {value} OB = object implements De, []  
     var o: OA;  
      procedure {public} Hi implements De.Hi;  
      begin  
           writeln("Hello");  
      end Hi;  
        
      procedure {public} Get(i: integer):OA implements [].Get;  
      begin  
           return o;  
      end Get;  
        
      procedure {public} Set(i:integer; val: OA) implements [].Set;  
      begin  
          writeln("set is called");  
          o:= val;  
           writeln("Set", i, o.val);  
      end Set;  
        
 end OB;  
   
 var a: OB;  
     o: object{De};  
     oa: OA;  
   
 operator "+"(a,b: OA):OA;  
 begin  
      writeln("plus is called");  
      return a;  
 end "+";  
   
 operator ":="(var a:OA; b: OA);  
 begin  
      writeln("OA assignment is called");  
      a.val := b.val+2;  
 end ":=";  
 operator ":="(var a:OA; b: integer);  
 begin  
      writeln("integer assignment is called");  
      a.val := b;  
 end ":=";  
   
 begin  
     a[2] := 5;  
     writeln("-------");  
      oa := a[1] + oa;  
      writeln("-------");  
      writeln("C: ", oa.val);  
      if (oa.val=9)&(globalOK=597) then halt(1) else halt(0) end  
 end Main. 

information

  • PASSED - overall positive decision about the test
  • NOT PASSED - overall negative decision about the test
  • SUCCESS - compilation / execution successful
  • ERROR - compilation failed with normal syntax or semantic error
  • ABORT - compilation failed because of an internal compiler error
  • NOT RUN - the test was not / not supposed to be executed
  • FAIL - execution failed
Copyright © 2010 ETH Zurich, Switzerland