gotools/go/analysis/passes/asmdecl/asmdecl.go

const Doc

var Analyzer

type asmKind

const asmString

const asmSlice

const asmArray

const asmInterface

const asmEmptyInterface

const asmStruct

const asmComplex

type asmArch

type asmFunc

type asmVar

var asmArch386

var asmArchArm

var asmArchArm64

var asmArchAmd64

var asmArchMips

var asmArchMipsLE

var asmArchMips64

var asmArchMips64LE

var asmArchPpc64

var asmArchPpc64LE

var asmArchRISCV64

var asmArchS390X

var asmArchWasm

var asmArchLoong64

var arches

func init() {}

var re

var asmPlusBuild

var asmTEXT

var asmDATA

var asmNamedFP

var asmUnnamedFP

var asmSP

var asmOpcode

var ppc64Suff

var abiSuff

func run(pass *analysis.Pass) (interface{}

func asmKindForType(t types.Type, size int) asmKind {}

type component

func newComponent(suffix string, kind asmKind, typ string, offset, size int, outer string) component {}

// componentsOfType generates a list of components of type t.
// For example, given string, the components are the string itself, the base, and the length.
func componentsOfType(arch *asmArch, t types.Type) []component {}

// appendComponentsRecursive implements componentsOfType.
// Recursion is required to correct handle structs and arrays,
// which can contain arbitrary other types.
func appendComponentsRecursive(arch *asmArch, t types.Type, cc []component, suffix string, off int) []component {}

// asmParseDecl parses a function decl for expected assembly variables.
func asmParseDecl(pass *analysis.Pass, decl *ast.FuncDecl) map[string]*asmFunc {}

// asmCheckVar checks a single variable reference.
func asmCheckVar(badf func(string, ...interface{}