move PHP and System table enums to the Symbol ns
authorMichael Wallner <mike@php.net>
Tue, 25 Jan 2022 12:00:12 +0000 (13:00 +0100)
committerMichael Wallner <mike@php.net>
Tue, 25 Jan 2022 12:00:12 +0000 (13:00 +0100)
31 files changed:
.gitignore
README.md
docs/v0.0/index.html
docs/v0.0/ion.html
docs/v0.0/ion.stub.php
docs/v0.0/ion/Symbol.html
docs/v0.0/ion/Symbol/Enum.html
docs/v0.0/ion/Symbol/ImportLocation.html
docs/v0.0/ion/Symbol/PHP.html [new file with mode: 0644]
docs/v0.0/ion/Symbol/PHP/asTable.html [new file with mode: 0644]
docs/v0.0/ion/Symbol/System.html [new file with mode: 0644]
docs/v0.0/ion/Symbol/System/asTable.html [new file with mode: 0644]
docs/v0.0/ion/Symbol/Table.html
docs/v0.0/ion/Symbol/Table/Local.html
docs/v0.0/ion/Symbol/Table/PHP.html [deleted file]
docs/v0.0/ion/Symbol/Table/Shared.html
docs/v0.0/ion/Symbol/Table/System.html [deleted file]
docs/v0.0/ion/Symbol/Table/add.html
docs/v0.0/ion/Symbol/Table/find.html
docs/v0.0/ion/Symbol/Table/findLocal.html
docs/v0.0/ion/Symbol/Table/getMaxId.html
docs/v0.0/ion/Symbol/__construct.html
docs/v0.0/ion/Symbol/equals.html
docs/v0.0/ion/Symbol/toString.html
ion.c
ion.stub.php
ion_arginfo.h
tests/Catalog.phpt
tests/Symbol/Enum.phpt
tests/Symbol/Table.phpt
tests/Writer.phpt

index 03be6a7b5f9ceefe7118235a37e705576f5f4ee3..a4e2e2b99eaecb2e6376256d43334e03226e54b3 100644 (file)
@@ -49,3 +49,4 @@ tmp-php.ini
 docs/vendor
 docs/src
 docs/composer.*
+*.tgz
index 66e6d4ed55c598640aefc9c035c6c2da62010e21..905b958f9835b0e8daeaa36b094213e2825bad17 100644 (file)
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ sudo make install # INSTALL=install
 ### Try with Docker:
 ```shell
 docker build -t php-ion
-docker run --rm php-ion -r 'echo ion\serialize(ion\Symbol\Table\PHP());'
+docker run --rm php-ion -r 'echo ion\serialize(ion\Symbol\PHP::asTable());'
 ```
 
 ## Editor Stub:
index 424b29ecc4db8ff0cd101b2cb75695b957b4499e..1f893ff6310bcdef3c9f3c874f1ee1ec5e475152 100644 (file)
@@ -52,7 +52,7 @@ See the <a href="https://amzn.github.io/ion-docs/">Amazon ION specification</a>.
                                                                                                                <a href="ion.stub.php">ion.stub.php</a><br>
                                                                                                                <small>
                                                                Last modified:
-                                                               2022-01-20 17:13:57 UTC                                                 </small>
+                                                               2022-01-25 11:49:44 UTC                                                 </small>
                                                </li>
                                        </ul>
                                </div>
index 810dedcde4baa32f9a14bc0d3dcc8084626f29be..d8059b47b34419e758547b165d3ec6e2b4d9be6f 100644 (file)
                                                                                <li>&rdsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a>
                                                                                </li>
                                                                                                                                        
+                                                                               <li>&rdsh; <a href="./ion/Symbol/PHP">PHP</a>
+                                                                               </li>
+                                                                                                                                       
+                                                                               <li>&rdsh; <a href="./ion/Symbol/System">System</a>
+                                                                               </li>
+                                                                                                                                       
                                                                                <li>&rdsh; <a href="./ion/Symbol/Table">Table</a>       
                                                                                <ul>
                                                                                                
                                                                                        <li>&rdsh; <a href="./ion/Symbol/Table/Local">Local</a>
                                                                                        </li>
                                                                                                                                        
-                                                                                       <li>&rdsh; <a href="./ion/Symbol/Table/PHP">PHP</a>
-                                                                                       </li>
-                                                                                                                                       
                                                                                        <li>&rdsh; <a href="./ion/Symbol/Table/Shared">Shared</a>
-                                                                                       </li>
-                                                                                                                                       
-                                                                                       <li>&rdsh; <a href="./ion/Symbol/Table/System">System</a>
                                                                                        </li>
                                                                                                                                                                                                                                                                                                                                                                                                
                                                                                </ul>
@@ -315,7 +315,7 @@ instances of the following PHP classes cannot be cloned:</p>
                                                                                                                <a href="ion.stub.php">ion.stub.php</a><br>
                                                                                                                <small>
                                                                Last modified:
-                                                               2022-01-20 17:13:57 UTC                                                 </small>
+                                                               2022-01-25 11:49:44 UTC                                                 </small>
                                                </li>
                                        </ul>
                                </div>
index 15b60d306cb820dafa3119412dfc421245e3376a..5e389b41586229b306a69e28e8a5d05db3a3a896 100644 (file)
@@ -447,24 +447,6 @@ interface Table {
     public function findLocal(string|int $id) : ?\ion\Symbol;
 }
 
-namespace ion\Symbol\Table;
-
-/**
- * Get the built-in PHP shared symbol table.
- *
- * @see \ion\Symbol\Table\PHP
- * @return \ion\Symbol\Table The builtin PHP shared symbol table.
- */
-function PHP() : \ion\Symbol\Table {}
-
-/**
- * Get the built-in ION system shared symbol table.
- *
- * @see \ion\Symbol\Table\System
- * @return \ion\Symbol\Table The builtin ION system shared symbol table.
- */
-function System() : \ion\Symbol\Table {}
-
 /**
  * The built-in ION system symbols.
  */
@@ -485,6 +467,13 @@ enum System : string implements \ion\Symbol\Enum {
     public function toSID() : int {}
     /** @alias ion\Symbol\Enum::toString */
     public function toString() : string {}
+
+    /**
+     * Get the built-in ION system shared symbol table.
+     *
+     * @return Table\Shared The system symbol table.
+     */
+    public static function asTable() : Table\Shared {}
 }
 
 /**
@@ -508,8 +497,17 @@ enum PHP : string implements \ion\Symbol\Enum {
     public function toSID() : int {}
     /** @alias ion\Symbol\Enum::toString */
     public function toString() : string {}
+
+    /**
+     * Get the built-in PHP shared symbol table.
+     *
+     * @return Table\Shared The builtin PHP shared symbol table.
+     */
+    public static function asTable() : Table\Shared {}
 }
 
+namespace ion\Symbol\Table;
+
 /**
  * A local symbol table.
  *
index 18bfc3c9ff94ba6bea135f0cc2c62692c7d04cb4..b4166fe6a05b09b6ff05754b5f97d482259c2679 100644 (file)
                                                                        
                                                                </li>
                                                                
+                                                               <li>
+                                                                       &rdsh; <a href="./ion/Symbol/PHP">PHP</a>
+                                                                       
+                                                               </li>
+                                                               
+                                                               <li>
+                                                                       &rdsh; <a href="./ion/Symbol/System">System</a>
+                                                                       
+                                                               </li>
+                                                               
                                                                <li>
                                                                        &rdsh; <a href="./ion/Symbol/Table">Table</a>
                                                                                
                                                                                <li>&rdsh; <a href="./ion/Symbol/Table/Local">Local</a>
                                                                                </li>
                                                                                                                                        
-                                                                               <li>&rdsh; <a href="./ion/Symbol/Table/PHP">PHP</a>
-                                                                               </li>
-                                                                                                                                       
                                                                                <li>&rdsh; <a href="./ion/Symbol/Table/Shared">Shared</a>
-                                                                               </li>
-                                                                                                                                       
-                                                                               <li>&rdsh; <a href="./ion/Symbol/Table/System">System</a>
                                                                                </li>
                                                                                                                                                                                                                                                                                                                                                                                                
                                                                        </ul>
@@ -187,6 +191,20 @@ The import location referencing a shared symbol table.</li>
                <p>class ion\Symbol\ImportLocation</p>
        </li>
        
+       <li>
+               <h3><a href="ion/Symbol/PHP">PHP</a></h3>
+               <p>The built-in PHP symbols.</p>
+
+               <p>enum ion\Symbol\PHP implements BackedEnum, UnitEnum, ion\Symbol\Enum</p>
+       </li>
+       
+       <li>
+               <h3><a href="ion/Symbol/System">System</a></h3>
+               <p>The built-in ION system symbols.</p>
+
+               <p>enum ion\Symbol\System implements BackedEnum, UnitEnum, ion\Symbol\Enum</p>
+       </li>
+       
        <li>
                <h3><a href="ion/Symbol/Table">Table</a></h3>
                <p>Base interface of an ION symbol table.</p>
index df85adb7eb3efd01f7fded6f4d810d13cd337687..151a679c6a5f60bc2fa69d125a0a3d49a3d6e3eb 100644 (file)
                                                                                                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
                                                                                                                                                        
+                                               <li>&ldsh; <a href="./ion/Symbol/PHP">PHP</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/System">System</a></li>
+                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table">Table</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
index b231f789605b1f0597753d2d48aff47461b03afb..bcf89d8d4617557cddfbd7300e14b92d860a12b9 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Enum">Enum</a></li>
                                                                                                                                                                                                                                        
+                                               <li>&ldsh; <a href="./ion/Symbol/PHP">PHP</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/System">System</a></li>
+                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table">Table</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
diff --git a/docs/v0.0/ion/Symbol/PHP.html b/docs/v0.0/ion/Symbol/PHP.html
new file mode 100644 (file)
index 0000000..90c59de
--- /dev/null
@@ -0,0 +1,164 @@
+<!doctype html>
+<html>
+       <head>
+               <meta charset="utf-8">
+               <title>
+                                                       PHP -
+                                               mdref
+               </title>
+               <meta name="viewport" content="width=1200, initial-scale=0.5">
+                                       <base href="/v0.0/">
+                       <meta http-equiv="Content-Location" content="/v0.0/ion/Symbol/PHP">
+                       <link rel="stylesheet" href="index.css">
+               
+               <link href="https://fonts.googleapis.com/css?family=Inconsolata&amp;subset=latin-ext" rel="stylesheet">
+               <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+               <link rel="shortcut icon" href="/v0.0/favicon.ico">
+       </head>
+       <body>
+               <div class="page">
+               
+<div class="sidebar">
+       
+       <div class="edit">
+               <a href="./ion/Symbol/PHP">Edit</a>
+       </div>
+       
+       
+       <ul>
+               <li>&lsh; <a href="./">Home</a>
+                       
+                       <ul>
+                               <li>
+                                                                                       
+                                       &uarr; <a href="./ion">
+                                                       ion
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                                                                       
+                                       &uarr; <a href="./ion/Symbol">
+                                                       Symbol
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                       
+                                                       &circlearrowright; <strong><a href="./ion/Symbol/PHP">PHP</a></strong>
+
+                                                       
+                                                       <ul>
+                                                               
+                                                               <li>
+                                                                       &rdsh; <a href="./ion/Symbol/PHP/asTable">PHP::asTable</a>
+                                                                       
+                                                               </li>
+                                                               
+                                                       </ul>
+                                                       
+                                                                                                                                                                                                                                                               
+                                               </ul>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/Enum">Enum</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+                                                                                                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/System">System</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/Table">Table</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/equals">Symbol::equals</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/toString">Symbol::toString</a></li>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+                                       </ul>
+                                                                                                       
+                               </li>
+                       </ul>
+                       
+               </li>
+       </ul>
+</div>
+                                       
+<h1>enum ion\Symbol\PHP implements BackedEnum, UnitEnum, ion\Symbol\Enum</h1>
+<p>The built-in PHP symbols.</p>
+<h2>Constants:<a id="Constants:" href="#Constants:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<ul>
+<li>
+<span class="constant">PHP</span> = <span>'PHP'</span>
+</li>
+<li>
+<span class="constant">Reference</span> = <span>'R'</span>
+</li>
+<li>
+<span class="constant">Backref</span> = <span>'r'</span>
+</li>
+<li>
+<span class="constant">Property</span> = <span>'p'</span>
+</li>
+<li>
+<span class="constant">Object</span> = <span>'o'</span>
+</li>
+<li>
+<span class="constant">ClassObject</span> = <span>'c'</span>
+</li>
+<li>
+<span class="constant">MagicObject</span> = <span>'O'</span>
+</li>
+<li>
+<span class="constant">CustomObject</span> = <span>'C'</span>
+</li>
+<li>
+<span class="constant">Enum</span> = <span>'E'</span>
+</li>
+<li>
+<span class="constant">Serializable</span> = <span>'S'</span>
+</li>
+</ul>
+<h2>Properties:<a id="Properties:" href="#Properties:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<ul>
+<li>public string $name<br />
+The built-in PHP symbols.</li>
+<li>public string $value<br />
+The built-in PHP symbols.</li>
+</ul>
+
+
+
+<h2 id="Functions:">Functions:</h2>
+<ul>
+       
+       <li>
+               <h3><a href="ion/Symbol/PHP/asTable">PHP::asTable</a></h3>
+               <p>Get the built-in PHP shared symbol table.</p>
+
+               <p>static ion\Symbol\Table\Shared ion\Symbol\PHP::asTable()</p>
+       </li>
+       
+</ul>
+
+               
+                       <div id="disqus_thread"><button id="disqus_activator">Show <span> </span> Comment(s)</button></div>
+                       <script>
+                               var disqus_shortname = 'mdref';
+                               var disqus_identifier = 'ion/Symbol/PHP';
+                       </script>
+
+                       <footer>
+                               
+<ul>
+       <li><a href="https://github.com/m6w6/mdref">mdref-v2.0
+</a></li>
+       <li><a href="LICENSE">&copy; 2013-2022          All rights reserved.</a></li>
+       <li>
+</li>
+</ul>
+
+                       </footer>
+               
+                       <script src="index.js"></script>
+               
+               </div>
+       </body>
+</html>
diff --git a/docs/v0.0/ion/Symbol/PHP/asTable.html b/docs/v0.0/ion/Symbol/PHP/asTable.html
new file mode 100644 (file)
index 0000000..61a324f
--- /dev/null
@@ -0,0 +1,105 @@
+<!doctype html>
+<html>
+       <head>
+               <meta charset="utf-8">
+               <title>
+                                                       PHP::asTable -
+                                               mdref
+               </title>
+               <meta name="viewport" content="width=1200, initial-scale=0.5">
+                                       <base href="/v0.0/">
+                       <meta http-equiv="Content-Location" content="/v0.0/ion/Symbol/PHP/asTable">
+                       <link rel="stylesheet" href="index.css">
+               
+               <link href="https://fonts.googleapis.com/css?family=Inconsolata&amp;subset=latin-ext" rel="stylesheet">
+               <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+               <link rel="shortcut icon" href="/v0.0/favicon.ico">
+       </head>
+       <body>
+               <div class="page">
+               
+<div class="sidebar">
+       
+       <div class="edit">
+               <a href="./ion/Symbol/PHP/asTable">Edit</a>
+       </div>
+       
+       
+       <ul>
+               <li>&lsh; <a href="./">Home</a>
+                       
+                       <ul>
+                               <li>
+                                                                                       
+                                       &uarr; <a href="./ion">
+                                                       ion
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                                                                       
+                                       &uarr; <a href="./ion/Symbol">
+                                                       Symbol
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                                                                       
+                                       &uarr; <a href="./ion/Symbol/PHP">
+                                                       PHP
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                       
+                                                       &circlearrowright; <strong><a href="./ion/Symbol/PHP/asTable">PHP::asTable</a></strong>
+
+                                                       
+                                                                                                                                                                                                                                                               
+                                               </ul>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+                                       </ul>
+                                                                                                                                                                                                                               
+                                               </li>
+                                                               
+                                       </ul>
+                                                                                                       
+                               </li>
+                       </ul>
+                       
+               </li>
+       </ul>
+</div>
+                                       
+<h1>static ion\Symbol\Table\Shared ion\Symbol\PHP::asTable()</h1>
+<p>Get the built-in PHP shared symbol table.</p>
+<h2>Params:<a id="Params:" href="#Params:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<p>None.</p>
+<h2>Returns:<a id="Returns:" href="#Returns:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<ul>
+<li>\Table\Shared, The builtin PHP shared symbol table.</li>
+</ul>
+
+
+
+               
+                       <div id="disqus_thread"><button id="disqus_activator">Show <span> </span> Comment(s)</button></div>
+                       <script>
+                               var disqus_shortname = 'mdref';
+                               var disqus_identifier = 'ion/Symbol/PHP/asTable';
+                       </script>
+
+                       <footer>
+                               
+<ul>
+       <li><a href="https://github.com/m6w6/mdref">mdref-v2.0
+</a></li>
+       <li><a href="LICENSE">&copy; 2013-2022          All rights reserved.</a></li>
+       <li>
+</li>
+</ul>
+
+                       </footer>
+               
+                       <script src="index.js"></script>
+               
+               </div>
+       </body>
+</html>
diff --git a/docs/v0.0/ion/Symbol/System.html b/docs/v0.0/ion/Symbol/System.html
new file mode 100644 (file)
index 0000000..0adbc79
--- /dev/null
@@ -0,0 +1,161 @@
+<!doctype html>
+<html>
+       <head>
+               <meta charset="utf-8">
+               <title>
+                                                       System -
+                                               mdref
+               </title>
+               <meta name="viewport" content="width=1200, initial-scale=0.5">
+                                       <base href="/v0.0/">
+                       <meta http-equiv="Content-Location" content="/v0.0/ion/Symbol/System">
+                       <link rel="stylesheet" href="index.css">
+               
+               <link href="https://fonts.googleapis.com/css?family=Inconsolata&amp;subset=latin-ext" rel="stylesheet">
+               <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+               <link rel="shortcut icon" href="/v0.0/favicon.ico">
+       </head>
+       <body>
+               <div class="page">
+               
+<div class="sidebar">
+       
+       <div class="edit">
+               <a href="./ion/Symbol/System">Edit</a>
+       </div>
+       
+       
+       <ul>
+               <li>&lsh; <a href="./">Home</a>
+                       
+                       <ul>
+                               <li>
+                                                                                       
+                                       &uarr; <a href="./ion">
+                                                       ion
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                                                                       
+                                       &uarr; <a href="./ion/Symbol">
+                                                       Symbol
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                       
+                                                       &circlearrowright; <strong><a href="./ion/Symbol/System">System</a></strong>
+
+                                                       
+                                                       <ul>
+                                                               
+                                                               <li>
+                                                                       &rdsh; <a href="./ion/Symbol/System/asTable">System::asTable</a>
+                                                                       
+                                                               </li>
+                                                               
+                                                       </ul>
+                                                       
+                                                                                                                                                                                                                                                               
+                                               </ul>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/Enum">Enum</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/PHP">PHP</a></li>
+                                                                                                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/Table">Table</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/equals">Symbol::equals</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/toString">Symbol::toString</a></li>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+                                       </ul>
+                                                                                                       
+                               </li>
+                       </ul>
+                       
+               </li>
+       </ul>
+</div>
+                                       
+<h1>enum ion\Symbol\System implements BackedEnum, UnitEnum, ion\Symbol\Enum</h1>
+<p>The built-in ION system symbols.</p>
+<h2>Constants:<a id="Constants:" href="#Constants:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<ul>
+<li>
+<span class="constant">Ion</span> = <span>'$ion'</span>
+</li>
+<li>
+<span class="constant">Ivm_1_0</span> = <span>'$ion_1_0'</span>
+</li>
+<li>
+<span class="constant">IonSymbolTable</span> = <span>'$ion_symbol_table'</span>
+</li>
+<li>
+<span class="constant">Name</span> = <span>'name'</span>
+</li>
+<li>
+<span class="constant">Version</span> = <span>'version'</span>
+</li>
+<li>
+<span class="constant">Imports</span> = <span>'imports'</span>
+</li>
+<li>
+<span class="constant">Symbols</span> = <span>'symbols'</span>
+</li>
+<li>
+<span class="constant">MaxId</span> = <span>'max_id'</span>
+</li>
+<li>
+<span class="constant">SharedSymbolTable</span> = <span>'$ion_shared_symbol_table'</span>
+</li>
+</ul>
+<h2>Properties:<a id="Properties:" href="#Properties:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<ul>
+<li>public string $name<br />
+The built-in ION system symbols.</li>
+<li>public string $value<br />
+The built-in ION system symbols.</li>
+</ul>
+
+
+
+<h2 id="Functions:">Functions:</h2>
+<ul>
+       
+       <li>
+               <h3><a href="ion/Symbol/System/asTable">System::asTable</a></h3>
+               <p>Get the built-in ION system shared symbol table.</p>
+
+               <p>static ion\Symbol\Table\Shared ion\Symbol\System::asTable()</p>
+       </li>
+       
+</ul>
+
+               
+                       <div id="disqus_thread"><button id="disqus_activator">Show <span> </span> Comment(s)</button></div>
+                       <script>
+                               var disqus_shortname = 'mdref';
+                               var disqus_identifier = 'ion/Symbol/System';
+                       </script>
+
+                       <footer>
+                               
+<ul>
+       <li><a href="https://github.com/m6w6/mdref">mdref-v2.0
+</a></li>
+       <li><a href="LICENSE">&copy; 2013-2022          All rights reserved.</a></li>
+       <li>
+</li>
+</ul>
+
+                       </footer>
+               
+                       <script src="index.js"></script>
+               
+               </div>
+       </body>
+</html>
diff --git a/docs/v0.0/ion/Symbol/System/asTable.html b/docs/v0.0/ion/Symbol/System/asTable.html
new file mode 100644 (file)
index 0000000..bfa2cfd
--- /dev/null
@@ -0,0 +1,105 @@
+<!doctype html>
+<html>
+       <head>
+               <meta charset="utf-8">
+               <title>
+                                                       System::asTable -
+                                               mdref
+               </title>
+               <meta name="viewport" content="width=1200, initial-scale=0.5">
+                                       <base href="/v0.0/">
+                       <meta http-equiv="Content-Location" content="/v0.0/ion/Symbol/System/asTable">
+                       <link rel="stylesheet" href="index.css">
+               
+               <link href="https://fonts.googleapis.com/css?family=Inconsolata&amp;subset=latin-ext" rel="stylesheet">
+               <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+               <link rel="shortcut icon" href="/v0.0/favicon.ico">
+       </head>
+       <body>
+               <div class="page">
+               
+<div class="sidebar">
+       
+       <div class="edit">
+               <a href="./ion/Symbol/System/asTable">Edit</a>
+       </div>
+       
+       
+       <ul>
+               <li>&lsh; <a href="./">Home</a>
+                       
+                       <ul>
+                               <li>
+                                                                                       
+                                       &uarr; <a href="./ion">
+                                                       ion
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                                                                       
+                                       &uarr; <a href="./ion/Symbol">
+                                                       Symbol
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                                                                       
+                                       &uarr; <a href="./ion/Symbol/System">
+                                                       System
+                                               </a>
+                                               <ul>
+                                                       <li>
+                                                                                       
+                                                       &circlearrowright; <strong><a href="./ion/Symbol/System/asTable">System::asTable</a></strong>
+
+                                                       
+                                                                                                                                                                                                                                                               
+                                               </ul>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+                                       </ul>
+                                                                                                                                                                                                                               
+                                               </li>
+                                                               
+                                       </ul>
+                                                                                                       
+                               </li>
+                       </ul>
+                       
+               </li>
+       </ul>
+</div>
+                                       
+<h1>static ion\Symbol\Table\Shared ion\Symbol\System::asTable()</h1>
+<p>Get the built-in ION system shared symbol table.</p>
+<h2>Params:<a id="Params:" href="#Params:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<p>None.</p>
+<h2>Returns:<a id="Returns:" href="#Returns:" class="permalink" aria-hidden="true" title="">#</a></h2>
+<ul>
+<li>\Table\Shared, The system symbol table.</li>
+</ul>
+
+
+
+               
+                       <div id="disqus_thread"><button id="disqus_activator">Show <span> </span> Comment(s)</button></div>
+                       <script>
+                               var disqus_shortname = 'mdref';
+                               var disqus_identifier = 'ion/Symbol/System/asTable';
+                       </script>
+
+                       <footer>
+                               
+<ul>
+       <li><a href="https://github.com/m6w6/mdref">mdref-v2.0
+</a></li>
+       <li><a href="LICENSE">&copy; 2013-2022          All rights reserved.</a></li>
+       <li>
+</li>
+</ul>
+
+                       </footer>
+               
+                       <script src="index.js"></script>
+               
+               </div>
+       </body>
+</html>
index a043f90a61041dedaad41d7c6eeddd587be7e7af..db2c9513f810e9df6b50695109ab20db970fd4c7 100644 (file)
                                                                        
                                                                </li>
                                                                
-                                                               <li>
-                                                                       &rdsh; <a href="./ion/Symbol/Table/PHP">PHP</a>
-                                                                       
-                                                               </li>
-                                                               
                                                                <li>
                                                                        &rdsh; <a href="./ion/Symbol/Table/Shared">Shared</a>
                                                                        
                                                                </li>
                                                                
-                                                               <li>
-                                                                       &rdsh; <a href="./ion/Symbol/Table/System">System</a>
-                                                                       
-                                                               </li>
-                                                               
                                                                <li>
                                                                        &rdsh; <a href="./ion/Symbol/Table/add">Table::add</a>
                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Enum">Enum</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/PHP">PHP</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/System">System</a></li>
                                                                                                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
                                                                                                                                                        
                <p>class ion\Symbol\Table\Local implements ion\Symbol\Table</p>
        </li>
        
-       <li>
-               <h3><a href="ion/Symbol/Table/PHP">PHP</a></h3>
-               <p>The built-in PHP symbols.</p>
-
-               <p>enum ion\Symbol\Table\PHP implements BackedEnum, UnitEnum, ion\Symbol\Enum</p>
-       </li>
-       
        <li>
                <h3><a href="ion/Symbol/Table/Shared">Shared</a></h3>
                <p>A shared symbol table.</p>
                <p>class ion\Symbol\Table\Shared implements ion\Symbol\Table</p>
        </li>
        
-       <li>
-               <h3><a href="ion/Symbol/Table/System">System</a></h3>
-               <p>The built-in ION system symbols.</p>
-
-               <p>enum ion\Symbol\Table\System implements BackedEnum, UnitEnum, ion\Symbol\Enum</p>
-       </li>
-       
 </ul>
                
                        <div id="disqus_thread"><button id="disqus_activator">Show <span> </span> Comment(s)</button></div>
index 50b261ff3ed2b91355b5a641897c76e37a8143a6..56634c66e8b5b8802cbcf823c0290ab7deb41e8e 100644 (file)
                                                                                                                                                                                                                                                                
                                                </ul>
                                                                                                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Shared">Shared</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/System">System</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/add">Table::add</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/find">Table::find</a></li>
diff --git a/docs/v0.0/ion/Symbol/Table/PHP.html b/docs/v0.0/ion/Symbol/Table/PHP.html
deleted file mode 100644 (file)
index 7373e3b..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<!doctype html>
-<html>
-       <head>
-               <meta charset="utf-8">
-               <title>
-                                                       PHP -
-                                               mdref
-               </title>
-               <meta name="viewport" content="width=1200, initial-scale=0.5">
-                                       <base href="/v0.0/">
-                       <meta http-equiv="Content-Location" content="/v0.0/ion/Symbol/Table/PHP">
-                       <link rel="stylesheet" href="index.css">
-               
-               <link href="https://fonts.googleapis.com/css?family=Inconsolata&amp;subset=latin-ext" rel="stylesheet">
-               <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
-               <link rel="shortcut icon" href="/v0.0/favicon.ico">
-       </head>
-       <body>
-               <div class="page">
-               
-<div class="sidebar">
-       
-       <div class="edit">
-               <a href="./ion/Symbol/Table/PHP">Edit</a>
-       </div>
-       
-       
-       <ul>
-               <li>&lsh; <a href="./">Home</a>
-                       
-                       <ul>
-                               <li>
-                                                                                       
-                                       &uarr; <a href="./ion">
-                                                       ion
-                                               </a>
-                                               <ul>
-                                                       <li>
-                                                                                                                                       
-                                       &uarr; <a href="./ion/Symbol">
-                                                       Symbol
-                                               </a>
-                                               <ul>
-                                                       <li>
-                                                                                                                                       
-                                       &uarr; <a href="./ion/Symbol/Table">
-                                                       Table
-                                               </a>
-                                               <ul>
-                                                       <li>
-                                                                                       
-                                                       &circlearrowright; <strong><a href="./ion/Symbol/Table/PHP">PHP</a></strong>
-
-                                                       
-                                                                                                                                                                                                                                                               
-                                               </ul>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/Local">Local</a></li>
-                                                                                                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/Shared">Shared</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/System">System</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/add">Table::add</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/find">Table::find</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/findLocal">Table::findLocal</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/getMaxId">Table::getMaxId</a></li>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-                                       </ul>
-                                                                                                                                                                                                                               
-                                               </li>
-                                                               
-                                       </ul>
-                                                                                                       
-                               </li>
-                       </ul>
-                       
-               </li>
-       </ul>
-</div>
-                                       
-<h1>enum ion\Symbol\Table\PHP implements BackedEnum, UnitEnum, ion\Symbol\Enum</h1>
-<p>The built-in PHP symbols.</p>
-<h2>Constants:<a id="Constants:" href="#Constants:" class="permalink" aria-hidden="true" title="">#</a></h2>
-<ul>
-<li>
-<span class="constant">PHP</span> = <span>'PHP'</span>
-</li>
-<li>
-<span class="constant">Reference</span> = <span>'R'</span>
-</li>
-<li>
-<span class="constant">Backref</span> = <span>'r'</span>
-</li>
-<li>
-<span class="constant">Property</span> = <span>'p'</span>
-</li>
-<li>
-<span class="constant">Object</span> = <span>'o'</span>
-</li>
-<li>
-<span class="constant">ClassObject</span> = <span>'c'</span>
-</li>
-<li>
-<span class="constant">MagicObject</span> = <span>'O'</span>
-</li>
-<li>
-<span class="constant">CustomObject</span> = <span>'C'</span>
-</li>
-<li>
-<span class="constant">Enum</span> = <span>'E'</span>
-</li>
-<li>
-<span class="constant">Serializable</span> = <span>'S'</span>
-</li>
-</ul>
-<h2>Properties:<a id="Properties:" href="#Properties:" class="permalink" aria-hidden="true" title="">#</a></h2>
-<ul>
-<li>public string $name<br />
-The built-in PHP symbols.</li>
-<li>public string $value<br />
-The built-in PHP symbols.</li>
-</ul>
-
-
-
-               
-                       <div id="disqus_thread"><button id="disqus_activator">Show <span> </span> Comment(s)</button></div>
-                       <script>
-                               var disqus_shortname = 'mdref';
-                               var disqus_identifier = 'ion/Symbol/Table/PHP';
-                       </script>
-
-                       <footer>
-                               
-<ul>
-       <li><a href="https://github.com/m6w6/mdref">mdref-v2.0
-</a></li>
-       <li><a href="LICENSE">&copy; 2013-2022          All rights reserved.</a></li>
-       <li>
-</li>
-</ul>
-
-                       </footer>
-               
-                       <script src="index.js"></script>
-               
-               </div>
-       </body>
-</html>
index 7d7242900fa14c2d78c10cc1aee222bf5ebb44e9..bb3b7d4cf4b4756fefc7241d9e3db45f52534f4a 100644 (file)
                                                </ul>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Local">Local</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/PHP">PHP</a></li>
                                                                                                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/System">System</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/add">Table::add</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/find">Table::find</a></li>
diff --git a/docs/v0.0/ion/Symbol/Table/System.html b/docs/v0.0/ion/Symbol/Table/System.html
deleted file mode 100644 (file)
index 71e8e54..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-<!doctype html>
-<html>
-       <head>
-               <meta charset="utf-8">
-               <title>
-                                                       System -
-                                               mdref
-               </title>
-               <meta name="viewport" content="width=1200, initial-scale=0.5">
-                                       <base href="/v0.0/">
-                       <meta http-equiv="Content-Location" content="/v0.0/ion/Symbol/Table/System">
-                       <link rel="stylesheet" href="index.css">
-               
-               <link href="https://fonts.googleapis.com/css?family=Inconsolata&amp;subset=latin-ext" rel="stylesheet">
-               <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
-               <link rel="shortcut icon" href="/v0.0/favicon.ico">
-       </head>
-       <body>
-               <div class="page">
-               
-<div class="sidebar">
-       
-       <div class="edit">
-               <a href="./ion/Symbol/Table/System">Edit</a>
-       </div>
-       
-       
-       <ul>
-               <li>&lsh; <a href="./">Home</a>
-                       
-                       <ul>
-                               <li>
-                                                                                       
-                                       &uarr; <a href="./ion">
-                                                       ion
-                                               </a>
-                                               <ul>
-                                                       <li>
-                                                                                                                                       
-                                       &uarr; <a href="./ion/Symbol">
-                                                       Symbol
-                                               </a>
-                                               <ul>
-                                                       <li>
-                                                                                                                                       
-                                       &uarr; <a href="./ion/Symbol/Table">
-                                                       Table
-                                               </a>
-                                               <ul>
-                                                       <li>
-                                                                                       
-                                                       &circlearrowright; <strong><a href="./ion/Symbol/Table/System">System</a></strong>
-
-                                                       
-                                                                                                                                                                                                                                                               
-                                               </ul>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/Local">Local</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/Shared">Shared</a></li>
-                                                                                                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/add">Table::add</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/find">Table::find</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/findLocal">Table::findLocal</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/getMaxId">Table::getMaxId</a></li>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-                                       </ul>
-                                                                                                                                                                                                                               
-                                               </li>
-                                                               
-                                       </ul>
-                                                                                                       
-                               </li>
-                       </ul>
-                       
-               </li>
-       </ul>
-</div>
-                                       
-<h1>enum ion\Symbol\Table\System implements BackedEnum, UnitEnum, ion\Symbol\Enum</h1>
-<p>The built-in ION system symbols.</p>
-<h2>Constants:<a id="Constants:" href="#Constants:" class="permalink" aria-hidden="true" title="">#</a></h2>
-<ul>
-<li>
-<span class="constant">Ion</span> = <span>'$ion'</span>
-</li>
-<li>
-<span class="constant">Ivm_1_0</span> = <span>'$ion_1_0'</span>
-</li>
-<li>
-<span class="constant">IonSymbolTable</span> = <span>'$ion_symbol_table'</span>
-</li>
-<li>
-<span class="constant">Name</span> = <span>'name'</span>
-</li>
-<li>
-<span class="constant">Version</span> = <span>'version'</span>
-</li>
-<li>
-<span class="constant">Imports</span> = <span>'imports'</span>
-</li>
-<li>
-<span class="constant">Symbols</span> = <span>'symbols'</span>
-</li>
-<li>
-<span class="constant">MaxId</span> = <span>'max_id'</span>
-</li>
-<li>
-<span class="constant">SharedSymbolTable</span> = <span>'$ion_shared_symbol_table'</span>
-</li>
-</ul>
-<h2>Properties:<a id="Properties:" href="#Properties:" class="permalink" aria-hidden="true" title="">#</a></h2>
-<ul>
-<li>public string $name<br />
-The built-in ION system symbols.</li>
-<li>public string $value<br />
-The built-in ION system symbols.</li>
-</ul>
-
-
-
-               
-                       <div id="disqus_thread"><button id="disqus_activator">Show <span> </span> Comment(s)</button></div>
-                       <script>
-                               var disqus_shortname = 'mdref';
-                               var disqus_identifier = 'ion/Symbol/Table/System';
-                       </script>
-
-                       <footer>
-                               
-<ul>
-       <li><a href="https://github.com/m6w6/mdref">mdref-v2.0
-</a></li>
-       <li><a href="LICENSE">&copy; 2013-2022          All rights reserved.</a></li>
-       <li>
-</li>
-</ul>
-
-                       </footer>
-               
-                       <script src="index.js"></script>
-               
-               </div>
-       </body>
-</html>
index ef50e1d836ddc6f757067937696d23b6e9010d99..8e73a6671c386d8fb35c93c6b3d401919eaa3cd7 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Local">Local</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Shared">Shared</a></li>
-                                                                                                                                                       
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/System">System</a></li>
                                                                                                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/find">Table::find</a></li>
                                                                                                                                                        
index 03d64c7136c40361bffdef091054ea9e280b3d42..f74440d1660443f222013398e6edc1faa95b2943 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Local">Local</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Shared">Shared</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/System">System</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/add">Table::add</a></li>
                                                                                                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/findLocal">Table::findLocal</a></li>
index e4afe91fe218bc7cdb20af8592b36477ed6a5d71..870650232bf9bfd5836cafc78f980012229989ae 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Local">Local</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Shared">Shared</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/System">System</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/add">Table::add</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/find">Table::find</a></li>
index 0c1e5cda29792a7145365661e190bcbd1ef0538f..69f2a284fafe6ed8992b9da6b899a7cde7ee0d56 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Local">Local</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/Shared">Shared</a></li>
                                                                                                                                                        
-                                               <li>&ldsh; <a href="./ion/Symbol/Table/System">System</a></li>
-                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table/add">Table::add</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/Table/find">Table::find</a></li>
index a505d9482b3bb40d2962feb29d469e85281781b9..20f4d4deb4d23ce18567deb76fec8c01747b24a1 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
                                                                                                                                                        
+                                               <li>&ldsh; <a href="./ion/Symbol/PHP">PHP</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/System">System</a></li>
+                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table">Table</a></li>
                                                                                                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/equals">Symbol::equals</a></li>
index 426d2163f6bfc494549355de71bdd1a4e544ed97..6685ec1969f58f17e9d34db6c8a429d633269a01 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
                                                                                                                                                        
+                                               <li>&ldsh; <a href="./ion/Symbol/PHP">PHP</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/System">System</a></li>
+                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table">Table</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
index f82e9238c95ad06dd4ba69ad9af12576a75ce045..14da3ef227b4ffaab655fa16ea725de16e449d26 100644 (file)
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
                                                                                                                                                        
+                                               <li>&ldsh; <a href="./ion/Symbol/PHP">PHP</a></li>
+                                                                                                                                                       
+                                               <li>&ldsh; <a href="./ion/Symbol/System">System</a></li>
+                                                                                                                                                       
                                                <li>&ldsh; <a href="./ion/Symbol/Table">Table</a></li>
                                                                                                                                                        
                                                <li>&ldsh; <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
diff --git a/ion.c b/ion.c
index d2675f02ba54d3b27ba71f307289b9356efe5d7c..cffeee5ec81febd08cd34a7cbe40f85a4cef0aaa 100644 (file)
--- a/ion.c
+++ b/ion.c
@@ -125,7 +125,7 @@ static ZEND_METHOD(ion_Symbol_Enum, toString)
        zval tmp;
        RETVAL_ZVAL(zend_read_property(Z_OBJCE_P(zsym), Z_OBJ_P(zsym), ZEND_STRL("value"), 0, &tmp), 1, 0);
 }
-static ZEND_FUNCTION(ion_Symbol_Table_System)
+static ZEND_METHOD(ion_Symbol_System, asTable)
 {
        ZEND_PARSE_PARAMETERS_NONE();
 
@@ -135,7 +135,7 @@ static ZEND_FUNCTION(ion_Symbol_Table_System)
        php_ion_symbol_table_ctor(obj);
        ion_symbol_table_lock(obj->tab);
 }
-static ZEND_FUNCTION(ion_Symbol_Table_PHP)
+static ZEND_METHOD(ion_Symbol_PHP, asTable)
 {
        ZEND_PARSE_PARAMETERS_NONE();
 
@@ -1802,8 +1802,8 @@ PHP_MINIT_FUNCTION(ion)
        ce_Symbol_Table_Shared = register_class_ion_Symbol_Table_Shared(ce_Symbol_Table);
        ce_Symbol_Table_Shared->create_object = create_ion_Symbol_Table;
        ce_Symbol_Enum = register_class_ion_Symbol_Enum();
-       ce_Symbol_Table_System = register_class_ion_Symbol_Table_System(ce_Symbol_Enum);
-       ce_Symbol_Table_PHP = register_class_ion_Symbol_Table_PHP(ce_Symbol_Enum);
+       ce_Symbol_Table_System = register_class_ion_Symbol_System(ce_Symbol_Enum);
+       ce_Symbol_Table_PHP = register_class_ion_Symbol_PHP(ce_Symbol_Enum);
 
        // Timestamp
        ce_Timestamp = register_class_ion_Timestamp(php_date_get_date_ce());
index 15b60d306cb820dafa3119412dfc421245e3376a..5e389b41586229b306a69e28e8a5d05db3a3a896 100644 (file)
@@ -447,24 +447,6 @@ interface Table {
     public function findLocal(string|int $id) : ?\ion\Symbol;
 }
 
-namespace ion\Symbol\Table;
-
-/**
- * Get the built-in PHP shared symbol table.
- *
- * @see \ion\Symbol\Table\PHP
- * @return \ion\Symbol\Table The builtin PHP shared symbol table.
- */
-function PHP() : \ion\Symbol\Table {}
-
-/**
- * Get the built-in ION system shared symbol table.
- *
- * @see \ion\Symbol\Table\System
- * @return \ion\Symbol\Table The builtin ION system shared symbol table.
- */
-function System() : \ion\Symbol\Table {}
-
 /**
  * The built-in ION system symbols.
  */
