hasmer
Public Member Functions | Properties | List of all members
Hasmer.HbcFile Class Reference

Represents a parsed Hermes bytecode file. More...

Public Member Functions

 HbcFile ()
 Creates a new bytecode file (probably to be writen out). Does not parse anything. More...
 
 HbcFile (HbcReader reader)
 Parses an entire Hermes bytecode file from the given reader. More...
 
byte[] Write ()
 Writes the Hermes bytecode file and serializes it to a byte array. More...
 
StringTableEntry GetStringTableEntry (int index)
 

Properties

HbcHeader Header [get, set]
 The header of the file. More...
 
HbcBytecodeFormat BytecodeFormat [get, set]
 The bytecode format definition found, given the version of the Hermes bytecode in the file. More...
 
HbcSmallFuncHeader[] SmallFuncHeaders [get, set]
 The headers of all functions in the binary. More...
 
HbcGenericTableEntry[] BigIntTable [get, set]
 
HbcGenericTableEntry[] RegExpTable [get, set]
 
HbcCjsModuleTableEntry[] CjsModuleTable [get, set]
 
HbcDataBuffer ArrayBuffer [get, set]
 The Array Buffer, which contains all constant array data. More...
 
HbcDataBuffer ObjectKeyBuffer [get, set]
 The Object Key Buffer, which contains the keys of all constant objects. More...
 
HbcDataBuffer ObjectValueBuffer [get, set]
 The Object Value Buffer, which contains the values of all constant objects. More...
 
byte[] BigIntStorage [get, set]
 
byte[] RegExpStorage [get, set]
 
byte[] Instructions [get, set]
 Contains all function instructions. Use the function headers (SmallFuncHeaders) to find which function correlates to which instructions. More...
 
uint InstructionOffset [get, set]
 The offset of the Instructions table in the binary. More...
 
StringTableEntry[] StringTable [get, set]
 The parsed string table. Index = string index (i.e. from an operand, etc.), Value = string at that index. More...
 

Detailed Description

Represents a parsed Hermes bytecode file.

Constructor & Destructor Documentation

◆ HbcFile() [1/2]

Hasmer.HbcFile.HbcFile ( )
inline

Creates a new bytecode file (probably to be writen out). Does not parse anything.

◆ HbcFile() [2/2]

Hasmer.HbcFile.HbcFile ( HbcReader  reader)
inline

Parses an entire Hermes bytecode file from the given reader.

Member Function Documentation

◆ Write()

byte [] Hasmer.HbcFile.Write ( )
inline

Writes the Hermes bytecode file and serializes it to a byte array.

Property Documentation

◆ ArrayBuffer

HbcDataBuffer Hasmer.HbcFile.ArrayBuffer
getset

The Array Buffer, which contains all constant array data.

◆ BytecodeFormat

HbcBytecodeFormat Hasmer.HbcFile.BytecodeFormat
getset

The bytecode format definition found, given the version of the Hermes bytecode in the file.

◆ Header

HbcHeader Hasmer.HbcFile.Header
getset

The header of the file.

◆ InstructionOffset

uint Hasmer.HbcFile.InstructionOffset
getset

The offset of the Instructions table in the binary.

◆ Instructions

byte [] Hasmer.HbcFile.Instructions
getset

Contains all function instructions. Use the function headers (SmallFuncHeaders) to find which function correlates to which instructions.

◆ ObjectKeyBuffer

HbcDataBuffer Hasmer.HbcFile.ObjectKeyBuffer
getset

The Object Key Buffer, which contains the keys of all constant objects.

◆ ObjectValueBuffer

HbcDataBuffer Hasmer.HbcFile.ObjectValueBuffer
getset

The Object Value Buffer, which contains the values of all constant objects.

◆ SmallFuncHeaders

HbcSmallFuncHeader [] Hasmer.HbcFile.SmallFuncHeaders
getset

The headers of all functions in the binary.

◆ StringTable

StringTableEntry [] Hasmer.HbcFile.StringTable
getset

The parsed string table. Index = string index (i.e. from an operand, etc.), Value = string at that index.


The documentation for this class was generated from the following file: