hasmer
|
CHasmer.CLI.Program.AssembleOptions | |
►CAttribute | |
►CBinaryReader | |
►CBinaryWriter | |
CHasmer.Decompiler.Visitor.BooleanOperations | Visits instructions that perform boolean operations |
CHasmer.Decompiler.Analysis.ControlFlowBlock | Represents a block of code in a ControlFlowGraph. The block of code begins at either a position that is jumped to, or the start of the function. The block of code ends at the first jump instruction found after the code beyond the start position, or the end of the function |
CHasmer.Decompiler.Analysis.ControlFlowGraph | Represents the control flow of a function as a graph |
CHasmer.Decompiler.Visitor.CreationOperations | Visits operations that create new objects/arrays/etc |
CHasmer.Assembler.Visitor.DataAssembler | Assembles the declared data tokens (i.e. ".data") for creating the array value and object key/value buffers |
CHasmer.Assembler.DataDisassembler | Used for diassembling the data section of a Hermes bytecode file |
►CHasmer.CLI.Program.DecodeOptions | |
CHasmer.Decompiler.DecompilerContext | Represents the context of a function as it is being decompiled |
CHasmer.Decompiler.DecompilerOptions | Represents the options to be used when decompiling |
CHasmer.Assembler.DisassemblerOptions | Represents the options to be used when disassembling |
CHasmer.Decompiler.Visitor.EnvironmentOperations | Visitors for instructions that deal with function environments |
►CException | |
CHasmer.Decompiler.Visitor.FieldOperations | Visits instructions that gets/sets fields in an object |
CHasmer.Assembler.Visitor.FunctionAssembler | Assembles Hasm functions |
CHasmer.Decompiler.FunctionDecompiler | Represents a decompiler for an entire function |
CHasmer.Assembler.FunctionDisassembler | Disassembles a function from Hermes bytecode into Hasm assembly |
CHasmer.Decompiler.Visitor.FunctionOperations | Visits instructions that depend on / change the flow of the function; i.e. loading parameters, returning values, etc |
CHasmer.Decompiler.FunctionState | Represents the state of a function as it is decompiled |
CHasmer.Assembler.Visitor.HasmAssemblerDataBuffer | Represents a data buffer as it is declared in a Hasm file |
CHasmer.Assembler.Parser.HasmDataDeclaration | Represents a ".data" declaration |
CHasmer.Assembler.Parser.HasmHeader | Represents a ".hasm" header declaration |
CHasmer.Assembler.Parser.HasmProgram | |
CHasmer.Assembler.Parser.HasmReaderState | Represents the state of a Hasm reader, especially a HasmTokenStream |
CHasmer.Assembler.Parser.HasmStringStream | Represents a stream that parses a Hasm assembly file |
CHasmer.Assembler.Parser.HasmStringStreamState | |
►CHasmer.Assembler.Parser.HasmToken | Represents a token in a Hasm assembly file |
CHasmer.Assembler.Parser.HasmTokenizer | |
CHasmer.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 |
CHasmer.Assembler.HbcAssembler | Represents a Hasm assembler, which assembles into Hermes bytecode |
CHasmer.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 |
CHasmer.HbcDataBuffer | Represents a Hermes data buffer, such as the array buffer |
CHasmer.HbcDataBufferItems | Represents an entry in the data buffer (data type and subsequent items) |
CHasmer.HbcDataBufferPrefix | Represents the header of an array in the data buffer |
CHasmer.Decompiler.HbcDecompiler | Represents a decompiler of a Hermes bytecode file, used for approximating the original JavaScript source |
CHasmer.Assembler.HbcDisassembler | Represents a Hermes bytecode disassembler |
►CHasmer.HbcEncodedItem | Represents an item whose parsing format is defined in JSON, whose value corresponds to a series of data in a Hermes bytecode file |
CHasmer.HbcFile | Represents a parsed Hermes bytecode file |
CHasmer.Assembler.Visitor.HbcFunctionBuilder | Represents a function being built by the assembler |
CHasmer.HbcInstruction | Represents an instruction in Hermes bytecode |
CHasmer.HbcInstructionDefinition | Represents the definition of an instruction in a JSON bytecode definitions file |
CHasmer.HbcInstructionOperand | Represents an operand of Hermes bytecode instruction |
►CIDisposable | |
►CHasmer.Assembler.Parser.IHasmTokenParser | Represents a class which can parse Hasm tokens from a Hasm file |
CHasmer.Decompiler.Analysis.InstructionAnalyzer | |
CHasmer.Decompiler.Visitor.InvokeOperations | Visits instructions that invoke functions, methods, and constructors |
►CIProgress | |
CHasmer.JenkinsHash | |
CHasmer.Decompiler.Visitor.JumpOperations | Visits instructions that perform jump based on given citeria |
CHasmer.Decompiler.Visitor.LoadConstantOperations | Visitors for instructions that load constant values |
CHasmer.LSP.LSPServer | Implements the LSP methods |
CHasmer.Decompiler.Visitor.MathOperations | Visits instructions that perform mathematical operations (e.g. addition, subtraction, etc.) |
CHasmer.ObjectDumper | |
CHasmer.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 |
CHasmer.CLI.Program | |
CHasmer.LSP.Program | |
CHasmer.Decompiler.RegisterTracker | Represents the registers of a function, and keeps track of the operations being performed on them |
CHasmer.ResourceManager | Utility for working with embedded resources |
CHasmer.SourceCodeBuilder | Represents source code. Used for maintaining indentation and other source code syntax |
CHasmer.Decompiler.Analysis.StaticAnalyzer | The base class for performing static analysis on a decmopiled AST. This allows for optimizing the AST to make it as readable as possible |
CHasmer.Decompiler.Analysis.StaticAnalyzerState | |
►CStream | |
CHasmer.StringEscape | Utility for working with string escape codes |
CHasmer.StringKindEntry | |
CHasmer.StringTableEntry | |
►CHasmer.Decompiler.AST.SyntaxNode | Represents a token in the JavaScript syntax tree |
CHasmer.Assembler.Parser.TokenDefinition | |
CHasmer.Assembler.Parser.TokenizerResult | |
CHasmer.Assembler.Parser.TokenizerState | |
CHasmer.Assembler.Parser.TokenMatch | |
CHasmer.Decompiler.Visitor.UnaryOperations | Visits instructions whose decompiled AST is a UnaryExpression, such as TypeOf |