@@ -485,6 +467,13 @@ enum System : string implements \ion\Symbol\Enum {
     public function toSID() : int {}
     /** @alias ion\Symbol\Enum::toString */
     public function toString() : string {}
+
+    /**
+     * Get the built-in ION system shared symbol table.
+     *
+     * @return Table\Shared The system symbol table.
+     */
+    public static function asTable() : Table\Shared {}
 }
 
 /**
@@ -508,8 +497,17 @@ enum PHP : string implements \ion\Symbol\Enum {
     public function toSID() : int {}
     /** @alias ion\Symbol\Enum::toString */
     public function toString() : string {}
+
+    /**
+     * Get the built-in PHP shared symbol table.
+     *
+     * @return Table\Shared The builtin PHP shared symbol table.
+     */
+    public static function asTable() : Table\Shared {}
 }
 
+namespace ion\Symbol\Table;
+
 /**
  * A local symbol table.
  *
index 900715d5383b30274a912dd01599ccee969228ce..a06aedb7d77ee253a204e949395cbe3cbbe57bf0 100644 (file)
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 6dcf67bb6d8b532d66b378544582f68e2508b7b2 */
+ * Stub hash: 82f37b032b109ad08cffc965a75843e57210debf */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ion_serialize, 0, 1, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO(0, data, IS_MIXED, 0)
@@ -11,11 +11,6 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ion_unserialize, 0, 1, IS_MIXED,
        ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, unserializer, ion\\Unserializer, 1, "null")
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_ion_Symbol_Table_PHP, 0, 0, ion\\Symbol\\Table, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_ion_Symbol_Table_System arginfo_ion_Symbol_Table_PHP
-
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_ion_Serializer_serialize, 0, 1, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO(0, data, IS_MIXED, 0)
 ZEND_END_ARG_INFO()
@@ -255,17 +250,22 @@ ZEND_END_ARG_INFO()
 
 #define arginfo_class_ion_Symbol_Table_findLocal arginfo_class_ion_Symbol_Table_find
 
-#define arginfo_class_ion_Symbol_Table_System_toSymbol arginfo_class_ion_Reader_getFieldNameSymbol
+#define arginfo_class_ion_Symbol_System_toSymbol arginfo_class_ion_Reader_getFieldNameSymbol
 
-#define arginfo_class_ion_Symbol_Table_System_toSID arginfo_class_ion_Catalog_count
+#define arginfo_class_ion_Symbol_System_toSID arginfo_class_ion_Catalog_count
+
+#define arginfo_class_ion_Symbol_System_toString arginfo_class_ion_Symbol___toString
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_ion_Symbol_System_asTable, 0, 0, ion\\Symbol\\Table\\Shared, 0)
+ZEND_END_ARG_INFO()
 
-#define arginfo_class_ion_Symbol_Table_System_toString arginfo_class_ion_Symbol___toString
+#define arginfo_class_ion_Symbol_PHP_toSymbol arginfo_class_ion_Reader_getFieldNameSymbol
 
-#define arginfo_class_ion_Symbol_Table_PHP_toSymbol arginfo_class_ion_Reader_getFieldNameSymbol
+#define arginfo_class_ion_Symbol_PHP_toSID arginfo_class_ion_Catalog_count
 
