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

TEST: 0802T22-X

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: ERROR
Execution: NOT RUN
(56, 2) Indexer T2 is read only
(56, 2) Illegal type of the left part of the assignment statement
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 22:22
Compilation: ERROR
Execution: NOT RUN
(56, 2) Indexer T2 is read only
(56, 2) Illegal type of the left part of the assignment statement
(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  
 (**   
  * 8. Procedure declaration and formal parameters  
  * 8.2 Properties  
  *  
  * Negative test: assignment to read only  
  *)  
   
 module ContainerTest;  
   
 type {public}   
   
 A = object  
   
 end A;  
   
 T = object implements []  
   
 procedure {public} Set(i,j: integer; v:A) implements [].Set;  
 begin   
      writeln("Set called");  
 end Set;  
   
 procedure {public} Get(i,j: integer):A implements [].Get;  
 begin   
      writeln("Get called, but shouldn't be");  
 end Get;  
   
 end T;  
   
 T2 = object implements []  
   
 procedure {public} Get(i,j: integer):A implements [].Get;  
 begin   
      writeln("Get called and it's the only way");  
 end Get;  
   
 end T2;  
   
 operator {public} ":=" (var l:A; r:A);  
 begin  
      writeln("Assignment is called");  
 end ":=";  
   
 end ContainerTest.  
   
 module Main;  
   
 import ContainerTest as CT;  
   
 var cn:CT.T; cn2:CT.T2; a:CT.A;  
   
 begin  
      writeln("=====");  
      cn[0,1] := a;  
      writeln("=====");  
      cn2[0,1] := a;  
      readln  
 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