godot/thirdparty/graphite/src/Code.cpp

// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
// Copyright 2010, SIL International, All rights reserved.

// This class represents loaded graphite stack machine code.  It performs
// basic sanity checks, on the incoming code to prevent more obvious problems
// from crashing graphite.
// Author: Tim Eves

#include <cassert>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include "graphite2/Segment.h"
#include "inc/Code.h"
#include "inc/Face.h"
#include "inc/GlyphFace.h"
#include "inc/GlyphCache.h"
#include "inc/Machine.h"
#include "inc/Rule.h"
#include "inc/Silf.h"

#include <cstdio>

#ifdef NDEBUG
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wunused-parameter"
#endif
#endif


usingnamespacegraphite2;
usingnamespacevm;

namespace {

inline bool is_return(const instr i) {}

struct context
{};

} // end namespace


class Machine::Code::decoder
{};


struct Machine::Code::decoder::limits
{};

inline Machine::Code::decoder::decoder(limits & lims, Code &code, enum passtype pt) throw()
:{}



Machine::Code::Code(bool is_constraint, const byte * bytecode_begin, const byte * const bytecode_end,
           uint8 pre_context, uint16 rule_length, const Silf & silf, const Face & face,
           enum passtype pt, byte * * const _out)
 :{}

Machine::Code::~Code() throw ()
{}


bool Machine::Code::decoder::load(const byte * bc, const byte * bc_end)
{}

// Validation check and fixups.
//

opcode Machine::Code::decoder::fetch_opcode(const byte * bc)
{}


void Machine::Code::decoder::analyse_opcode(const opcode opc, const int8  * arg) throw()
{}


bool Machine::Code::decoder::emit_opcode(opcode opc, const byte * & bc)
{}


void Machine::Code::decoder::apply_analysis(instr * const code, instr * code_end)
{}


inline
bool Machine::Code::decoder::validate_opcode(const byte opc, const byte * const bc)
{}


bool Machine::Code::decoder::valid_upto(const uint16 limit, const uint16 x) const throw()
{}

inline
bool Machine::Code::decoder::test_ref(int8 index) const throw()
{}

bool Machine::Code::decoder::test_context() const throw()
{}

bool Machine::Code::decoder::test_attr(attrCode) const throw()
{}

inline
void Machine::Code::failure(const status_t s) throw() {}


inline
void Machine::Code::decoder::set_ref(int index) throw() {}


inline
void Machine::Code::decoder::set_noref(int index) throw() {}


inline
void Machine::Code::decoder::set_changed(int index) throw() {}


void Machine::Code::release_buffers() throw()
{}


int32 Machine::Code::run(Machine & m, slotref * & map) const
{}