mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-03 19:42:25 -06:00 
			
		
		
		
	This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3) and accessed through [Wazero](https://wazero.io/).
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Package experimental includes features we aren't yet sure about. These are enabled with context.Context keys.
 | 
						|
//
 | 
						|
// Note: All features here may be changed or deleted at any time, so use with caution!
 | 
						|
package experimental
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/tetratelabs/wazero/api"
 | 
						|
)
 | 
						|
 | 
						|
// InternalModule is an api.Module that exposes additional
 | 
						|
// information.
 | 
						|
type InternalModule interface {
 | 
						|
	api.Module
 | 
						|
 | 
						|
	// NumGlobal returns the count of all globals in the module.
 | 
						|
	NumGlobal() int
 | 
						|
 | 
						|
	// Global provides a read-only view for a given global index.
 | 
						|
	//
 | 
						|
	// The methods panics if i is out of bounds.
 | 
						|
	Global(i int) api.Global
 | 
						|
}
 | 
						|
 | 
						|
// ProgramCounter is an opaque value representing a specific execution point in
 | 
						|
// a module. It is meant to be used with Function.SourceOffsetForPC and
 | 
						|
// StackIterator.
 | 
						|
type ProgramCounter uint64
 | 
						|
 | 
						|
// InternalFunction exposes some information about a function instance.
 | 
						|
type InternalFunction interface {
 | 
						|
	// Definition provides introspection into the function's names and
 | 
						|
	// signature.
 | 
						|
	Definition() api.FunctionDefinition
 | 
						|
 | 
						|
	// SourceOffsetForPC resolves a program counter into its corresponding
 | 
						|
	// offset in the Code section of the module this function belongs to.
 | 
						|
	// The source offset is meant to help map the function calls to their
 | 
						|
	// location in the original source files. Returns 0 if the offset cannot
 | 
						|
	// be calculated.
 | 
						|
	SourceOffsetForPC(pc ProgramCounter) uint64
 | 
						|
}
 |