class

AsnObj

const class AsnObj : Obj

A tagged ASN.1 value

constructors make

fields val

The value for this object

tags

The tags for this object

methods coll

Get this object as an AsnColl

bool

Get the value as a Bool

oid

Get this object as an AsnOid

isBool

Is this object's universal tag a Boolean

isInt

Is this object's universal tag an Integer

univTag

Get the univ tag for this object

tag

Get the single effective tag for this object

seq

Get this object as an AsnSeq

toStr

valEquals

int

Get the value as an Int

push

Push a tag to the front of the tag chain for this value

str

Get the value as a Str

buf

Get any of the binary values as a Buf

effectiveTags

Apply rules for EXPLICIT and IMPLICIT tags to obtain the set of effective tags for encoding this object

valStr

valHash

equals

isNull

Is this an ASN.1 Null value

isOcts

Is this object's universal tag an Octet String

bigInt

Get the value as a BigInt

isOid

Is this object's universal tag an Object Identifier

isPrimitive

Is this a primitive type?

hash

ts

Get the value as a DateTime timestamp

bigInt BigInt bigInt()

Get the value as a BigInt.

bool Bool bool()

Get the value as a Bool

buf virtual Buf buf()

Get any of the binary values as a Buf. The Buf will be a safe copy that can be modified. Throws AsnErr if the value is not a binary value.

coll AsnColl coll()

Get this object as an AsnColl

effectiveTags AsnTag[] effectiveTags()

Apply rules for EXPLICIT and IMPLICIT tags to obtain the set of effective tags for encoding this object.

equals Bool equals(Obj? obj)

hash Int hash()

int Int int()

Get the value as an Int. If the value is a BigInt you may lose both precision and sign. Use bigInt to get the value explicitly as a BigInt.

isBool Bool isBool()

Is this object's universal tag a Boolean

isInt Bool isInt()

Is this object's universal tag an Integer

isNull Bool isNull()

Is this an ASN.1 Null value

isOcts Bool isOcts()

Is this object's universal tag an Octet String

isOid Bool isOid()

Is this object's universal tag an Object Identifier

isPrimitive Bool isPrimitive()

Is this a primitive type?

make new make(AsnTag[] tags, Obj? val)

oid AsnOid oid()

Get this object as an AsnOid

push virtual AsnObj push(AsnTag tag)

Push a tag to the front of the tag chain for this value. Returns a new instance of this object with the current value.

AsnObj.int(123).tag(AsnTag.implicit(TagClass.context, 0))
  => [0] IMPLICIT [UNIVERSAL 2]
AsnObj.int(123).tag(AsnTag.explicit(TagClass.app, 1))
  => [APPLICATION 1] EXPLICIT [UNIVERSAL 2]

seq AsnSeq seq()

Get this object as an AsnSeq

str Str str()

Get the value as a Str

tag AsnTag tag()

Get the single effective tag for this object. Throws an error if there are multiple effective tags

tags const AsnTag[] : tags

The tags for this object.

toStr virtual Str toStr()

ts DateTime ts()

Get the value as a DateTime timestamp

univTag AsnTag univTag()

Get the univ tag for this object

val const Obj? : val

The value for this object.

valEquals virtual Bool valEquals(AsnObj that)

valHash virtual Int valHash()

valStr virtual Str valStr()

Haxall 4.0.5 ∙ 24-Feb-2026 14:33 EST