go/src/cmd/compile/internal/dwarfgen/scope_test.go

type testline

var testfile

const detailOutput

// Compiles testfile checks that the description of lexical blocks emitted
// by the linker in debug_info, for each function in the main package,
// corresponds to what we expect it to be.
func TestScopeRanges(t *testing.T) {}

func scopesToString(v []*lexblock) string {}

func checkScopes(tgt []int, out []*lexblock) bool {}

func checkVars(tgt []string, out []variable) bool {}

func declLineForVar(scope []variable, name string) int {}

type lexblock

type variable

func (v *variable) name() string {}

type line

type scopexplainContext

// readScope reads the DW_TAG_lexical_block or the DW_TAG_subprogram in
// entry and writes a description in scope.
// Nested DW_TAG_lexical_block entries are read recursively.
func readScope(ctxt *scopexplainContext, scope *lexblock, entry *dwarf.Entry) {}

func entryToVar(e *dwarf.Entry, kind string, typ dwarf.Type) variable {}

// markLines marks all lines that belong to this scope with this scope
// Recursively calls markLines for all children scopes.
func (scope *lexblock) markLines(pcln objfile.Liner, lines map[line][]*lexblock) {}

func gobuild(t *testing.T, dir string, optimized bool, testfile []testline) (string, *objfile.File) {}

// TestEmptyDwarfRanges tests that no list entry in debug_ranges has start == end.
// See issue #23928.
func TestEmptyDwarfRanges(t *testing.T) {}