hasmer
|
Classes | |
class | ConsoleProgressBar |
Taken from https://gist.github.com/DanielSWolf/0ab6a96899cc5377bf54 More... | |
class | HbcAbstractInstructionDefinition |
Represents the abstract form of variant instructions. Variant instructions are instructions which perform the same action, but can have differently sized operands. By abstracting these instructions to all have one name, the assembler can optimize the size of the operands. Thus, programmers do not have to figure out the proper sizes when they write Hasm code. Passing the "--exact" flag to the hasmer disassmbler will ignore abstract definitions, and instead emit the exact instruction. More... | |
class | HbcBytecodeFormat |
Represents a definition of the bytecode operations for a given Hermes version. This is generally used by deserializing a JSON object, specifically the "Bytecode*.json" file in the Resources directory that corresponds to the desired Hermes version. The "Bytecode*.json" themselves are autogenerated using the "bytecode-format-generator" tool, which is located in a directory at the root of this git repository. More... | |
class | HbcCjsModuleTableEntry |
class | HbcDataBufferPrefix |
Represents the header of an array in the data buffer. More... | |
class | HbcDataBufferItems |
Represents an entry in the data buffer (data type and subsequent items). More... | |
class | HbcDataBuffer |
Represents a Hermes data buffer, such as the array buffer. More... | |
class | HbcEncodedItem |
Represents an item whose parsing format is defined in JSON, whose value corresponds to a series of data in a Hermes bytecode file. More... | |
class | HbcFile |
Represents a parsed Hermes bytecode file. More... | |
class | HbcFuncHeader |
Represents a function header definition in a Hermes bytecode file. More... | |
class | HbcGenericTableEntry |
class | HbcHeader |
Represents the header of a Hermes bytecode file. More... | |
class | HbcInstruction |
Represents an instruction in Hermes bytecode. More... | |
class | HbcInstructionDefinition |
Represents the definition of an instruction in a JSON bytecode definitions file. More... | |
class | HbcInstructionOperand |
Represents an operand of Hermes bytecode instruction. More... | |
class | HbcInstructionOperandTypeImpl |
class | HbcOverflowStringTableEntry |
Represents a string that was too large to be in the normal string table. More... | |
class | HbcReader |
Represents a BinaryReader that can also read individual bits. More... | |
class | HbcSmallFuncHeader |
Represents a SmallFuncHeader, which is just a FuncHeader but also includes a pointer to the full function. This is the default function information implementation in bytecode files, but if the function's contents (i.e. bytecode, register count, etc) cannot be included within the bounds of a SmallFuncHeader, this object includes a pointer to the full header as well. More... | |
class | HbcSmallStringTableEntry |
Represents a string in the string raw buffer. Used for creating the string table. More... | |
class | HbcWriter |
Represents a BinaryWriter which can write individual bits. More... | |
class | JenkinsHash |
class | ObjectDumper |
class | PrimitiveValue |
A wrapper type for any other given type, which keeps track of the original type that was passed. This is used to ensure that primitive types can maintain their original type when cast from object to their type. By just using object, all primitive values are coerced into a double, which is undesirable. More... | |
class | ResourceManager |
Utility for working with embedded resources. More... | |
class | SourceCodeBuilder |
Represents source code. Used for maintaining indentation and other source code syntax. More... | |
class | StringEscape |
Utility for working with string escape codes. More... | |
struct | StringKindEntry |
class | StringTableEntry |
Enumerations | |
enum class | HbcDataBufferTagType { Null = 0 , True = 1 << 4 , False = 2 << 4 , Number = 3 << 4 , LongString = 4 << 4 , ShortString = 5 << 4 , ByteString = 6 << 4 , Integer = 7 << 4 } |
Represents the type of a series of data in the DataBuffer. More... | |
enum class | HbcFuncHeaderFlags : byte { ProhibitCall = 0x00 , ProhibitConstruct = 0x01 , ProhibitNone = 0x02 , StrictMode = 0x04 , HasExceptionHandler = 0x08 , HasDebugInfo = 0x10 , Overflowed = 0x20 } |
The flags a function can have. Note that the Prohibit* flags cannot be used in conjunction with Enum.HasFlag because ProhibitCall is 0. More... | |
enum class | HbcBytecodeOptions : byte { StaticBuiltins = 0x1 , CjsModulesStaticallyResolved = 0x2 , HasAsync = 0x4 } |
The global options of the bytecode file, which are used by the Hermes runtime. More... | |
enum class | HbcInstructionOperandType { Reg8 , Reg32 , UInt8 , UInt16 , UInt32 , Addr8 , Addr32 , Imm32 , Double , UInt8S , UInt16S , UInt32S } |
Represents the type of an operand. More... | |
enum class | StringKind { Literal = 0 << StringKindEntry.CountBits , Identifier = 1 << StringKindEntry.CountBits } |
Used for determining whether a string is an identifier or a string literal. More... | |
|
strong |
The global options of the bytecode file, which are used by the Hermes runtime.
|
strong |
Represents the type of a series of data in the DataBuffer.
|
strong |
The flags a function can have. Note that the Prohibit* flags cannot be used in conjunction with Enum.HasFlag because ProhibitCall is 0.
|
strong |
Represents the type of an operand.
|
strong |
Used for determining whether a string is an identifier or a string literal.