mangling

package
v1.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2019 License: Apache-2.0 Imports: 0 Imported by: 12

Documentation

Overview

Package mangling exposes a minimal collection of types used to build mangled strings using any of the sub-packages.

Index

Constants

View Source
const (
	Void = Builtin(iota)
	WChar
	Bool
	Char
	SChar
	UChar
	Short
	UShort
	Int
	UInt
	Long
	ULong
	S64
	U64
	Float
	Double
	Ellipsis
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Builtin

type Builtin int

Builtin is a builtin type.

type Class

type Class struct {
	Parent       Scope
	Name         string
	TemplateArgs []Type
}

Class represents a C++ struct or class.

func (*Class) GetName

func (c *Class) GetName() string

func (*Class) Scope

func (c *Class) Scope() Scope

func (*Class) TemplateArguments

func (c *Class) TemplateArguments() []Type

type Entity

type Entity interface {
	// contains filtered or unexported methods
}

Entity is implemented by all types in this package.

type Function

type Function struct {
	Parent       Scope
	Name         string
	Return       Type
	Parameters   []Type
	TemplateArgs []Type
	Const        bool
	Static       bool
}

Function is a function declaration.

func (*Function) GetName

func (f *Function) GetName() string

func (*Function) Scope

func (f *Function) Scope() Scope

func (*Function) TemplateArguments

func (f *Function) TemplateArguments() []Type

type Mangler

type Mangler func(Entity) string

Mangler is a function that mangles the entity into a string.

type Named

type Named interface {
	Entity
	GetName() string
}

Named is the interface for entities that have a source name.

type Namespace

type Namespace struct {
	Parent Scope
	Name   string
}

Namespace represents a C++ namespace.

func (*Namespace) GetName

func (n *Namespace) GetName() string

func (*Namespace) Scope

func (n *Namespace) Scope() Scope

type Pointer

type Pointer struct {
	To Type
}

Pointer is a pointer type.

type Scope

type Scope interface {
	Entity
	// contains filtered or unexported methods
}

Scope is a namespace or class.

type Scoped

type Scoped interface {
	Entity
	Scope() Scope
}

Scoped is the interface implemented by entities that can belong to a scope.

type TemplateParameter

type TemplateParameter int

TemplateParameter is a template parameter type index.

type Templated

type Templated interface {
	Entity
	TemplateArguments() []Type
}

Templated is type that can has template arguments.

type Type

type Type interface {
	Entity
	// contains filtered or unexported methods
}

Type is a POD or Class type.

Directories

Path Synopsis
c
Package c implements a basic symbol mangling for that is compatible with C.
Package c implements a basic symbol mangling for that is compatible with C.
Package ia64 implements a subset of the symbol mangling for the itanium ABI (standard for GCC).
Package ia64 implements a subset of the symbol mangling for the itanium ABI (standard for GCC).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL