From eb19766e4050a16f9461812ed7b187ab629027ce Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 1 Feb 2022 16:12:21 +0100 Subject: new package --- .gitignore | 9 + Makefile | 4 + PHPINFO | 4 + REFLECTION | 4155 +++++++++++++++++++++++++++++++++++++++++++++++++++++ php-pecl-ion.spec | 227 +++ 5 files changed, 4399 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 PHPINFO create mode 100644 REFLECTION create mode 100644 php-pecl-ion.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01f0400 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +clog +package-*.xml +*.tgz +*.tar.bz2 +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13af741 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../../common/Makefile + diff --git a/PHPINFO b/PHPINFO new file mode 100644 index 0000000..b7d140f --- /dev/null +++ b/PHPINFO @@ -0,0 +1,4 @@ + +ion + +ion support => enabled diff --git a/REFLECTION b/REFLECTION new file mode 100644 index 0000000..b1aeb70 --- /dev/null +++ b/REFLECTION @@ -0,0 +1,4155 @@ +Extension [ extension #86 ion version 0.1.0 ] { + + - Dependencies { + Dependency [ date (Required) ] + Dependency [ spl (Required) ] + } + + - Functions { + Function [ function ion\serialize ] { + + - Parameters [2] { + Parameter #0 [ mixed $data ] + Parameter #1 [ ?ion\Serializer $serializer = null ] + } + - Return [ string ] + } + Function [ function ion\unserialize ] { + + - Parameters [2] { + Parameter #0 [ $data ] + Parameter #1 [ ?ion\Unserializer $unserializer = null ] + } + - Return [ mixed ] + } + } + + - Classes [35] { + Class [ class ion\Catalog implements Countable ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [1] { + Property [ private array $symbolTables = [] ] + } + + - Methods [6] { + Method [ public method __construct ] { + + - Parameters [0] { + } + } + + Method [ public method count ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method add ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol\Table $table ] + } + - Return [ void ] + } + + Method [ public method remove ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol\Table|string $table ] + } + - Return [ bool ] + } + + Method [ public method find ] { + + - Parameters [2] { + Parameter #0 [ string $name ] + Parameter #1 [ int $version = 0 ] + } + - Return [ ?ion\Symbol\Table ] + } + + Method [ public method findBest ] { + + - Parameters [2] { + Parameter #0 [ string $name ] + Parameter #1 [ int $version = 0 ] + } + - Return [ ?ion\Symbol\Table ] + } + } + } + + Class [ class ion\Decimal implements Stringable ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [2] { + Property [ public readonly string|int $number ] + Property [ public readonly ?ion\Decimal\Context $context ] + } + + - Methods [6] { + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ string|int $number ] + Parameter #1 [ ?ion\Decimal\Context $context = null ] + } + } + + Method [ public method equals ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal $decimal ] + } + - Return [ bool ] + } + + Method [ public method isInt ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method __toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method toInt ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Class [ class ion\Decimal\Context ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [4] { + Method [ static public method Dec32 ] { + + - Parameters [0] { + } + - Return [ ion\Decimal\Context ] + } + + Method [ static public method Dec64 ] { + + - Parameters [0] { + } + - Return [ ion\Decimal\Context ] + } + + Method [ static public method Dec128 ] { + + - Parameters [0] { + } + - Return [ ion\Decimal\Context ] + } + + Method [ static public method DecMax ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal\Context\Rounding|int $round = ion\Decimal\Context\Rounding::HalfEven ] + } + - Return [ ion\Decimal\Context ] + } + } + + - Properties [5] { + Property [ public readonly int $digits ] + Property [ public readonly int $eMax ] + Property [ public readonly int $eMin ] + Property [ public readonly ion\Decimal\Context\Rounding|int $round ] + Property [ public readonly bool $clamp ] + } + + - Methods [1] { + Method [ public method __construct ] { + + - Parameters [5] { + Parameter #0 [ int $digits ] + Parameter #1 [ int $eMax ] + Parameter #2 [ int $eMin ] + Parameter #3 [ ion\Decimal\Context\Rounding|int $round ] + Parameter #4 [ bool $clamp ] + } + } + } + } + + Class [ class ion\Decimal\Context\Rounding implements BackedEnum, UnitEnum ] { + + - Constants [8] { + Constant [ public ion\Decimal\Context\Rounding Ceiling ] { Object } + Constant [ public ion\Decimal\Context\Rounding Up ] { Object } + Constant [ public ion\Decimal\Context\Rounding HalfUp ] { Object } + Constant [ public ion\Decimal\Context\Rounding HalfEven ] { Object } + Constant [ public ion\Decimal\Context\Rounding HalfDown ] { Object } + Constant [ public ion\Decimal\Context\Rounding Down ] { Object } + Constant [ public ion\Decimal\Context\Rounding Floor ] { Object } + Constant [ public ion\Decimal\Context\Rounding Down05Up ] { Object } + } + + - Static properties [0] { + } + + - Static methods [3] { + Method [ static public method cases ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ static public method from ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ static ] + } + + Method [ static public method tryFrom ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ ?static ] + } + } + + - Properties [2] { + Property [ public readonly string $name ] + Property [ public readonly int $value ] + } + + - Methods [0] { + } + } + + Class [ class ion\LOB ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [2] { + Property [ public readonly string $value ] + Property [ public readonly ion\Type $type ] + } + + - Methods [1] { + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ string $value ] + Parameter #1 [ ion\Type $type = ion\Type::CLob ] + } + } + } + } + + Interface [ interface ion\Reader extends RecursiveIterator, Traversable, Iterator ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [35] { + Method [ abstract public method getType ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ abstract public method hasAnnotations ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method hasAnnotation ] { + + - Parameters [1] { + Parameter #0 [ string $annotation ] + } + - Return [ bool ] + } + + Method [ abstract public method isNull ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method isInStruct ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method getFieldName ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method getFieldNameSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method getAnnotations ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ abstract public method getAnnotationSymbols ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ abstract public method countAnnotations ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getAnnotation ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ string ] + } + + Method [ abstract public method getAnnotationSymbol ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method readNull ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ abstract public method readBool ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method readInt ] { + + - Parameters [0] { + } + - Return [ string|int ] + } + + Method [ abstract public method readFloat ] { + + - Parameters [0] { + } + - Return [ float ] + } + + Method [ abstract public method readDecimal ] { + + - Parameters [0] { + } + - Return [ ion\Decimal ] + } + + Method [ abstract public method readTimestamp ] { + + - Parameters [0] { + } + - Return [ ion\Timestamp ] + } + + Method [ abstract public method readSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method readString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method readStringPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ abstract public method readLob ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method readLobPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ abstract public method getPosition ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method seek ] { + + - Parameters [2] { + Parameter #0 [ int $offset ] + Parameter #1 [ int $length = -1 ] + } + - Return [ void ] + } + + Method [ abstract public method getValueOffset ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getValueLength ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method hasChildren ] { + + - Parameters [0] { + } + - Tentative return [ bool ] + } + + Method [ abstract public method getChildren ] { + + - Parameters [0] { + } + - Tentative return [ ?RecursiveIterator ] + } + + Method [ abstract public method current ] { + + - Parameters [0] { + } + - Tentative return [ mixed ] + } + + Method [ abstract public method next ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + + Method [ abstract public method key ] { + + - Parameters [0] { + } + - Tentative return [ mixed ] + } + + Method [ abstract public method valid ] { + + - Parameters [0] { + } + - Tentative return [ bool ] + } + + Method [ abstract public method rewind ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + } + } + + Class [ class ion\Reader\Options ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [9] { + Property [ public readonly ?ion\Catalog $catalog ] + Property [ public readonly ?ion\Decimal\Context $decimalContext ] + Property [ public readonly ?Closure $onContextChange ] + Property [ public readonly bool $returnSystemValues ] + Property [ public readonly int $maxContainerDepth ] + Property [ public readonly int $maxAnnotations ] + Property [ public readonly int $annotationBufferSize ] + Property [ public readonly int $tempBufferSize ] + Property [ public readonly bool $skipCharacterValidation ] + } + + - Methods [1] { + Method [ public method __construct ] { + + - Parameters [9] { + Parameter #0 [ ?ion\Catalog $catalog = null ] + Parameter #1 [ ?ion\Decimal\Context $decimalContext = null ] + Parameter #2 [ ?Closure $onContextChange = null ] + Parameter #3 [ bool $returnSystemValues = false ] + Parameter #4 [ int $maxContainerDepth = 10 ] + Parameter #5 [ int $maxAnnotations = 10 ] + Parameter #6 [ int $annotationBufferSize = 0x4000 ] + Parameter #7 [ int $tempBufferSize = 0x4000 ] + Parameter #8 [ bool $skipCharacterValidation = false ] + } + } + } + } + + Class [ abstract class ion\Reader\Reader implements ion\Reader, Iterator, Traversable, RecursiveIterator ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [1] { + Property [ public readonly ?ion\Reader\Options $options ] + } + + - Methods [35] { + Method [ public method hasChildren ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method getChildren ] { + + - Parameters [0] { + } + - Return [ ion\Reader ] + } + + Method [ public method rewind ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method next ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method valid ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method key ] { + + - Parameters [0] { + } + - Return [ mixed ] + } + + Method [ public method current ] { + + - Parameters [0] { + } + - Return [ mixed ] + } + + Method [ public method getType ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ public method hasAnnotations ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method hasAnnotation ] { + + - Parameters [1] { + Parameter #0 [ string $annotation ] + } + - Return [ bool ] + } + + Method [ public method isNull ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method isInStruct ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method getFieldName ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method getFieldNameSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method getAnnotations ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ public method getAnnotationSymbols ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ public method countAnnotations ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getAnnotation ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ string ] + } + + Method [ public method getAnnotationSymbol ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ ion\Symbol ] + } + + Method [ public method readNull ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ public method readBool ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method readInt ] { + + - Parameters [0] { + } + - Return [ string|int ] + } + + Method [ public method readFloat ] { + + - Parameters [0] { + } + - Return [ float ] + } + + Method [ public method readDecimal ] { + + - Parameters [0] { + } + - Return [ ion\Decimal ] + } + + Method [ public method readTimestamp ] { + + - Parameters [0] { + } + - Return [ ion\Timestamp ] + } + + Method [ public method readSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method readString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method readStringPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ public method readLob ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method readLobPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ public method getPosition ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method seek ] { + + - Parameters [2] { + Parameter #0 [ int $offset ] + Parameter #1 [ int $length = -1 ] + } + - Return [ void ] + } + + Method [ public method getValueOffset ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getValueLength ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Interface [ interface ion\Reader\Buffer extends ion\Reader, Iterator, Traversable, RecursiveIterator ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [36] { + Method [ abstract public method getBuffer ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method getType ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ abstract public method hasAnnotations ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method hasAnnotation ] { + + - Parameters [1] { + Parameter #0 [ string $annotation ] + } + - Return [ bool ] + } + + Method [ abstract public method isNull ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method isInStruct ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method getFieldName ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method getFieldNameSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method getAnnotations ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ abstract public method getAnnotationSymbols ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ abstract public method countAnnotations ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getAnnotation ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ string ] + } + + Method [ abstract public method getAnnotationSymbol ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method readNull ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ abstract public method readBool ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method readInt ] { + + - Parameters [0] { + } + - Return [ string|int ] + } + + Method [ abstract public method readFloat ] { + + - Parameters [0] { + } + - Return [ float ] + } + + Method [ abstract public method readDecimal ] { + + - Parameters [0] { + } + - Return [ ion\Decimal ] + } + + Method [ abstract public method readTimestamp ] { + + - Parameters [0] { + } + - Return [ ion\Timestamp ] + } + + Method [ abstract public method readSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method readString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method readStringPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ abstract public method readLob ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method readLobPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ abstract public method getPosition ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method seek ] { + + - Parameters [2] { + Parameter #0 [ int $offset ] + Parameter #1 [ int $length = -1 ] + } + - Return [ void ] + } + + Method [ abstract public method getValueOffset ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getValueLength ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method hasChildren ] { + + - Parameters [0] { + } + - Tentative return [ bool ] + } + + Method [ abstract public method getChildren ] { + + - Parameters [0] { + } + - Tentative return [ ?RecursiveIterator ] + } + + Method [ abstract public method current ] { + + - Parameters [0] { + } + - Tentative return [ mixed ] + } + + Method [ abstract public method next ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + + Method [ abstract public method key ] { + + - Parameters [0] { + } + - Tentative return [ mixed ] + } + + Method [ abstract public method valid ] { + + - Parameters [0] { + } + - Tentative return [ bool ] + } + + Method [ abstract public method rewind ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + } + } + + Class [ class ion\Reader\Buffer\Reader extends ion\Reader\Reader implements RecursiveIterator, Traversable, Iterator, ion\Reader, ion\Reader\Buffer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [1] { + Property [ public readonly ?ion\Reader\Options $options ] + } + + - Methods [37] { + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ string $buffer ] + Parameter #1 [ ?ion\Reader\Options $options = null ] + } + } + + Method [ public method getBuffer ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method hasChildren ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method getChildren ] { + + - Parameters [0] { + } + - Return [ ion\Reader ] + } + + Method [ public method rewind ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method next ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method valid ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method key ] { + + - Parameters [0] { + } + - Return [ mixed ] + } + + Method [ public method current ] { + + - Parameters [0] { + } + - Return [ mixed ] + } + + Method [ public method getType ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ public method hasAnnotations ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method hasAnnotation ] { + + - Parameters [1] { + Parameter #0 [ string $annotation ] + } + - Return [ bool ] + } + + Method [ public method isNull ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method isInStruct ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method getFieldName ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method getFieldNameSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method getAnnotations ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ public method getAnnotationSymbols ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ public method countAnnotations ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getAnnotation ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ string ] + } + + Method [ public method getAnnotationSymbol ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ ion\Symbol ] + } + + Method [ public method readNull ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ public method readBool ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method readInt ] { + + - Parameters [0] { + } + - Return [ string|int ] + } + + Method [ public method readFloat ] { + + - Parameters [0] { + } + - Return [ float ] + } + + Method [ public method readDecimal ] { + + - Parameters [0] { + } + - Return [ ion\Decimal ] + } + + Method [ public method readTimestamp ] { + + - Parameters [0] { + } + - Return [ ion\Timestamp ] + } + + Method [ public method readSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method readString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method readStringPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ public method readLob ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method readLobPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ public method getPosition ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method seek ] { + + - Parameters [2] { + Parameter #0 [ int $offset ] + Parameter #1 [ int $length = -1 ] + } + - Return [ void ] + } + + Method [ public method getValueOffset ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getValueLength ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Interface [ interface ion\Reader\Stream extends ion\Reader, Iterator, Traversable, RecursiveIterator ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [38] { + Method [ abstract public method getStream ] { + + - Parameters [0] { + } + } + + Method [ abstract public method resetStream ] { + + - Parameters [1] { + Parameter #0 [ $stream ] + } + - Return [ void ] + } + + Method [ abstract public method resetStreamWithLength ] { + + - Parameters [2] { + Parameter #0 [ $stream ] + Parameter #1 [ int $length ] + } + - Return [ void ] + } + + Method [ abstract public method getType ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ abstract public method hasAnnotations ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method hasAnnotation ] { + + - Parameters [1] { + Parameter #0 [ string $annotation ] + } + - Return [ bool ] + } + + Method [ abstract public method isNull ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method isInStruct ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method getFieldName ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method getFieldNameSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method getAnnotations ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ abstract public method getAnnotationSymbols ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ abstract public method countAnnotations ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getAnnotation ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ string ] + } + + Method [ abstract public method getAnnotationSymbol ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method readNull ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ abstract public method readBool ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ abstract public method readInt ] { + + - Parameters [0] { + } + - Return [ string|int ] + } + + Method [ abstract public method readFloat ] { + + - Parameters [0] { + } + - Return [ float ] + } + + Method [ abstract public method readDecimal ] { + + - Parameters [0] { + } + - Return [ ion\Decimal ] + } + + Method [ abstract public method readTimestamp ] { + + - Parameters [0] { + } + - Return [ ion\Timestamp ] + } + + Method [ abstract public method readSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method readString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method readStringPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ abstract public method readLob ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method readLobPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ abstract public method getPosition ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method seek ] { + + - Parameters [2] { + Parameter #0 [ int $offset ] + Parameter #1 [ int $length = -1 ] + } + - Return [ void ] + } + + Method [ abstract public method getValueOffset ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method getValueLength ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method hasChildren ] { + + - Parameters [0] { + } + - Tentative return [ bool ] + } + + Method [ abstract public method getChildren ] { + + - Parameters [0] { + } + - Tentative return [ ?RecursiveIterator ] + } + + Method [ abstract public method current ] { + + - Parameters [0] { + } + - Tentative return [ mixed ] + } + + Method [ abstract public method next ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + + Method [ abstract public method key ] { + + - Parameters [0] { + } + - Tentative return [ mixed ] + } + + Method [ abstract public method valid ] { + + - Parameters [0] { + } + - Tentative return [ bool ] + } + + Method [ abstract public method rewind ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + } + } + + Class [ class ion\Reader\Stream\Reader extends ion\Reader\Reader implements RecursiveIterator, Traversable, Iterator, ion\Reader, ion\Reader\Stream ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [1] { + Property [ public readonly ?ion\Reader\Options $options ] + } + + - Methods [39] { + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ $stream ] + Parameter #1 [ ?ion\Reader\Options $options = null ] + } + } + + Method [ public method getStream ] { + + - Parameters [0] { + } + } + + Method [ public method resetStream ] { + + - Parameters [1] { + Parameter #0 [ $stream ] + } + - Return [ void ] + } + + Method [ public method resetStreamWithLength ] { + + - Parameters [2] { + Parameter #0 [ $stream ] + Parameter #1 [ int $length ] + } + - Return [ void ] + } + + Method [ public method hasChildren ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method getChildren ] { + + - Parameters [0] { + } + - Return [ ion\Reader ] + } + + Method [ public method rewind ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method next ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method valid ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method key ] { + + - Parameters [0] { + } + - Return [ mixed ] + } + + Method [ public method current ] { + + - Parameters [0] { + } + - Return [ mixed ] + } + + Method [ public method getType ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ public method hasAnnotations ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method hasAnnotation ] { + + - Parameters [1] { + Parameter #0 [ string $annotation ] + } + - Return [ bool ] + } + + Method [ public method isNull ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method isInStruct ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method getFieldName ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method getFieldNameSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method getAnnotations ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ public method getAnnotationSymbols ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ public method countAnnotations ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getAnnotation ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ string ] + } + + Method [ public method getAnnotationSymbol ] { + + - Parameters [1] { + Parameter #0 [ int $index ] + } + - Return [ ion\Symbol ] + } + + Method [ public method readNull ] { + + - Parameters [0] { + } + - Return [ ion\Type ] + } + + Method [ public method readBool ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ public method readInt ] { + + - Parameters [0] { + } + - Return [ string|int ] + } + + Method [ public method readFloat ] { + + - Parameters [0] { + } + - Return [ float ] + } + + Method [ public method readDecimal ] { + + - Parameters [0] { + } + - Return [ ion\Decimal ] + } + + Method [ public method readTimestamp ] { + + - Parameters [0] { + } + - Return [ ion\Timestamp ] + } + + Method [ public method readSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method readString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method readStringPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ public method readLob ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method readLobPart ] { + + - Parameters [2] { + Parameter #0 [ &$string ] + Parameter #1 [ int $length = 0x1000 ] + } + - Return [ bool ] + } + + Method [ public method getPosition ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method seek ] { + + - Parameters [2] { + Parameter #0 [ int $offset ] + Parameter #1 [ int $length = -1 ] + } + - Return [ void ] + } + + Method [ public method getValueOffset ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method getValueLength ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Interface [ interface ion\Serializer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [1] { + Method [ abstract public method serialize ] { + + - Parameters [1] { + Parameter #0 [ mixed $data ] + } + - Return [ string ] + } + } + } + + Class [ class ion\Serializer\PHP implements ion\Serializer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [4] { + Property [ public readonly ?ion\Writer\Options $writerOptions ] + Property [ public readonly bool $multiSequence ] + Property [ public readonly bool $callMagicSerialize ] + Property [ public readonly ?string $callCustomSerialize ] + } + + - Methods [2] { + Method [ public method __construct ] { + + - Parameters [4] { + Parameter #0 [ ?ion\Writer\Options $writerOptions = null ] + Parameter #1 [ bool $multiSequence = false ] + Parameter #2 [ bool $callMagicSerialize = true ] + Parameter #3 [ ?string $callCustomSerialize = null ] + } + } + + Method [ public method serialize ] { + + - Parameters [1] { + Parameter #0 [ mixed $data ] + } + - Return [ string ] + } + } + } + + Class [ class ion\Symbol implements Stringable ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [3] { + Property [ public readonly ?string $value ] + Property [ public readonly int $sid ] + Property [ public readonly ?ion\Symbol\ImportLocation $importLocation ] + } + + - Methods [4] { + Method [ public method __construct ] { + + - Parameters [3] { + Parameter #0 [ ?string $value = null ] + Parameter #1 [ int $sid = -1 ] + Parameter #2 [ ?ion\Symbol\ImportLocation $importLocation = null ] + } + } + + Method [ public method equals ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol $symbol ] + } + - Return [ bool ] + } + + Method [ public method __toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ class ion\Symbol\ImportLocation ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [2] { + Property [ public readonly string $name ] + Property [ public readonly int $location ] + } + + - Methods [1] { + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ string $name ] + Parameter #1 [ int $location ] + } + } + } + } + + Interface [ interface ion\Symbol\Table ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [4] { + Method [ abstract public method getMaxId ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method add ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $symbol ] + } + - Return [ int ] + } + + Method [ abstract public method find ] { + + - Parameters [1] { + Parameter #0 [ string|int $id ] + } + - Return [ ?ion\Symbol ] + } + + Method [ abstract public method findLocal ] { + + - Parameters [1] { + Parameter #0 [ string|int $id ] + } + - Return [ ?ion\Symbol ] + } + } + } + + Class [ class ion\Symbol\Table\Local implements ion\Symbol\Table ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [2] { + Property [ private array $imports = [] ] + Property [ private array $symbols = [] ] + } + + - Methods [6] { + Method [ public method __construct ] { + + - Parameters [0] { + } + } + + Method [ public method import ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol\Table $table ] + } + - Return [ void ] + } + + Method [ public method getMaxId ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method add ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $symbol ] + } + - Return [ int ] + } + + Method [ public method find ] { + + - Parameters [1] { + Parameter #0 [ string|int $id ] + } + - Return [ ?ion\Symbol ] + } + + Method [ public method findLocal ] { + + - Parameters [1] { + Parameter #0 [ string|int $id ] + } + - Return [ ?ion\Symbol ] + } + } + } + + Class [ class ion\Symbol\Table\Shared implements ion\Symbol\Table ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [3] { + Property [ public readonly string $name ] + Property [ public readonly int $version ] + Property [ private array $symbols = [] ] + } + + - Methods [5] { + Method [ public method __construct ] { + + - Parameters [3] { + Parameter #0 [ string $name ] + Parameter #1 [ int $version = 1 ] + Parameter #2 [ ?array $symbols = null ] + } + } + + Method [ public method getMaxId ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method add ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $symbol ] + } + - Return [ int ] + } + + Method [ public method find ] { + + - Parameters [1] { + Parameter #0 [ string|int $id ] + } + - Return [ ?ion\Symbol ] + } + + Method [ public method findLocal ] { + + - Parameters [1] { + Parameter #0 [ string|int $id ] + } + - Return [ ?ion\Symbol ] + } + } + } + + Interface [ interface ion\Symbol\Enum ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [3] { + Method [ abstract public method toSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ abstract public method toSID ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ class ion\Symbol\System implements BackedEnum, UnitEnum, ion\Symbol\Enum ] { + + - Constants [9] { + Constant [ public ion\Symbol\System Ion ] { Object } + Constant [ public ion\Symbol\System Ivm_1_0 ] { Object } + Constant [ public ion\Symbol\System IonSymbolTable ] { Object } + Constant [ public ion\Symbol\System Name ] { Object } + Constant [ public ion\Symbol\System Version ] { Object } + Constant [ public ion\Symbol\System Imports ] { Object } + Constant [ public ion\Symbol\System Symbols ] { Object } + Constant [ public ion\Symbol\System MaxId ] { Object } + Constant [ public ion\Symbol\System SharedSymbolTable ] { Object } + } + + - Static properties [0] { + } + + - Static methods [4] { + Method [ static public method asTable ] { + + - Parameters [0] { + } + - Return [ ion\Symbol\Table\Shared ] + } + + Method [ static public method cases ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ static public method from ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ static ] + } + + Method [ static public method tryFrom ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ ?static ] + } + } + + - Properties [2] { + Property [ public readonly string $name ] + Property [ public readonly string $value ] + } + + - Methods [3] { + Method [ public method toSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method toSID ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ class ion\Symbol\PHP implements BackedEnum, UnitEnum, ion\Symbol\Enum ] { + + - Constants [10] { + Constant [ public ion\Symbol\PHP PHP ] { Object } + Constant [ public ion\Symbol\PHP Reference ] { Object } + Constant [ public ion\Symbol\PHP Backref ] { Object } + Constant [ public ion\Symbol\PHP Property ] { Object } + Constant [ public ion\Symbol\PHP Object ] { Object } + Constant [ public ion\Symbol\PHP ClassObject ] { Object } + Constant [ public ion\Symbol\PHP MagicObject ] { Object } + Constant [ public ion\Symbol\PHP CustomObject ] { Object } + Constant [ public ion\Symbol\PHP Enum ] { Object } + Constant [ public ion\Symbol\PHP Serializable ] { Object } + } + + - Static properties [0] { + } + + - Static methods [4] { + Method [ static public method asTable ] { + + - Parameters [0] { + } + - Return [ ion\Symbol\Table\Shared ] + } + + Method [ static public method cases ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ static public method from ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ static ] + } + + Method [ static public method tryFrom ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ ?static ] + } + } + + - Properties [2] { + Property [ public readonly string $name ] + Property [ public readonly string $value ] + } + + - Methods [3] { + Method [ public method toSymbol ] { + + - Parameters [0] { + } + - Return [ ion\Symbol ] + } + + Method [ public method toSID ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ class ion\Timestamp extends DateTime implements Stringable, DateTimeInterface ] { + + - Constants [13] { + Constant [ public string ATOM ] { Y-m-d\TH:i:sP } + Constant [ public string COOKIE ] { l, d-M-Y H:i:s T } + Constant [ public string ISO8601 ] { Y-m-d\TH:i:sO } + Constant [ public string RFC822 ] { D, d M y H:i:s O } + Constant [ public string RFC850 ] { l, d-M-y H:i:s T } + Constant [ public string RFC1036 ] { D, d M y H:i:s O } + Constant [ public string RFC1123 ] { D, d M Y H:i:s O } + Constant [ public string RFC7231 ] { D, d M Y H:i:s \G\M\T } + Constant [ public string RFC2822 ] { D, d M Y H:i:s O } + Constant [ public string RFC3339 ] { Y-m-d\TH:i:sP } + Constant [ public string RFC3339_EXTENDED ] { Y-m-d\TH:i:s.vP } + Constant [ public string RSS ] { D, d M Y H:i:s O } + Constant [ public string W3C ] { Y-m-d\TH:i:sP } + } + + - Static properties [0] { + } + + - Static methods [5] { + Method [ static public method __set_state ] { + + - Parameters [1] { + Parameter #0 [ array $array ] + } + - Tentative return [ DateTime ] + } + + Method [ static public method createFromImmutable ] { + + - Parameters [1] { + Parameter #0 [ DateTimeImmutable $object ] + } + - Tentative return [ DateTime ] + } + + Method [ static public method createFromInterface ] { + + - Parameters [1] { + Parameter #0 [ DateTimeInterface $object ] + } + - Return [ DateTime ] + } + + Method [ static public method createFromFormat ] { + + - Parameters [3] { + Parameter #0 [ string $format ] + Parameter #1 [ string $datetime ] + Parameter #2 [ ?DateTimeZone $timezone = null ] + } + - Tentative return [ DateTime|false ] + } + + Method [ static public method getLastErrors ] { + + - Parameters [0] { + } + - Tentative return [ array|false ] + } + } + + - Properties [2] { + Property [ public readonly int $precision ] + Property [ public readonly string $format ] + } + + - Methods [16] { + Method [ public method __construct ] { + + - Parameters [4] { + Parameter #0 [ ion\Timestamp\Precision|int $precision ] + Parameter #1 [ ion\Timestamp\Format|string|null $format = null ] + Parameter #2 [ ?string $datetime = null ] + Parameter #3 [ ?DateTimeZone $timezone = null ] + } + } + + Method [ public method __toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method __wakeup ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + + Method [ public method format ] { + + - Parameters [1] { + Parameter #0 [ string $format ] + } + - Tentative return [ string ] + } + + Method [ public method modify ] { + + - Parameters [1] { + Parameter #0 [ string $modifier ] + } + - Tentative return [ DateTime|false ] + } + + Method [ public method add ] { + + - Parameters [1] { + Parameter #0 [ DateInterval $interval ] + } + - Tentative return [ DateTime ] + } + + Method [ public method sub ] { + + - Parameters [1] { + Parameter #0 [ DateInterval $interval ] + } + - Tentative return [ DateTime ] + } + + Method [ public method getTimezone ] { + + - Parameters [0] { + } + - Tentative return [ DateTimeZone|false ] + } + + Method [ public method setTimezone ] { + + - Parameters [1] { + Parameter #0 [ DateTimeZone $timezone ] + } + - Tentative return [ DateTime ] + } + + Method [ public method getOffset ] { + + - Parameters [0] { + } + - Tentative return [ int ] + } + + Method [ public method setTime ] { + + - Parameters [4] { + Parameter #0 [ int $hour ] + Parameter #1 [ int $minute ] + Parameter #2 [ int $second = 0 ] + Parameter #3 [ int $microsecond = 0 ] + } + - Tentative return [ DateTime ] + } + + Method [ public method setDate ] { + + - Parameters [3] { + Parameter #0 [ int $year ] + Parameter #1 [ int $month ] + Parameter #2 [ int $day ] + } + - Tentative return [ DateTime ] + } + + Method [ public method setISODate ] { + + - Parameters [3] { + Parameter #0 [ int $year ] + Parameter #1 [ int $week ] + Parameter #2 [ int $dayOfWeek = 1 ] + } + - Tentative return [ DateTime ] + } + + Method [ public method setTimestamp ] { + + - Parameters [1] { + Parameter #0 [ int $timestamp ] + } + - Tentative return [ DateTime ] + } + + Method [ public method getTimestamp ] { + + - Parameters [0] { + } + - Tentative return [ int ] + } + + Method [ public method diff ] { + + - Parameters [2] { + Parameter #0 [ DateTimeInterface $targetObject ] + Parameter #1 [ bool $absolute = false ] + } + - Tentative return [ DateInterval ] + } + } + } + + Class [ class ion\Timestamp\Format implements BackedEnum, UnitEnum ] { + + - Constants [9] { + Constant [ public ion\Timestamp\Format Year ] { Object } + Constant [ public ion\Timestamp\Format Month ] { Object } + Constant [ public ion\Timestamp\Format Day ] { Object } + Constant [ public ion\Timestamp\Format Min ] { Object } + Constant [ public ion\Timestamp\Format Sec ] { Object } + Constant [ public ion\Timestamp\Format Frac ] { Object } + Constant [ public ion\Timestamp\Format MinTZ ] { Object } + Constant [ public ion\Timestamp\Format SecTZ ] { Object } + Constant [ public ion\Timestamp\Format FracTZ ] { Object } + } + + - Static properties [0] { + } + + - Static methods [3] { + Method [ static public method cases ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ static public method from ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ static ] + } + + Method [ static public method tryFrom ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ ?static ] + } + } + + - Properties [2] { + Property [ public readonly string $name ] + Property [ public readonly string $value ] + } + + - Methods [0] { + } + } + + Class [ class ion\Timestamp\Precision implements BackedEnum, UnitEnum ] { + + - Constants [9] { + Constant [ public ion\Timestamp\Precision Year ] { Object } + Constant [ public ion\Timestamp\Precision Month ] { Object } + Constant [ public ion\Timestamp\Precision Day ] { Object } + Constant [ public ion\Timestamp\Precision Min ] { Object } + Constant [ public ion\Timestamp\Precision Sec ] { Object } + Constant [ public ion\Timestamp\Precision Frac ] { Object } + Constant [ public ion\Timestamp\Precision MinTZ ] { Object } + Constant [ public ion\Timestamp\Precision SecTZ ] { Object } + Constant [ public ion\Timestamp\Precision FracTZ ] { Object } + } + + - Static properties [0] { + } + + - Static methods [3] { + Method [ static public method cases ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ static public method from ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ static ] + } + + Method [ static public method tryFrom ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ ?static ] + } + } + + - Properties [2] { + Property [ public readonly string $name ] + Property [ public readonly int $value ] + } + + - Methods [0] { + } + } + + Class [ class ion\Type implements BackedEnum, UnitEnum ] { + + - Constants [16] { + Constant [ public ion\Type Null ] { Object } + Constant [ public ion\Type Bool ] { Object } + Constant [ public ion\Type Int ] { Object } + Constant [ public ion\Type Float ] { Object } + Constant [ public ion\Type Decimal ] { Object } + Constant [ public ion\Type Timestamp ] { Object } + Constant [ public ion\Type Symbol ] { Object } + Constant [ public ion\Type String ] { Object } + Constant [ public ion\Type CLob ] { Object } + Constant [ public ion\Type BLob ] { Object } + Constant [ public ion\Type List ] { Object } + Constant [ public ion\Type SExp ] { Object } + Constant [ public ion\Type Struct ] { Object } + Constant [ public ion\Type Datagram ] { Object } + Constant [ public ion\Type EOF ] { Object } + Constant [ public ion\Type NONE ] { Object } + } + + - Static properties [0] { + } + + - Static methods [3] { + Method [ static public method cases ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ static public method from ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ static ] + } + + Method [ static public method tryFrom ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ ?static ] + } + } + + - Properties [2] { + Property [ public readonly string $name ] + Property [ public readonly int $value ] + } + + - Methods [0] { + } + } + + Interface [ interface ion\Writer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [21] { + Method [ abstract public method writeNull ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method writeTypedNull ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method writeBool ] { + + - Parameters [1] { + Parameter #0 [ bool $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeInt ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeFloat ] { + + - Parameters [1] { + Parameter #0 [ float $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeDecimal ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeTimestamp ] { + + - Parameters [1] { + Parameter #0 [ ion\Timestamp|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeSymbol ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeString ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeCLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeBLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method startLob ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method appendLob ] { + + - Parameters [1] { + Parameter #0 [ string $data ] + } + - Return [ void ] + } + + Method [ abstract public method finishLob ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method startContainer ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method finishContainer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method writeFieldName ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ void ] + } + + Method [ abstract public method writeAnnotation ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string ...$annotation ] + } + - Return [ void ] + } + + Method [ abstract public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method flush ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method finish ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Class [ class ion\Writer\Options ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [12] { + Property [ public readonly ?ion\Catalog $catalog ] + Property [ public readonly ?ion\Decimal\Context $decimalContext ] + Property [ public readonly bool $outputBinary ] + Property [ public readonly bool $compactFloats ] + Property [ public readonly bool $escapeNonAscii ] + Property [ public readonly bool $prettyPrint ] + Property [ public readonly bool $indentTabs ] + Property [ public readonly int $indentSize ] + Property [ public readonly bool $flushEveryValue ] + Property [ public readonly int $maxContainerDepth ] + Property [ public readonly int $maxAnnotations ] + Property [ public readonly int $tempBufferSize ] + } + + - Methods [1] { + Method [ public method __construct ] { + + - Parameters [12] { + Parameter #0 [ ?ion\Catalog $catalog = null ] + Parameter #1 [ ?ion\Decimal\Context $decimalContext = null ] + Parameter #2 [ bool $outputBinary = false ] + Parameter #3 [ bool $compactFloats = false ] + Parameter #4 [ bool $escapeNonAscii = false ] + Parameter #5 [ bool $prettyPrint = false ] + Parameter #6 [ bool $indentTabs = true ] + Parameter #7 [ int $indentSize = 2 ] + Parameter #8 [ bool $flushEveryValue = false ] + Parameter #9 [ int $maxContainerDepth = 10 ] + Parameter #10 [ int $maxAnnotations = 10 ] + Parameter #11 [ int $tempBufferSize = 0x4000 ] + } + } + } + } + + Class [ abstract class ion\Writer\Writer implements ion\Writer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [21] { + Method [ public method writeNull ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method writeTypedNull ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method writeBool ] { + + - Parameters [1] { + Parameter #0 [ bool $value ] + } + - Return [ void ] + } + + Method [ public method writeInt ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ void ] + } + + Method [ public method writeFloat ] { + + - Parameters [1] { + Parameter #0 [ float $value ] + } + - Return [ void ] + } + + Method [ public method writeDecimal ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal|string $value ] + } + - Return [ void ] + } + + Method [ public method writeTimestamp ] { + + - Parameters [1] { + Parameter #0 [ ion\Timestamp|string $value ] + } + - Return [ void ] + } + + Method [ public method writeSymbol ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $value ] + } + - Return [ void ] + } + + Method [ public method writeString ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method writeCLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method writeBLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method startLob ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method appendLob ] { + + - Parameters [1] { + Parameter #0 [ string $data ] + } + - Return [ void ] + } + + Method [ public method finishLob ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method startContainer ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method finishContainer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method writeFieldName ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ void ] + } + + Method [ public method writeAnnotation ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string ...$annotation ] + } + - Return [ void ] + } + + Method [ public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method flush ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method finish ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Interface [ interface ion\Writer\Buffer extends ion\Writer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [23] { + Method [ abstract public method getBuffer ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ abstract public method resetBuffer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method writeNull ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method writeTypedNull ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method writeBool ] { + + - Parameters [1] { + Parameter #0 [ bool $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeInt ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeFloat ] { + + - Parameters [1] { + Parameter #0 [ float $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeDecimal ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeTimestamp ] { + + - Parameters [1] { + Parameter #0 [ ion\Timestamp|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeSymbol ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeString ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeCLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeBLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method startLob ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method appendLob ] { + + - Parameters [1] { + Parameter #0 [ string $data ] + } + - Return [ void ] + } + + Method [ abstract public method finishLob ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method startContainer ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method finishContainer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method writeFieldName ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ void ] + } + + Method [ abstract public method writeAnnotation ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string ...$annotation ] + } + - Return [ void ] + } + + Method [ abstract public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method flush ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method finish ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Class [ class ion\Writer\Buffer\Writer extends ion\Writer\Writer implements ion\Writer, ion\Writer\Buffer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [24] { + Method [ public method __construct ] { + + - Parameters [1] { + Parameter #0 [ ?ion\Writer\Options $options = null ] + } + } + + Method [ public method getBuffer ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method resetBuffer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method writeNull ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method writeTypedNull ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method writeBool ] { + + - Parameters [1] { + Parameter #0 [ bool $value ] + } + - Return [ void ] + } + + Method [ public method writeInt ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ void ] + } + + Method [ public method writeFloat ] { + + - Parameters [1] { + Parameter #0 [ float $value ] + } + - Return [ void ] + } + + Method [ public method writeDecimal ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal|string $value ] + } + - Return [ void ] + } + + Method [ public method writeTimestamp ] { + + - Parameters [1] { + Parameter #0 [ ion\Timestamp|string $value ] + } + - Return [ void ] + } + + Method [ public method writeSymbol ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $value ] + } + - Return [ void ] + } + + Method [ public method writeString ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method writeCLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method writeBLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method startLob ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method appendLob ] { + + - Parameters [1] { + Parameter #0 [ string $data ] + } + - Return [ void ] + } + + Method [ public method finishLob ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method startContainer ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method finishContainer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method writeFieldName ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ void ] + } + + Method [ public method writeAnnotation ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string ...$annotation ] + } + - Return [ void ] + } + + Method [ public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method flush ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method finish ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Interface [ interface ion\Writer\Stream extends ion\Writer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [22] { + Method [ abstract public method getStream ] { + + - Parameters [0] { + } + } + + Method [ abstract public method writeNull ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method writeTypedNull ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method writeBool ] { + + - Parameters [1] { + Parameter #0 [ bool $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeInt ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeFloat ] { + + - Parameters [1] { + Parameter #0 [ float $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeDecimal ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeTimestamp ] { + + - Parameters [1] { + Parameter #0 [ ion\Timestamp|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeSymbol ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeString ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeCLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method writeBLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ abstract public method startLob ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method appendLob ] { + + - Parameters [1] { + Parameter #0 [ string $data ] + } + - Return [ void ] + } + + Method [ abstract public method finishLob ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method startContainer ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ abstract public method finishContainer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ abstract public method writeFieldName ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ void ] + } + + Method [ abstract public method writeAnnotation ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string ...$annotation ] + } + - Return [ void ] + } + + Method [ abstract public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method flush ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ abstract public method finish ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Class [ class ion\Writer\Stream\Writer extends ion\Writer\Writer implements ion\Writer, ion\Writer\Stream ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [23] { + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ $stream ] + Parameter #1 [ ?ion\Writer\Options $options = null ] + } + } + + Method [ public method getStream ] { + + - Parameters [0] { + } + } + + Method [ public method writeNull ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method writeTypedNull ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method writeBool ] { + + - Parameters [1] { + Parameter #0 [ bool $value ] + } + - Return [ void ] + } + + Method [ public method writeInt ] { + + - Parameters [1] { + Parameter #0 [ string|int $value ] + } + - Return [ void ] + } + + Method [ public method writeFloat ] { + + - Parameters [1] { + Parameter #0 [ float $value ] + } + - Return [ void ] + } + + Method [ public method writeDecimal ] { + + - Parameters [1] { + Parameter #0 [ ion\Decimal|string $value ] + } + - Return [ void ] + } + + Method [ public method writeTimestamp ] { + + - Parameters [1] { + Parameter #0 [ ion\Timestamp|string $value ] + } + - Return [ void ] + } + + Method [ public method writeSymbol ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string $value ] + } + - Return [ void ] + } + + Method [ public method writeString ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method writeCLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method writeBLob ] { + + - Parameters [1] { + Parameter #0 [ string $value ] + } + - Return [ void ] + } + + Method [ public method startLob ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method appendLob ] { + + - Parameters [1] { + Parameter #0 [ string $data ] + } + - Return [ void ] + } + + Method [ public method finishLob ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method startContainer ] { + + - Parameters [1] { + Parameter #0 [ ion\Type $type ] + } + - Return [ void ] + } + + Method [ public method finishContainer ] { + + - Parameters [0] { + } + - Return [ void ] + } + + Method [ public method writeFieldName ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ void ] + } + + Method [ public method writeAnnotation ] { + + - Parameters [1] { + Parameter #0 [ ion\Symbol|string ...$annotation ] + } + - Return [ void ] + } + + Method [ public method getDepth ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method flush ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ public method finish ] { + + - Parameters [0] { + } + - Return [ int ] + } + } + } + + Interface [ interface ion\Unserializer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [1] { + Method [ abstract public method unserialize ] { + + - Parameters [1] { + Parameter #0 [ $data ] + } + - Return [ mixed ] + } + } + } + + Class [ class ion\Unserializer\PHP implements ion\Unserializer ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [4] { + Property [ public readonly ?ion\Reader\Options $readerOptions ] + Property [ public readonly bool $multiSequence ] + Property [ public readonly bool $callMagicUnserialize ] + Property [ public readonly ?string $callCustomUnserialize ] + } + + - Methods [2] { + Method [ public method __construct ] { + + - Parameters [4] { + Parameter #0 [ ?ion\Reader\Options $readerOptions = null ] + Parameter #1 [ bool $multiSequence = false ] + Parameter #2 [ bool $callMagicUnserialize = true ] + Parameter #3 [ ?string $callCustomUnserialize = null ] + } + } + + Method [ public method unserialize ] { + + - Parameters [1] { + Parameter #0 [ $data ] + } + - Return [ mixed ] + } + } + } + } +} + diff --git a/php-pecl-ion.spec b/php-pecl-ion.spec new file mode 100644 index 0000000..53b45e4 --- /dev/null +++ b/php-pecl-ion.spec @@ -0,0 +1,227 @@ +# remirepo spec file for php-pecl-ion +# +# Copyright (c) 2022 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +# TODO use system ion-c (not yet available) + +# we don't want -z defs linker flag +%undefine _strict_symbol_defs_build + +%if 0%{?scl:1} +%scl_package php-pecl-ion +%else +%global _root_bindir %{_bindir} +%endif + +%bcond_without tests +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%global pecl_name ion +%global ini_name 40-%{pecl_name}.ini + +%global upstream_version 0.1.0 +#global upstream_prever a1 + +# Bundled library https://github.com/amzn/ion-c/releases +# see https://github.com/awesomized/ext-ion for used commit reference +%global gh_commit fcbfeaed29a39de03efdc3d2bc825a425312ecf7 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner amzn +%global gh_project ion-c +%global gh_version 1.4.0 + +Summary: Amazon ION support +Name: %{?scl_prefix}php-pecl-%{pecl_name} +Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} +Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} + +License: BSD +URL: https://pecl.php.net/package/%{pecl_name} +Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz +Source1: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{gh_version}-%{gh_short}.tar.gz + +BuildRequires: make +%if 0%{?rhel} == 7 +BuildRequires: cmake3 >= 3.6 +%else +BuildRequires: cmake >= 3.6 +%endif +BuildRequires: %{?dtsprefix}gcc +BuildRequires: %{?scl_prefix}php-devel >= 8.1 +BuildRequires: %{?scl_prefix}php-pear + +Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} +Requires: %{?scl_prefix}php(api) = %{php_core_api} +%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} + +Provides: %{?scl_prefix}php-%{pecl_name} = %{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} +# Bundled library +Provides: bundled(ion-c) = %{gh_version} + +%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} +# Other third party repo stuff +Obsoletes: php81-pecl-%{pecl_name} <= %{version} +%endif + + +%description +This PHP extension provides support for the Amazon ION serialization format. + +Documentation: https://awesomized.github.io/ext-ion/ + +Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. + + +%prep +%setup -qc -a1 +mv %{pecl_name}-%{upstream_version}%{?upstream_prever} NTS + +# Don't install/register tests +sed -e 's/role="test"/role="src"/' \ + %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ + -i package.xml + +cd NTS +# use bundled library +ln -s ../%{gh_project}-%{gh_commit} ion-c + +# don't build test and tools +sed -e '/add_subdirectory(test)/d;/add_subdirectory(tools)/d' -i ion-c/CMakeLists.txt + +# use system build options +sed -e 's/CFLAGS=.* //' -i Makefile.frag + +# Check version as upstream often forget to update this +extver=$(sed -n '/define PHP_ION_VERSION/{s/.* "//;s/".*$//;p}' php_ion.h) +if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}%{?gh_date:-dev}"; then + : Error: Upstream version is ${extver}, expecting %{upstream_version}%{?upstream_prever}%{?gh_date:-dev}. + exit 1 +fi +cd .. + +%if %{with_zts} +# duplicate for ZTS build +cp -pr NTS ZTS +%endif + +# Create configuration file +cat > %{ini_name} << 'EOF' +; Enable %{pecl_name} extension module +extension=%{pecl_name}.so +EOF + + +%build +%{?dtsenable} + +%if 0%{?rhel} == 7 +export CMAKE=%{_root_bindir}/cmake3 +%endif + +peclconf() { +%configure \ + --with-ion \ + --with-php-config=$1 +} + +cd NTS +%{_bindir}/phpize +peclconf %{_bindir}/php-config +make %{?_smp_mflags} + +%if %{with_zts} +cd ../ZTS +%{_bindir}/zts-phpize +peclconf %{_bindir}/zts-php-config +make %{?_smp_mflags} +%endif + + +%install +%{?dtsenable} + +# Install the NTS stuff +make -C NTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} + +# Install XML package description +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +# Install the ZTS stuff +%if %{with_zts} +make -C ZTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} +%endif + +# Documentation +for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') +do [ -f NTS/$i ] && install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +done + + +%check +: Minimal load test for NTS extension +%{_bindir}/php --no-php-ini \ + --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ + --modules | grep '^%{pecl_name}$' + +%if %{with_zts} +: Minimal load test for ZTS extension +%{__ztsphp} --no-php-ini \ + --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ + --modules | grep '^%{pecl_name}$' + +%endif + +%if %{with tests} +cd NTS +: Run upstream test suite +TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ +%{__php} -n run-tests.php -q --show-diff %{?_smp_mflags} +%endif + + +%if 0%{?fedora} < 24 && 0%{?rhel} < 8 +# when pear installed alone, after us +%triggerin -- %{?scl_prefix}php-pear +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +# posttrans as pear can be installed after us +%posttrans +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +%postun +if [ $1 -eq 0 -a -x %{__pecl} ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi +%endif + + +%files +%{?_licensedir:%license NTS/LICENSE} +%doc %{pecl_docdir}/%{pecl_name} +%{pecl_xmldir}/%{name}.xml + +%config(noreplace) %{php_inidir}/%{ini_name} +%{php_extdir}/%{pecl_name}.so + +%if %{with_zts} +%{php_ztsextdir}/%{pecl_name}.so +%config(noreplace) %{php_ztsinidir}/%{ini_name} +%endif + + +%changelog +* Tue Feb 1 2022 Remi Collet - 0.1.0-1 +- initial package -- cgit