docs/vendor
docs/src
docs/composer.*
+*.tgz
### 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:
<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>
<li>↳ <a href="./ion/Symbol/ImportLocation">ImportLocation</a>
</li>
+ <li>↳ <a href="./ion/Symbol/PHP">PHP</a>
+ </li>
+
+ <li>↳ <a href="./ion/Symbol/System">System</a>
+ </li>
+
<li>↳ <a href="./ion/Symbol/Table">Table</a>
<ul>
<li>↳ <a href="./ion/Symbol/Table/Local">Local</a>
</li>
- <li>↳ <a href="./ion/Symbol/Table/PHP">PHP</a>
- </li>
-
<li>↳ <a href="./ion/Symbol/Table/Shared">Shared</a>
- </li>
-
- <li>↳ <a href="./ion/Symbol/Table/System">System</a>
</li>
</ul>
<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>
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.
*/
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 {}
}
/**
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.
*
</li>
+ <li>
+ ↳ <a href="./ion/Symbol/PHP">PHP</a>
+
+ </li>
+
+ <li>
+ ↳ <a href="./ion/Symbol/System">System</a>
+
+ </li>
+
<li>
↳ <a href="./ion/Symbol/Table">Table</a>
<li>↳ <a href="./ion/Symbol/Table/Local">Local</a>
</li>
- <li>↳ <a href="./ion/Symbol/Table/PHP">PHP</a>
- </li>
-
<li>↳ <a href="./ion/Symbol/Table/Shared">Shared</a>
- </li>
-
- <li>↳ <a href="./ion/Symbol/Table/System">System</a>
</li>
</ul>
<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>
<li>↲ <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+ <li>↲ <a href="./ion/Symbol/PHP">PHP</a></li>
+
+ <li>↲ <a href="./ion/Symbol/System">System</a></li>
+
<li>↲ <a href="./ion/Symbol/Table">Table</a></li>
<li>↲ <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
<li>↲ <a href="./ion/Symbol/Enum">Enum</a></li>
+ <li>↲ <a href="./ion/Symbol/PHP">PHP</a></li>
+
+ <li>↲ <a href="./ion/Symbol/System">System</a></li>
+
<li>↲ <a href="./ion/Symbol/Table">Table</a></li>
<li>↲ <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
--- /dev/null
+<!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&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>↰ <a href="./">Home</a>
+
+ <ul>
+ <li>
+
+ ↑ <a href="./ion">
+ ion
+ </a>
+ <ul>
+ <li>
+
+ ↑ <a href="./ion/Symbol">
+ Symbol
+ </a>
+ <ul>
+ <li>
+
+ ↻ <strong><a href="./ion/Symbol/PHP">PHP</a></strong>
+
+
+ <ul>
+
+ <li>
+ ↳ <a href="./ion/Symbol/PHP/asTable">PHP::asTable</a>
+
+ </li>
+
+ </ul>
+
+
+ </ul>
+
+ <li>↲ <a href="./ion/Symbol/Enum">Enum</a></li>
+
+ <li>↲ <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+
+ <li>↲ <a href="./ion/Symbol/System">System</a></li>
+
+ <li>↲ <a href="./ion/Symbol/Table">Table</a></li>
+
+ <li>↲ <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
+
+ <li>↲ <a href="./ion/Symbol/equals">Symbol::equals</a></li>
+
+ <li>↲ <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">© 2013-2022 All rights reserved.</a></li>
+ <li>
+</li>
+</ul>
+
+ </footer>
+
+ <script src="index.js"></script>
+
+ </div>
+ </body>
+</html>
--- /dev/null
+<!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&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>↰ <a href="./">Home</a>
+
+ <ul>
+ <li>
+
+ ↑ <a href="./ion">
+ ion
+ </a>
+ <ul>
+ <li>
+
+ ↑ <a href="./ion/Symbol">
+ Symbol
+ </a>
+ <ul>
+ <li>
+
+ ↑ <a href="./ion/Symbol/PHP">
+ PHP
+ </a>
+ <ul>
+ <li>
+
+ ↻ <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">© 2013-2022 All rights reserved.</a></li>
+ <li>
+</li>
+</ul>
+
+ </footer>
+
+ <script src="index.js"></script>
+
+ </div>
+ </body>
+</html>
--- /dev/null
+<!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&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>↰ <a href="./">Home</a>
+
+ <ul>
+ <li>
+
+ ↑ <a href="./ion">
+ ion
+ </a>
+ <ul>
+ <li>
+
+ ↑ <a href="./ion/Symbol">
+ Symbol
+ </a>
+ <ul>
+ <li>
+
+ ↻ <strong><a href="./ion/Symbol/System">System</a></strong>
+
+
+ <ul>
+
+ <li>
+ ↳ <a href="./ion/Symbol/System/asTable">System::asTable</a>
+
+ </li>
+
+ </ul>
+
+
+ </ul>
+
+ <li>↲ <a href="./ion/Symbol/Enum">Enum</a></li>
+
+ <li>↲ <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+
+ <li>↲ <a href="./ion/Symbol/PHP">PHP</a></li>
+
+ <li>↲ <a href="./ion/Symbol/Table">Table</a></li>
+
+ <li>↲ <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
+
+ <li>↲ <a href="./ion/Symbol/equals">Symbol::equals</a></li>
+
+ <li>↲ <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">© 2013-2022 All rights reserved.</a></li>
+ <li>
+</li>
+</ul>
+
+ </footer>
+
+ <script src="index.js"></script>
+
+ </div>
+ </body>
+</html>
--- /dev/null
+<!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&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>↰ <a href="./">Home</a>
+
+ <ul>
+ <li>
+
+ ↑ <a href="./ion">
+ ion
+ </a>
+ <ul>
+ <li>
+
+ ↑ <a href="./ion/Symbol">
+ Symbol
+ </a>
+ <ul>
+ <li>
+
+ ↑ <a href="./ion/Symbol/System">
+ System
+ </a>
+ <ul>
+ <li>
+
+ ↻ <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">© 2013-2022 All rights reserved.</a></li>
+ <li>
+</li>
+</ul>
+
+ </footer>
+
+ <script src="index.js"></script>
+
+ </div>
+ </body>
+</html>
</li>
- <li>
- ↳ <a href="./ion/Symbol/Table/PHP">PHP</a>
-
- </li>
-
<li>
↳ <a href="./ion/Symbol/Table/Shared">Shared</a>
</li>
- <li>
- ↳ <a href="./ion/Symbol/Table/System">System</a>
-
- </li>
-
<li>
↳ <a href="./ion/Symbol/Table/add">Table::add</a>
<li>↲ <a href="./ion/Symbol/Enum">Enum</a></li>
<li>↲ <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+
+ <li>↲ <a href="./ion/Symbol/PHP">PHP</a></li>
+
+ <li>↲ <a href="./ion/Symbol/System">System</a></li>
<li>↲ <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>
</ul>
- <li>↲ <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/Shared">Shared</a></li>
- <li>↲ <a href="./ion/Symbol/Table/System">System</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/add">Table::add</a></li>
<li>↲ <a href="./ion/Symbol/Table/find">Table::find</a></li>
+++ /dev/null
-<!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&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>↰ <a href="./">Home</a>
-
- <ul>
- <li>
-
- ↑ <a href="./ion">
- ion
- </a>
- <ul>
- <li>
-
- ↑ <a href="./ion/Symbol">
- Symbol
- </a>
- <ul>
- <li>
-
- ↑ <a href="./ion/Symbol/Table">
- Table
- </a>
- <ul>
- <li>
-
- ↻ <strong><a href="./ion/Symbol/Table/PHP">PHP</a></strong>
-
-
-
- </ul>
-
- <li>↲ <a href="./ion/Symbol/Table/Local">Local</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/Shared">Shared</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/System">System</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/add">Table::add</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/find">Table::find</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/findLocal">Table::findLocal</a></li>
-
- <li>↲ <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">© 2013-2022 All rights reserved.</a></li>
- <li>
-</li>
-</ul>
-
- </footer>
-
- <script src="index.js"></script>
-
- </div>
- </body>
-</html>
</ul>
<li>↲ <a href="./ion/Symbol/Table/Local">Local</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/PHP">PHP</a></li>
- <li>↲ <a href="./ion/Symbol/Table/System">System</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/add">Table::add</a></li>
<li>↲ <a href="./ion/Symbol/Table/find">Table::find</a></li>
+++ /dev/null
-<!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&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>↰ <a href="./">Home</a>
-
- <ul>
- <li>
-
- ↑ <a href="./ion">
- ion
- </a>
- <ul>
- <li>
-
- ↑ <a href="./ion/Symbol">
- Symbol
- </a>
- <ul>
- <li>
-
- ↑ <a href="./ion/Symbol/Table">
- Table
- </a>
- <ul>
- <li>
-
- ↻ <strong><a href="./ion/Symbol/Table/System">System</a></strong>
-
-
-
- </ul>
-
- <li>↲ <a href="./ion/Symbol/Table/Local">Local</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/Shared">Shared</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/add">Table::add</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/find">Table::find</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/findLocal">Table::findLocal</a></li>
-
- <li>↲ <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">© 2013-2022 All rights reserved.</a></li>
- <li>
-</li>
-</ul>
-
- </footer>
-
- <script src="index.js"></script>
-
- </div>
- </body>
-</html>
<li>↲ <a href="./ion/Symbol/Table/Local">Local</a></li>
- <li>↲ <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/Shared">Shared</a></li>
-
- <li>↲ <a href="./ion/Symbol/Table/System">System</a></li>
<li>↲ <a href="./ion/Symbol/Table/find">Table::find</a></li>
<li>↲ <a href="./ion/Symbol/Table/Local">Local</a></li>
- <li>↲ <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/Shared">Shared</a></li>
- <li>↲ <a href="./ion/Symbol/Table/System">System</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/add">Table::add</a></li>
<li>↲ <a href="./ion/Symbol/Table/findLocal">Table::findLocal</a></li>
<li>↲ <a href="./ion/Symbol/Table/Local">Local</a></li>
- <li>↲ <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/Shared">Shared</a></li>
- <li>↲ <a href="./ion/Symbol/Table/System">System</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/add">Table::add</a></li>
<li>↲ <a href="./ion/Symbol/Table/find">Table::find</a></li>
<li>↲ <a href="./ion/Symbol/Table/Local">Local</a></li>
- <li>↲ <a href="./ion/Symbol/Table/PHP">PHP</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/Shared">Shared</a></li>
- <li>↲ <a href="./ion/Symbol/Table/System">System</a></li>
-
<li>↲ <a href="./ion/Symbol/Table/add">Table::add</a></li>
<li>↲ <a href="./ion/Symbol/Table/find">Table::find</a></li>
<li>↲ <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+ <li>↲ <a href="./ion/Symbol/PHP">PHP</a></li>
+
+ <li>↲ <a href="./ion/Symbol/System">System</a></li>
+
<li>↲ <a href="./ion/Symbol/Table">Table</a></li>
<li>↲ <a href="./ion/Symbol/equals">Symbol::equals</a></li>
<li>↲ <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+ <li>↲ <a href="./ion/Symbol/PHP">PHP</a></li>
+
+ <li>↲ <a href="./ion/Symbol/System">System</a></li>
+
<li>↲ <a href="./ion/Symbol/Table">Table</a></li>
<li>↲ <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
<li>↲ <a href="./ion/Symbol/ImportLocation">ImportLocation</a></li>
+ <li>↲ <a href="./ion/Symbol/PHP">PHP</a></li>
+
+ <li>↲ <a href="./ion/Symbol/System">System</a></li>
+
<li>↲ <a href="./ion/Symbol/Table">Table</a></li>
<li>↲ <a href="./ion/Symbol/__construct">Symbol::__construct</a></li>
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();
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();
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());
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.
*/
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 {}
}
/**
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.
*
/* 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)
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()
#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
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);
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);
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
};
};
-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
};
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;
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;
$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));
--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());
?>
<?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");
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);
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");