File: startup.go

package info (click to toggle)
c2go 0.26.11-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,052 kB
  • sloc: ansic: 6,037; sh: 82; makefile: 5
file content (27 lines) | stat: -rw-r--r-- 918 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package program

import (
	goast "go/ast"
)

// AppendStartupStatement adds a new statement that must be executed when the
// program starts up before any other code. These are required to setup state
// for global variables like STDIN that might be referenced by the program.
func (p *Program) AppendStartupStatement(stmt goast.Stmt) {
	p.startupStatements = append(p.startupStatements, stmt)
}

// AppendStartupExpr is a convienience method for adding a new startup statement
// that is in the form of an expression.
func (p *Program) AppendStartupExpr(e goast.Expr) {
	p.AppendStartupStatement(&goast.ExprStmt{
		X: e,
	})
}

// StartupStatements returns the statements that will be executed before the
// program starts. These are required to setup state for global variables like
// STDIN that might be referenced by the program.
func (p *Program) StartupStatements() []goast.Stmt {
	return p.startupStatements
}