diff options
| author | Craig Jennings <c@cjennings.net> | 2025-08-14 22:58:58 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-08-14 22:58:58 -0500 |
| commit | 82ba818ff456bcd6d56a06226e3f27e98fbb55c3 (patch) | |
| tree | 158cfc17b2f644a10f063cb546752cfaae12c97f /devdocs/go/go%2Fbuild%2Fconstraint%2Findex.html | |
| parent | 9278ddd4ea1a8b1a4c1edaa8894516e3f48d245b (diff) | |
| download | dotemacs-82ba818ff456bcd6d56a06226e3f27e98fbb55c3.tar.gz dotemacs-82ba818ff456bcd6d56a06226e3f27e98fbb55c3.zip | |
removing all downloaded devdocs files
Diffstat (limited to 'devdocs/go/go%2Fbuild%2Fconstraint%2Findex.html')
| -rw-r--r-- | devdocs/go/go%2Fbuild%2Fconstraint%2Findex.html | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/devdocs/go/go%2Fbuild%2Fconstraint%2Findex.html b/devdocs/go/go%2Fbuild%2Fconstraint%2Findex.html deleted file mode 100644 index 1a648460..00000000 --- a/devdocs/go/go%2Fbuild%2Fconstraint%2Findex.html +++ /dev/null @@ -1,88 +0,0 @@ -<h1> Package constraint </h1> <ul id="short-nav"> -<li><code>import "go/build/constraint"</code></li> -<li><a href="#pkg-overview" class="overviewLink">Overview</a></li> -<li><a href="#pkg-index" class="indexLink">Index</a></li> -</ul> <h2 id="pkg-overview">Overview </h2> <p>Package constraint implements parsing and evaluation of build constraint lines. See <a href="https://golang.org/cmd/go/#hdr-Build_constraints">https://golang.org/cmd/go/#hdr-Build_constraints</a> for documentation about build constraints themselves. </p> -<p>This package parses both the original “// +build” syntax and the “//go:build” syntax that was added in Go 1.17. See <a href="https://golang.org/design/draft-gobuild">https://golang.org/design/draft-gobuild</a> for details about the “//go:build” syntax. </p> <h2 id="pkg-index">Index </h2> <ul id="manual-nav"> -<li><a href="#GoVersion">func GoVersion(x Expr) string</a></li> -<li><a href="#IsGoBuild">func IsGoBuild(line string) bool</a></li> -<li><a href="#IsPlusBuild">func IsPlusBuild(line string) bool</a></li> -<li><a href="#PlusBuildLines">func PlusBuildLines(x Expr) ([]string, error)</a></li> -<li><a href="#AndExpr">type AndExpr</a></li> -<li> <a href="#AndExpr.Eval">func (x *AndExpr) Eval(ok func(tag string) bool) bool</a> -</li> -<li> <a href="#AndExpr.String">func (x *AndExpr) String() string</a> -</li> -<li><a href="#Expr">type Expr</a></li> -<li> <a href="#Parse">func Parse(line string) (Expr, error)</a> -</li> -<li><a href="#NotExpr">type NotExpr</a></li> -<li> <a href="#NotExpr.Eval">func (x *NotExpr) Eval(ok func(tag string) bool) bool</a> -</li> -<li> <a href="#NotExpr.String">func (x *NotExpr) String() string</a> -</li> -<li><a href="#OrExpr">type OrExpr</a></li> -<li> <a href="#OrExpr.Eval">func (x *OrExpr) Eval(ok func(tag string) bool) bool</a> -</li> -<li> <a href="#OrExpr.String">func (x *OrExpr) String() string</a> -</li> -<li><a href="#SyntaxError">type SyntaxError</a></li> -<li> <a href="#SyntaxError.Error">func (e *SyntaxError) Error() string</a> -</li> -<li><a href="#TagExpr">type TagExpr</a></li> -<li> <a href="#TagExpr.Eval">func (x *TagExpr) Eval(ok func(tag string) bool) bool</a> -</li> -<li> <a href="#TagExpr.String">func (x *TagExpr) String() string</a> -</li> -</ul> <h3>Package files</h3> <p> <span>expr.go</span> <span>vers.go</span> </p> <h2 id="GoVersion">func <span>GoVersion</span> <span title="Added in Go 1.21">1.21</span> </h2> <pre data-language="go">func GoVersion(x Expr) string</pre> <p>GoVersion returns the minimum Go version implied by a given build expression. If the expression can be satisfied without any Go version tags, GoVersion returns an empty string. </p> -<p>For example: </p> -<pre data-language="go">GoVersion(linux && go1.22) = "go1.22" -GoVersion((linux && go1.22) || (windows && go1.20)) = "go1.20" => go1.20 -GoVersion(linux) = "" -GoVersion(linux || (windows && go1.22)) = "" -GoVersion(!go1.22) = "" -</pre> <p>GoVersion assumes that any tag or negated tag may independently be true, so that its analysis can be purely structural, without SAT solving. “Impossible” subexpressions may therefore affect the result. </p> -<p>For example: </p> -<pre data-language="go">GoVersion((linux && !linux && go1.20) || go1.21) = "go1.20" -</pre> <h2 id="IsGoBuild">func <span>IsGoBuild</span> <span title="Added in Go 1.16">1.16</span> </h2> <pre data-language="go">func IsGoBuild(line string) bool</pre> <p>IsGoBuild reports whether the line of text is a “//go:build” constraint. It only checks the prefix of the text, not that the expression itself parses. </p> -<h2 id="IsPlusBuild">func <span>IsPlusBuild</span> <span title="Added in Go 1.16">1.16</span> </h2> <pre data-language="go">func IsPlusBuild(line string) bool</pre> <p>IsPlusBuild reports whether the line of text is a “// +build” constraint. It only checks the prefix of the text, not that the expression itself parses. </p> -<h2 id="PlusBuildLines">func <span>PlusBuildLines</span> <span title="Added in Go 1.16">1.16</span> </h2> <pre data-language="go">func PlusBuildLines(x Expr) ([]string, error)</pre> <p>PlusBuildLines returns a sequence of “// +build” lines that evaluate to the build expression x. If the expression is too complex to convert directly to “// +build” lines, PlusBuildLines returns an error. </p> -<h2 id="AndExpr">type <span>AndExpr</span> <span title="Added in Go 1.16">1.16</span> </h2> <p>An AndExpr represents the expression X && Y. </p> -<pre data-language="go">type AndExpr struct { - X, Y Expr -} -</pre> <h3 id="AndExpr.Eval">func (*AndExpr) <span>Eval</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *AndExpr) Eval(ok func(tag string) bool) bool</pre> <h3 id="AndExpr.String">func (*AndExpr) <span>String</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *AndExpr) String() string</pre> <h2 id="Expr">type <span>Expr</span> <span title="Added in Go 1.16">1.16</span> </h2> <p>An Expr is a build tag constraint expression. The underlying concrete type is *<a href="#AndExpr">AndExpr</a>, *<a href="#OrExpr">OrExpr</a>, *<a href="#NotExpr">NotExpr</a>, or *<a href="#TagExpr">TagExpr</a>. </p> -<pre data-language="go">type Expr interface { - // String returns the string form of the expression, - // using the boolean syntax used in //go:build lines. - String() string - - // Eval reports whether the expression evaluates to true. - // It calls ok(tag) as needed to find out whether a given build tag - // is satisfied by the current build configuration. - Eval(ok func(tag string) bool) bool - // contains filtered or unexported methods -}</pre> <h3 id="Parse">func <span>Parse</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func Parse(line string) (Expr, error)</pre> <p>Parse parses a single build constraint line of the form “//go:build ...” or “// +build ...” and returns the corresponding boolean expression. </p> -<h2 id="NotExpr">type <span>NotExpr</span> <span title="Added in Go 1.16">1.16</span> </h2> <p>A NotExpr represents the expression !X (the negation of X). </p> -<pre data-language="go">type NotExpr struct { - X Expr -} -</pre> <h3 id="NotExpr.Eval">func (*NotExpr) <span>Eval</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *NotExpr) Eval(ok func(tag string) bool) bool</pre> <h3 id="NotExpr.String">func (*NotExpr) <span>String</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *NotExpr) String() string</pre> <h2 id="OrExpr">type <span>OrExpr</span> <span title="Added in Go 1.16">1.16</span> </h2> <p>An OrExpr represents the expression X || Y. </p> -<pre data-language="go">type OrExpr struct { - X, Y Expr -} -</pre> <h3 id="OrExpr.Eval">func (*OrExpr) <span>Eval</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *OrExpr) Eval(ok func(tag string) bool) bool</pre> <h3 id="OrExpr.String">func (*OrExpr) <span>String</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *OrExpr) String() string</pre> <h2 id="SyntaxError">type <span>SyntaxError</span> <span title="Added in Go 1.16">1.16</span> </h2> <p>A SyntaxError reports a syntax error in a parsed build expression. </p> -<pre data-language="go">type SyntaxError struct { - Offset int // byte offset in input where error was detected - Err string // description of error -} -</pre> <h3 id="SyntaxError.Error">func (*SyntaxError) <span>Error</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (e *SyntaxError) Error() string</pre> <h2 id="TagExpr">type <span>TagExpr</span> <span title="Added in Go 1.16">1.16</span> </h2> <p>A TagExpr is an <a href="#Expr">Expr</a> for the single tag Tag. </p> -<pre data-language="go">type TagExpr struct { - Tag string // for example, “linux” or “cgo” -} -</pre> <h3 id="TagExpr.Eval">func (*TagExpr) <span>Eval</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *TagExpr) Eval(ok func(tag string) bool) bool</pre> <h3 id="TagExpr.String">func (*TagExpr) <span>String</span> <span title="Added in Go 1.16">1.16</span> </h3> <pre data-language="go">func (x *TagExpr) String() string</pre><div class="_attribution"> - <p class="_attribution-p"> - © Google, Inc.<br>Licensed under the Creative Commons Attribution License 3.0.<br> - <a href="http://golang.org/pkg/go/build/constraint/" class="_attribution-link">http://golang.org/pkg/go/build/constraint/</a> - </p> -</div> |