-#define arginfo_class_ion_Symbol_Table_PHP_toSID arginfo_class_ion_Catalog_count
+#define arginfo_class_ion_Symbol_PHP_toString arginfo_class_ion_Symbol___toString
 
-#define arginfo_class_ion_Symbol_Table_PHP_toString arginfo_class_ion_Symbol___toString
+#define arginfo_class_ion_Symbol_PHP_asTable arginfo_class_ion_Symbol_System_asTable
 
 #define arginfo_class_ion_Symbol_Table_Local___construct arginfo_class_ion_Catalog___construct
 
@@ -526,8 +526,6 @@ ZEND_END_ARG_INFO()
 
 static ZEND_FUNCTION(ion_serialize);
 static ZEND_FUNCTION(ion_unserialize);
-static ZEND_FUNCTION(ion_Symbol_Table_PHP);
-static ZEND_FUNCTION(ion_Symbol_Table_System);
 static ZEND_METHOD(ion_Symbol, __construct);
 static ZEND_METHOD(ion_Symbol, equals);
 static ZEND_METHOD(ion_Symbol, __toString);
@@ -546,6 +544,8 @@ static ZEND_METHOD(ion_Decimal, toInt);
 static ZEND_METHOD(ion_Timestamp, __construct);
 static ZEND_METHOD(ion_Timestamp, __toString);
 static ZEND_METHOD(ion_Symbol_ImportLocation, __construct);
