github.com/gotranspile/cxgo@v0.3.7/hooks.go (about)

     1  package cxgo
     2  
     3  type ASTHookCFunc func(c Config, fname string, decls []CDecl) error
     4  
     5  var (
     6  	astHooksC []ASTHookCFunc
     7  	finals    []func() error
     8  )
     9  
    10  func RegisterASTHookC(fnc ASTHookCFunc) {
    11  	astHooksC = append(astHooksC, fnc)
    12  }
    13  
    14  func RegisterFinal(fnc func() error) {
    15  	finals = append(finals, fnc)
    16  }
    17  
    18  func CallFinals() error {
    19  	for _, f := range finals {
    20  		if err := f(); err != nil {
    21  			return err
    22  		}
    23  	}
    24  	return nil
    25  }