| package lib | 
 |  | 
 | import ( | 
 | 	"go/ast" | 
 | 	"strings" | 
 | ) | 
 |  | 
 | const ( | 
 | 	genPrefix = "// Code generated" | 
 | 	genSuffix = "DO NOT EDIT." | 
 | ) | 
 |  | 
 | // IsGeneratedFile returns true if the file is generated according to | 
 | // https://golang.org/s/generatedcode and other heuristics. | 
 | func IsGeneratedFile(file *ast.File) bool { | 
 | 	for _, c := range file.Comments { | 
 | 		for _, t := range c.List { | 
 | 			if strings.HasPrefix(t.Text, genPrefix) && strings.HasSuffix(t.Text, genSuffix) { | 
 | 				return true | 
 | 			} | 
 | 			// Generated testmain.go stubs from rules_go - for some reason, they don't | 
 | 			// contain the expected markers. | 
 | 			if strings.Contains(t.Text, "This package must be initialized before packages being tested.") { | 
 | 				return true | 
 | 			} | 
 | 		} | 
 | 	} | 
 | 	return false | 
 | } |