+static ZEND_METHOD(ion_Symbol_System, asTable);
+static ZEND_METHOD(ion_Symbol_PHP, asTable);
 static ZEND_METHOD(ion_Symbol_Table_Local, __construct);
 static ZEND_METHOD(ion_Symbol_Table_Local, import);
 static ZEND_METHOD(ion_Symbol_Table_Shared, __construct);
@@ -632,8 +632,6 @@ static ZEND_METHOD(ion_Unserializer_PHP, unserialize);
 static const zend_function_entry ext_functions[] = {
        ZEND_NS_RAW_FENTRY("ion", "serialize", ZEND_FN(ion_serialize), arginfo_ion_serialize, 0)
        ZEND_NS_RAW_FENTRY("ion", "unserialize", ZEND_FN(ion_unserialize), arginfo_ion_unserialize, 0)
-       ZEND_NS_RAW_FENTRY("ion\\Symbol\\Table", "PHP", ZEND_FN(ion_Symbol_Table_PHP), arginfo_ion_Symbol_Table_PHP, 0)
-       ZEND_NS_RAW_FENTRY("ion\\Symbol\\Table", "System", ZEND_FN(ion_Symbol_Table_System), arginfo_ion_Symbol_Table_System, 0)
        ZEND_FE_END
 };
 
