<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed><type>rich</type><version>1.0</version><provider_name>phorkie</provider_name><provider_url>https://p.cweiske.de/</provider_url><title>TYPO3 v8: Support POINT SQL data type fields</title><author_name>Christian Weiske</author_name><cache_age>86400</cache_age><width>900</width><height>900</height><html>&lt;!-- embedding all files of https://p.cweiske.de/709 --&gt;
&lt;link rel="stylesheet" href="https://p.cweiske.de/css/embed.css"/&gt;
&lt;div class="phork" id="709"&gt;
    &lt;div class="phork-file"&gt;
 &lt;div class="phork-content"&gt;
  
&lt;div class="document"&gt;


&lt;p&gt;See &lt;a class="reference external" href="https://forge.typo3.org/issues/79990"&gt;https://forge.typo3.org/issues/79990&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;

 &lt;/div&gt;
 &lt;div class="phork-meta"&gt;
  &lt;a href="https://p.cweiske.de/709/rev-raw/68fd7ced9562310fc8a1d09ef6761cc08ae5d50e/README.rst" style="float: right"&gt;view raw source&lt;/a&gt;
  &lt;a href="https://p.cweiske.de/709#README.rst"&gt;README.rst&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
    &lt;div class="phork-file"&gt;
 &lt;div class="phork-content"&gt;
  &lt;style type="text/css"&gt;/**
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2014 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 */
.diff .de1, .diff .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.diff  {font-family:monospace;}
.diff .imp {font-weight: bold; color: red;}
.diff li, .diff .li1 {color: #DDD;}
.diff .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.diff .kw1 {color: #aaaaaa; font-style: italic;}
.diff .re0 {color: #440088;}
.diff .re1 {color: #991111;}
.diff .re2 {color: #00b000;}
.diff .re3 {color: #888822;}
.diff .re4 {color: #888822;}
.diff .re5 {color: #0011dd;}
.diff .re6 {color: #440088;}
.diff .re7 {color: #991111;}
.diff .re8 {color: #00b000;}
.diff .re9 {color: #888822;}
.diff span.xtra { display:block; }
&lt;/style&gt;&lt;div class="code"&gt;&lt;table class="diff"&gt;&lt;tbody&gt;&lt;tr class="li1"&gt;&lt;td class="ln"&gt;&lt;pre class="de1"&gt;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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
&lt;/pre&gt;&lt;/td&gt;&lt;td class="de1"&gt;&lt;pre class="de1"&gt;commit ae0ca&lt;span class="re0"&gt;945d1&lt;/span&gt;ad39f5b2ca1efa804de964129f025e
Author: Christian Weiske &amp;lt;weiske@mogic.com&amp;gt;
Date: &amp;#160; Fri Jan &lt;span class="nu0"&gt;22&lt;/span&gt; &lt;span class="nu0"&gt;10&lt;/span&gt;:&lt;span class="nu0"&gt;57&lt;/span&gt;:&lt;span class="nu0"&gt;21&lt;/span&gt; &lt;span class="nu0"&gt;2021&lt;/span&gt; +0100
&amp;#160;
&amp;#160; &amp;#160; Support POINT SQL data type in TYPO3 core v8.7
&amp;#160;
diff --git typo3/sysext/core/Classes/Database/ConnectionPool.php typo3/sysext/core/Classes/Database/ConnectionPool.php
index 8f81e615..1b038cb9 &lt;span class="nu0"&gt;100644&lt;/span&gt;
&lt;span class="re3"&gt;--- typo3/sysext/core/Classes/Database/ConnectionPool.php&lt;/span&gt;
&lt;span class="re4"&gt;+++ typo3/sysext/core/Classes/Database/ConnectionPool.php&lt;/span&gt;
&lt;span class="re6"&gt;@@ -24,6 +24,7 @@&lt;/span&gt;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\EventListener\SchemaIndexDefinitionListener;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\Types\EnumType;
&lt;span class="re8"&gt;+use TYPO3\CMS\Core\Database\Schema\Types\PointType;&lt;/span&gt;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\Types\SetType;
&amp;#160;use TYPO3\CMS\Core\Utility\GeneralUtility;
&amp;#160;
&lt;span class="re6"&gt;@@ -54,6 +55,7 @@ class ConnectionPool&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; */
&amp;#160; &amp;#160; &amp;#160;protected $customDoctrineTypes = &lt;span class="br0"&gt;&amp;#91;&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;EnumType::TYPE =&amp;gt; EnumType::class,
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160;PointType::TYPE =&amp;gt; PointType::class,&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;SetType::TYPE =&amp;gt; SetType::class,
&amp;#160; &amp;#160; &amp;#160;&lt;span class="br0"&gt;&amp;#93;&lt;/span&gt;;
&amp;#160;
diff --git typo3/sysext/core/Classes/Database/Schema/Parser/AST/DataType/PointDataType.php typo3/sysext/core/Classes/Database/Schema/Parser/AST/DataType/PointDataType.php
new file mode &lt;span class="nu0"&gt;100644&lt;/span&gt;
index 00000000..0222357e
&lt;span class="re3"&gt;--- /dev/null&lt;/span&gt;
&lt;span class="re4"&gt;+++ typo3/sysext/core/Classes/Database/Schema/Parser/AST/DataType/PointDataType.php&lt;/span&gt;
&lt;span class="re6"&gt;@@ -0,0 +1,32 @@&lt;/span&gt;
&lt;span class="re8"&gt;+&amp;lt;?php&lt;/span&gt;
&lt;span class="re8"&gt;+declare&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;strict_types = &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+namespace TYPO3\CMS\Core\Database\Schema\Parser\AST\DataType;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+/*&lt;/span&gt;
&lt;span class="re8"&gt;+ * This file is part of the TYPO3 CMS project.&lt;/span&gt;
&lt;span class="re8"&gt;+ *&lt;/span&gt;
&lt;span class="re8"&gt;+ * It is free software; you can redistribute it and/or modify it under&lt;/span&gt;
&lt;span class="re8"&gt;+ * the terms of the GNU General Public License, either version 2&lt;/span&gt;
&lt;span class="re8"&gt;+ * of the License, or any later version.&lt;/span&gt;
&lt;span class="re8"&gt;+ *&lt;/span&gt;
&lt;span class="re8"&gt;+ * For the full copyright and license information, please read the&lt;/span&gt;
&lt;span class="re8"&gt;+ * LICENSE.txt file that was distributed with this source code.&lt;/span&gt;
&lt;span class="re8"&gt;+ *&lt;/span&gt;
&lt;span class="re8"&gt;+ * The TYPO3 project - inspiring people to share!&lt;/span&gt;
&lt;span class="re8"&gt;+ */&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+/**&lt;/span&gt;
&lt;span class="re8"&gt;+ * Node representing the POINT SQL column type&lt;/span&gt;
&lt;span class="re8"&gt;+ */&lt;/span&gt;
&lt;span class="re8"&gt;+class PointDataType extends AbstractDataType&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;/**&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; * BlobDataType constructor.&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; */&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;public function __construct&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160;// MySQL BLOB can store 64KB&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160;$this-&amp;gt;length = &lt;span class="nu0"&gt;65535&lt;/span&gt;;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
diff --git typo3/sysext/core/Classes/Database/Schema/Parser/Lexer.php typo3/sysext/core/Classes/Database/Schema/Parser/Lexer.php
index 2222583f..&lt;span class="re0"&gt;5d106&lt;/span&gt;b6d &lt;span class="nu0"&gt;100644&lt;/span&gt;
&lt;span class="re3"&gt;--- typo3/sysext/core/Classes/Database/Schema/Parser/Lexer.php&lt;/span&gt;
&lt;span class="re4"&gt;+++ typo3/sysext/core/Classes/Database/Schema/Parser/Lexer.php&lt;/span&gt;
&lt;span class="re6"&gt;@@ -78,6 +78,8 @@ class Lexer extends \Doctrine\Common\Lexer\AbstractLexer&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160;const T_SET = &lt;span class="nu0"&gt;231&lt;/span&gt;;
&amp;#160; &amp;#160; &amp;#160;const T_JSON = &lt;span class="nu0"&gt;232&lt;/span&gt;;
&amp;#160;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;const T_POINT = &lt;span class="nu0"&gt;240&lt;/span&gt;;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160;// All keyword tokens should be &amp;gt;= &lt;span class="nu0"&gt;300&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160;const T_CREATE = &lt;span class="nu0"&gt;300&lt;/span&gt;;
&amp;#160; &amp;#160; &amp;#160;const T_TEMPORARY = &lt;span class="nu0"&gt;301&lt;/span&gt;;
diff --git typo3/sysext/core/Classes/Database/Schema/Parser/Parser.php typo3/sysext/core/Classes/Database/Schema/Parser/Parser.php
index 3986fa23..a83714fd &lt;span class="nu0"&gt;100644&lt;/span&gt;
&lt;span class="re3"&gt;--- typo3/sysext/core/Classes/Database/Schema/Parser/Parser.php&lt;/span&gt;
&lt;span class="re4"&gt;+++ typo3/sysext/core/Classes/Database/Schema/Parser/Parser.php&lt;/span&gt;
&lt;span class="re6"&gt;@@ -970,6 +970,10 @@ protected function columnDataType&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;: AST\DataType\AbstractDataType&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;$this-&amp;gt;match&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;Lexer::T_JSON&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;$dataType = new AST\DataType\JsonDataType&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;break;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;case Lexer::T_POINT:&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;$this-&amp;gt;match&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;Lexer::T_POINT&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;$dataType = new AST\DataType\PointDataType&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;break;&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;default:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;$this-&amp;gt;syntaxError&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;'BIT, TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT, REAL, DOUBLE, FLOAT, DECIMAL, NUMERIC, ' .
diff --git typo3/sysext/core/Classes/Database/Schema/Parser/TableBuilder.php typo3/sysext/core/Classes/Database/Schema/Parser/TableBuilder.php
index 3ce00198..a04f360b &lt;span class="nu0"&gt;100644&lt;/span&gt;
&lt;span class="re3"&gt;--- typo3/sysext/core/Classes/Database/Schema/Parser/TableBuilder.php&lt;/span&gt;
&lt;span class="re4"&gt;+++ typo3/sysext/core/Classes/Database/Schema/Parser/TableBuilder.php&lt;/span&gt;
&lt;span class="re6"&gt;@@ -31,6 +31,7 @@&lt;/span&gt;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\Parser\AST\IndexColumnName;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\Parser\AST\ReferenceDefinition;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\Types\EnumType;
&lt;span class="re8"&gt;+use TYPO3\CMS\Core\Database\Schema\Types\PointType;&lt;/span&gt;
&amp;#160;use TYPO3\CMS\Core\Database\Schema\Types\SetType;
&amp;#160;use TYPO3\CMS\Core\Utility\GeneralUtility;
&amp;#160;
&lt;span class="re6"&gt;@@ -372,6 +373,9 @@ protected function getDoctrineColumnTypeName&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;DataType\AbstractDataType $dataType&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;// Using a SMALLINT covers the value range and ensures database compatibility.
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;$doctrineType = SetType::SMALLINT;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;break;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;case DataType\PointDataType::class:&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;$doctrineType = PointType::TYPE;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;break;&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;default:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;throw new \RuntimeException&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;'Unsupported data type: ' . get_class&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;$dataType&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; . '!',
diff --git typo3/sysext/core/Classes/Database/Schema/Types/PointType.php typo3/sysext/core/Classes/Database/Schema/Types/PointType.php
new file mode &lt;span class="nu0"&gt;100644&lt;/span&gt;
index 00000000..540f6bc2
&lt;span class="re3"&gt;--- /dev/null&lt;/span&gt;
&lt;span class="re4"&gt;+++ typo3/sysext/core/Classes/Database/Schema/Types/PointType.php&lt;/span&gt;
&lt;span class="re6"&gt;@@ -0,0 +1,50 @@&lt;/span&gt;
&lt;span class="re8"&gt;+&amp;lt;?php&lt;/span&gt;
&lt;span class="re8"&gt;+declare&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;strict_types = &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class="re8"&gt;+namespace TYPO3\CMS\Core\Database\Schema\Types;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+/*&lt;/span&gt;
&lt;span class="re8"&gt;+ * This file is part of the TYPO3 CMS project.&lt;/span&gt;
&lt;span class="re8"&gt;+ *&lt;/span&gt;
&lt;span class="re8"&gt;+ * It is free software; you can redistribute it and/or modify it under&lt;/span&gt;
&lt;span class="re8"&gt;+ * the terms of the GNU General Public License, either version 2&lt;/span&gt;
&lt;span class="re8"&gt;+ * of the License, or any later version.&lt;/span&gt;
&lt;span class="re8"&gt;+ *&lt;/span&gt;
&lt;span class="re8"&gt;+ * For the full copyright and license information, please read the&lt;/span&gt;
&lt;span class="re8"&gt;+ * LICENSE.txt file that was distributed with this source code.&lt;/span&gt;
&lt;span class="re8"&gt;+ *&lt;/span&gt;
&lt;span class="re8"&gt;+ * The TYPO3 project - inspiring people to share!&lt;/span&gt;
&lt;span class="re8"&gt;+ */&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+use Doctrine\DBAL\Platforms\AbstractPlatform;&lt;/span&gt;
&lt;span class="re8"&gt;+use Doctrine\DBAL\Types\Type;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+/**&lt;/span&gt;
&lt;span class="re8"&gt;+ * Type that maps an TYPE field.&lt;/span&gt;
&lt;span class="re8"&gt;+ */&lt;/span&gt;
&lt;span class="re8"&gt;+class PointType extends Type&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;const TYPE = 'point';&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;/**&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; * Gets the SQL declaration snippet for a field of this type.&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; *&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; * @param array $fieldDeclaration The field declaration.&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The currently used database platform.&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; *&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; * @return string&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; */&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;public function getSQLDeclaration&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;array $fieldDeclaration, AbstractPlatform $platform&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;: string&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160;return 'POINT';&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;/**&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; * Gets the name of this type.&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; *&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; * @return string&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; */&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;public function getName&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;: string&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160; &amp;#160; &amp;#160;return static::TYPE;&lt;/span&gt;
&lt;span class="re8"&gt;+ &amp;#160; &amp;#160;&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&lt;span class="re8"&gt;+&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&amp;#160;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="phork-meta"&gt;
  &lt;a href="https://p.cweiske.de/709/rev-raw/68fd7ced9562310fc8a1d09ef6761cc08ae5d50e/typo3-point.diff" style="float: right"&gt;view raw source&lt;/a&gt;
  &lt;a href="https://p.cweiske.de/709#typo3-point.diff"&gt;typo3-point.diff&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</html></oembed>
