mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-04 07:49:35 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package starlark
 | 
						|
 | 
						|
import "go.starlark.net/syntax"
 | 
						|
 | 
						|
// This file defines an experimental API for the debugging tools.
 | 
						|
// Some of these declarations expose details of internal packages.
 | 
						|
// (The debugger makes liberal use of exported fields of unexported types.)
 | 
						|
// Breaking changes may occur without notice.
 | 
						|
 | 
						|
// Local returns the value of the i'th local variable.
 | 
						|
// It may be nil if not yet assigned.
 | 
						|
//
 | 
						|
// Local may be called only for frames whose Callable is a *Function (a
 | 
						|
// function defined by Starlark source code), and only while the frame
 | 
						|
// is active; it will panic otherwise.
 | 
						|
//
 | 
						|
// This function is provided only for debugging tools.
 | 
						|
//
 | 
						|
// THIS API IS EXPERIMENTAL AND MAY CHANGE WITHOUT NOTICE.
 | 
						|
func (fr *frame) Local(i int) Value { return fr.locals[i] }
 | 
						|
 | 
						|
// DebugFrame is the debugger API for a frame of the interpreter's call stack.
 | 
						|
//
 | 
						|
// Most applications have no need for this API; use CallFrame instead.
 | 
						|
//
 | 
						|
// Clients must not retain a DebugFrame nor call any of its methods once
 | 
						|
// the current built-in call has returned or execution has resumed
 | 
						|
// after a breakpoint as this may have unpredictable effects, including
 | 
						|
// but not limited to retention of object that would otherwise be garbage.
 | 
						|
type DebugFrame interface {
 | 
						|
	Callable() Callable        // returns the frame's function
 | 
						|
	Local(i int) Value         // returns the value of the (Starlark) frame's ith local variable
 | 
						|
	Position() syntax.Position // returns the current position of execution in this frame
 | 
						|
}
 | 
						|
 | 
						|
// DebugFrame returns the debugger interface for
 | 
						|
// the specified frame of the interpreter's call stack.
 | 
						|
// Frame numbering is as for Thread.CallFrame.
 | 
						|
//
 | 
						|
// This function is intended for use in debugging tools.
 | 
						|
// Most applications should have no need for it; use CallFrame instead.
 | 
						|
func (thread *Thread) DebugFrame(depth int) DebugFrame { return thread.frameAt(depth) }
 |