@@ -786,18 +784,20 @@ static const zend_function_entry class_ion_Symbol_Table_methods[] = {
 };
 
 
-static const zend_function_entry class_ion_Symbol_Table_System_methods[] = {
-       ZEND_MALIAS(ion_Symbol_Enum, toSymbol, toSymbol, arginfo_class_ion_Symbol_Table_System_toSymbol, ZEND_ACC_PUBLIC)
-       ZEND_MALIAS(ion_Symbol_Enum, toSID, toSID, arginfo_class_ion_Symbol_Table_System_toSID, ZEND_ACC_PUBLIC)
-       ZEND_MALIAS(ion_Symbol_Enum, toString, toString, arginfo_class_ion_Symbol_Table_System_toString, ZEND_ACC_PUBLIC)
+static const zend_function_entry class_ion_Symbol_System_methods[] = {
+       ZEND_MALIAS(ion_Symbol_Enum, toSymbol, toSymbol, arginfo_class_ion_Symbol_System_toSymbol, ZEND_ACC_PUBLIC)
+       ZEND_MALIAS(ion_Symbol_Enum, toSID, toSID, arginfo_class_ion_Symbol_System_toSID, ZEND_ACC_PUBLIC)
+       ZEND_MALIAS(ion_Symbol_Enum, toString, toString, arginfo_class_ion_Symbol_System_toString, ZEND_ACC_PUBLIC)
+       ZEND_ME(ion_Symbol_System, asTable, arginfo_class_ion_Symbol_System_asTable, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
        ZEND_FE_END
 };
 
 
-static const zend_function_entry class_ion_Symbol_Table_PHP_methods[] = {
-       ZEND_MALIAS(ion_Symbol_Enum, toSymbol, toSymbol, arginfo_class_ion_Symbol_Table_PHP_toSymbol, ZEND_ACC_PUBLIC)
-       ZEND_MALIAS(ion_Symbol_Enum, toSID, toSID, arginfo_class_ion_Symbol_Table_PHP_toSID, ZEND_ACC_PUBLIC)
-       ZEND_MALIAS(ion_Symbol_Enum, toString, toString, arginfo_class_ion_Symbol_Table_PHP_toString, ZEND_ACC_PUBLIC)
+static const zend_function_entry class_ion_Symbol_PHP_methods[] = {
+       ZEND_MALIAS(ion_Symbol_Enum, toSymbol, toSymbol, arginfo_class_ion_Symbol_PHP_toSymbol, ZEND_ACC_PUBLIC)
+       ZEND_MALIAS(ion_Symbol_Enum, toSID, toSID, arginfo_class_ion_Symbol_PHP_toSID, ZEND_ACC_PUBLIC)
+       ZEND_MALIAS(ion_Symbol_Enum, toString, toString, arginfo_class_ion_Symbol_PHP_toString, ZEND_ACC_PUBLIC)
+       ZEND_ME(ion_Symbol_PHP, asTable, arginfo_class_ion_Symbol_PHP_asTable, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
        ZEND_FE_END
 };
 
@@ -1275,9 +1275,9 @@ static zend_class_entry *register_class_ion_Symbol_Table(void)
        return class_entry;
 }
 
-static zend_class_entry *register_class_ion_Symbol_Table_System(zend_class_entry *class_entry_ion_Symbol_Enum)
+static zend_class_entry *register_class_ion_Symbol_System(zend_class_entry *class_entry_ion_Symbol_Enum)
 {
-       zend_class_entry *class_entry = zend_register_internal_enum("ion\\Symbol\\Table\\System", IS_STRING, class_ion_Symbol_Table_System_methods);
+       zend_class_entry *class_entry = zend_register_internal_enum("ion\\Symbol\\System", IS_STRING, class_ion_Symbol_System_methods);
        zend_class_implements(class_entry, 1, class_entry_ion_Symbol_Enum);
 
        zval enum_case_Ion_value;
@@ -1328,9 +1328,9 @@ static zend_class_entry *register_class_ion_Symbol_Table_System(zend_class_entry
        return class_entry;
 }
 
-static zend_class_entry *register_class_ion_Symbol_Table_PHP(zend_class_entry *class_entry_ion_Symbol_Enum)
+static zend_class_entry *register_class_ion_Symbol_PHP(zend_class_entry *class_entry_ion_Symbol_Enum)
 {
-       zend_class_entry *class_entry = zend_register_internal_enum("ion\\Symbol\\Table\\PHP", IS_STRING, class_ion_Symbol_Table_PHP_methods);
+       zend_class_entry *class_entry = zend_register_internal_enum("ion\\Symbol\\PHP", IS_STRING, class_ion_Symbol_PHP_methods);
        zend_class_implements(class_entry, 1, class_entry_ion_Symbol_Enum);
 
        zval enum_case_PHP_value;
index a30db7ef1957913b44716274b641f815f916de6f..2901da7cdc71f8f81c9902df2b946d80a8d4508e 100644 (file)
@@ -8,7 +8,7 @@ TEST
 
 $c = new ion\Catalog;
 var_dump(count($c));
-$c->add($php = ion\Symbol\Table\PHP());
+$c->add($php = ion\Symbol\PHP::asTable());
 var_dump(count($c));
 $c->add(new ion\Symbol\Table\Shared("shared", 1, ["foo", "bar", "baz"]));
 var_dump(count($c));
index 2478b0fb9691dc740e553a776a697d59d375443f..a9e42d60a24f755d6ed9fb7571bcb72efa61c11c 100644 (file)
@@ -5,7 +5,7 @@ ion
 --FILE--
 TEST
 <?php
-$t = ion\Symbol\Table\PHP::PHP;
+$t = ion\Symbol\PHP::PHP;
 var_dump($t instanceof ion\Symbol\Enum);
 var_dump($t->toSymbol(), $t->toSID(), $t->toString());
 ?>
index 9fdc8627682db22c91dabeab77fa9ecdf52ed792..54802571def53e375c7925f4e72bf7ce174b4369 100644 (file)
@@ -7,9 +7,9 @@ TEST
 <?php
 
 echo "global\n";
-var_dump(ion\Symbol\Table\System());
-var_dump(ion\Symbol\Table\PHP());
-var_dump(ion\Symbol\Table\PHP()->find(1));
+var_dump(ion\Symbol\System::asTable());
+var_dump(ion\Symbol\PHP::asTable());
+var_dump(ion\Symbol\PHP::asTable()->find(1));
 
 echo "shared\n";
 $shared = new ion\Symbol\Table\Shared("shared");
@@ -31,7 +31,7 @@ var_dump($shared->find($sid3));
 echo "local\n";
 $local = new ion\Symbol\Table\Local;
 echo "import PHP\n";
-$local->import(ion\Symbol\Table\PHP());
+$local->import(ion\Symbol\PHP::asTable());
 echo "import shared\n";
 $local->import($shared);
 
index 816803ca40f41384c337017fc3df4a9757302028..1a04a14385ac9ac341e6f35dc601f7f63683e85d 100644 (file)
@@ -55,7 +55,7 @@ $w->finishLob();
 echo "\n";
 $w->startContainer(ion\Type::Struct);
 $w->writeFieldName("prop");
-$w->writeAnnotation(ion\Symbol\Table\PHP::Property->toSymbol());
+$w->writeAnnotation(ion\Symbol\PHP::Property->toSymbol());
 $w->writeInt($w->getDepth());
 $w->writeFieldName(new ion\Symbol("priv"));
 $w->writeAnnotation("a","b","c");