File: default.expect.txt

package info (click to toggle)
highlight.js 10.7.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,332 kB
  • sloc: javascript: 41,059; makefile: 157; python: 29; sh: 20
file content (56 lines) | stat: -rw-r--r-- 3,581 bytes parent folder | download
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
<span class="hljs-keyword">namespace</span> LinkedList;

<span class="hljs-keyword">interface</span>

<span class="hljs-keyword">uses</span>
  System.Text;

<span class="hljs-keyword">type</span>
  List&lt;T&gt; = <span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span>
    <span class="hljs-keyword">where</span> T <span class="hljs-keyword">is</span> Object;
  <span class="hljs-keyword">private</span>
    <span class="hljs-function"><span class="hljs-keyword">method</span> <span class="hljs-title">AppendToString</span><span class="hljs-params">(aBuilder: StringBuilder)</span>;</span>
  <span class="hljs-keyword">public</span>
    <span class="hljs-function"><span class="hljs-keyword">constructor</span><span class="hljs-params">(aData: T)</span>;</span>
    <span class="hljs-function"><span class="hljs-keyword">constructor</span><span class="hljs-params">(aData: T; aNext: List&lt;T&gt;)</span>;</span>
    <span class="hljs-keyword">property</span> Next: List&lt;T&gt;;
    <span class="hljs-keyword">property</span> Data: T;

    <span class="hljs-function"><span class="hljs-keyword">method</span> <span class="hljs-title">ToString</span>:</span> string; <span class="hljs-keyword">override</span>;
  <span class="hljs-keyword">end</span>;

<span class="hljs-keyword">implementation</span>

<span class="hljs-function"><span class="hljs-keyword">constructor</span> <span class="hljs-title">List</span>&lt;<span class="hljs-title">T</span>&gt;<span class="hljs-params">(aData: T)</span>;</span>
<span class="hljs-keyword">begin</span>
  Data := aData;
<span class="hljs-keyword">end</span>;

<span class="hljs-function"><span class="hljs-keyword">constructor</span> <span class="hljs-title">List</span>&lt;<span class="hljs-title">T</span>&gt;<span class="hljs-params">(aData: T; aNext: List&lt;T&gt;)</span>;</span>
<span class="hljs-keyword">begin</span>
  <span class="hljs-function"><span class="hljs-keyword">constructor</span><span class="hljs-params">(aData)</span>;</span>
  Next := aNext;
<span class="hljs-keyword">end</span>;

<span class="hljs-function"><span class="hljs-keyword">method</span> <span class="hljs-title">List</span>&lt;<span class="hljs-title">T</span>&gt;.<span class="hljs-title">ToString</span>:</span> string;
<span class="hljs-keyword">begin</span>
  <span class="hljs-keyword">with</span> lBuilder := <span class="hljs-keyword">new</span> StringBuilder <span class="hljs-keyword">do</span> <span class="hljs-keyword">begin</span>
    AppendToString(lBuilder);
    <span class="hljs-keyword">result</span> := lBuilder.ToString();
  <span class="hljs-keyword">end</span>;
<span class="hljs-keyword">end</span>;

<span class="hljs-function"><span class="hljs-keyword">method</span> <span class="hljs-title">List</span>&lt;<span class="hljs-title">T</span>&gt;.<span class="hljs-title">AppendToString</span><span class="hljs-params">(aBuilder: StringBuilder)</span>;</span>
<span class="hljs-keyword">begin</span>
  <span class="hljs-keyword">if</span> assigned(Data) <span class="hljs-keyword">then</span>
    aBuilder.Append(Data.ToString)
  <span class="hljs-keyword">else</span>
    aBuilder.Append(<span class="hljs-string">&#x27;nil&#x27;</span>);

  <span class="hljs-keyword">if</span> assigned(Next) <span class="hljs-keyword">then</span> <span class="hljs-keyword">begin</span>
    aBuilder.Append(<span class="hljs-string">&#x27;, &#x27;</span>);
    Next.AppendToString(aBuilder);
  <span class="hljs-keyword">end</span>;
<span class="hljs-keyword">end</span>;

<span class="hljs-keyword">end</span>.