Documentation ¶
Overview ¶
Package immutable is a helper package for the immutable data structures generated by myitcv.io/immutable/cmd/immutableGen.
Index ¶
Constants ¶
View Source
const ( CmdImmutableGen = "immutableGen" CmdImmutableVet = "immutableVet" )
View Source
const ( // ImmTypeTmplPrefix is the prefix used to identify immutable type templates ImmTypeTmplPrefix = "_Imm_" // Pkg is the import path of this package PkgImportPath = "myitcv.io/immutable" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Immutable ¶
Immutable is the interface implemented by all immutable types. If Go had generics the interface would be defined, assuming a generic type parameter T, as follows:
type Immutable<T> interface { AsMutable() T AsImmutable() T WithMutations(f func(v T)) T Mutable() bool }
Because we do not have such a type parameter we can only define the Mutable() method in the interface
Directories ¶
Path | Synopsis |
---|---|
_vendor
|
|
src/github.com/kisielk/gotool
Package gotool contains utility functions used to implement the standard "cmd/go" tool, provided as a convenience to developers who want to write tools with similar semantics.
|
Package gotool contains utility functions used to implement the standard "cmd/go" tool, provided as a convenience to developers who want to write tools with similar semantics. |
src/golang.org/x/tools/benchmark/parse
Package parse provides support for parsing benchmark results as generated by 'go test -bench'.
|
Package parse provides support for parsing benchmark results as generated by 'go test -bench'. |
src/golang.org/x/tools/blog
Package blog implements a web server for articles written in present format.
|
Package blog implements a web server for articles written in present format. |
src/golang.org/x/tools/blog/atom
Package atom defines XML data structures for an Atom feed.
|
Package atom defines XML data structures for an Atom feed. |
src/golang.org/x/tools/cmd/benchcmp
The benchcmp command displays performance changes between benchmarks.
|
The benchcmp command displays performance changes between benchmarks. |
src/golang.org/x/tools/cmd/bundle
Bundle creates a single-source-file version of a source package suitable for inclusion in a particular target package.
|
Bundle creates a single-source-file version of a source package suitable for inclusion in a particular target package. |
src/golang.org/x/tools/cmd/callgraph
callgraph: a tool for reporting the call graph of a Go program.
|
callgraph: a tool for reporting the call graph of a Go program. |
src/golang.org/x/tools/cmd/cover
Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
|
Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'. |
src/golang.org/x/tools/cmd/digraph
The digraph command performs queries over unlabelled directed graphs represented in text form.
|
The digraph command performs queries over unlabelled directed graphs represented in text form. |
src/golang.org/x/tools/cmd/eg
The eg command performs example-based refactoring.
|
The eg command performs example-based refactoring. |
src/golang.org/x/tools/cmd/fiximports
The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport.
|
The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport. |
src/golang.org/x/tools/cmd/godex
The godex command prints (dumps) exported information of packages or selected package objects.
|
The godex command prints (dumps) exported information of packages or selected package objects. |
src/golang.org/x/tools/cmd/godoc
Godoc extracts and generates documentation for Go programs.
|
Godoc extracts and generates documentation for Go programs. |
src/golang.org/x/tools/cmd/goimports
Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones.
|
Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones. |
src/golang.org/x/tools/cmd/gomvpkg
The gomvpkg command moves go packages, updating import declarations.
|
The gomvpkg command moves go packages, updating import declarations. |
src/golang.org/x/tools/cmd/gorename
The gorename command performs precise type-safe renaming of identifiers in Go source code.
|
The gorename command performs precise type-safe renaming of identifiers in Go source code. |
src/golang.org/x/tools/cmd/gotype
The gotype command does syntactic and semantic analysis of Go files and packages like the front-end of a Go compiler.
|
The gotype command does syntactic and semantic analysis of Go files and packages like the front-end of a Go compiler. |
src/golang.org/x/tools/cmd/goyacc
Goyacc is a version of yacc for Go.
|
Goyacc is a version of yacc for Go. |
src/golang.org/x/tools/cmd/guru
guru: a tool for answering questions about Go source code.
|
guru: a tool for answering questions about Go source code. |
src/golang.org/x/tools/cmd/guru/serial
Package serial defines the guru's schema for -json output.
|
Package serial defines the guru's schema for -json output. |
src/golang.org/x/tools/cmd/heapview
heapview is a tool for viewing Go heap dumps.
|
heapview is a tool for viewing Go heap dumps. |
src/golang.org/x/tools/cmd/heapview/internal/core
Package core provides functions for reading core dumps and examining their contained heaps.
|
Package core provides functions for reading core dumps and examining their contained heaps. |
src/golang.org/x/tools/cmd/html2article
This program takes an HTML file and outputs a corresponding article file in present format.
|
This program takes an HTML file and outputs a corresponding article file in present format. |
src/golang.org/x/tools/cmd/present
Present displays slide presentations and articles.
|
Present displays slide presentations and articles. |
src/golang.org/x/tools/cmd/ssadump
ssadump: a tool for displaying and interpreting the SSA form of Go programs.
|
ssadump: a tool for displaying and interpreting the SSA form of Go programs. |
src/golang.org/x/tools/cmd/stress
The stress utility is intended for catching of episodic failures.
|
The stress utility is intended for catching of episodic failures. |
src/golang.org/x/tools/cmd/stringer
Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface.
|
Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface. |
src/golang.org/x/tools/cmd/tip
Command tip is the tip.golang.org server, serving the latest HEAD straight from the Git oven.
|
Command tip is the tip.golang.org server, serving the latest HEAD straight from the Git oven. |
src/golang.org/x/tools/cmd/toolstash
Toolstash provides a way to save, run, and restore a known good copy of the Go toolchain and to compare the object files generated by two toolchains.
|
Toolstash provides a way to save, run, and restore a known good copy of the Go toolchain and to compare the object files generated by two toolchains. |
src/golang.org/x/tools/container/intsets
Package intsets provides Sparse, a compact and fast representation for sparse sets of int values.
|
Package intsets provides Sparse, a compact and fast representation for sparse sets of int values. |
src/golang.org/x/tools/cover
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
|
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out". |
src/golang.org/x/tools/go/ast/astutil
Package astutil contains common utilities for working with the Go AST.
|
Package astutil contains common utilities for working with the Go AST. |
src/golang.org/x/tools/go/buildutil
Package buildutil provides utilities related to the go/build package in the standard library.
|
Package buildutil provides utilities related to the go/build package in the standard library. |
src/golang.org/x/tools/go/callgraph
Package callgraph defines the call graph and various algorithms and utilities to operate on it.
|
Package callgraph defines the call graph and various algorithms and utilities to operate on it. |
src/golang.org/x/tools/go/callgraph/cha
Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm.
|
Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm. |
src/golang.org/x/tools/go/callgraph/rta
This package provides Rapid Type Analysis (RTA) for Go, a fast algorithm for call graph construction and discovery of reachable code (and hence dead code) and runtime types.
|
This package provides Rapid Type Analysis (RTA) for Go, a fast algorithm for call graph construction and discovery of reachable code (and hence dead code) and runtime types. |
src/golang.org/x/tools/go/callgraph/static
Package static computes the call graph of a Go program containing only static call edges.
|
Package static computes the call graph of a Go program containing only static call edges. |
src/golang.org/x/tools/go/gccgoexportdata
Package gccgoexportdata provides functions for reading export data files containing type information produced by the gccgo compiler.
|
Package gccgoexportdata provides functions for reading export data files containing type information produced by the gccgo compiler. |
src/golang.org/x/tools/go/gcexportdata
Package gcexportdata provides functions for locating, reading, and writing export data files containing type information produced by the gc compiler.
|
Package gcexportdata provides functions for locating, reading, and writing export data files containing type information produced by the gc compiler. |
src/golang.org/x/tools/go/gcimporter15
Package gcimporter15 provides various functions for reading gc-generated object files that can be used to implement the Importer interface defined by the Go 1.5 standard library package.
|
Package gcimporter15 provides various functions for reading gc-generated object files that can be used to implement the Importer interface defined by the Go 1.5 standard library package. |
src/golang.org/x/tools/go/internal/gccgoimporter
Package gccgoimporter implements Import for gccgo-generated object files.
|
Package gccgoimporter implements Import for gccgo-generated object files. |
src/golang.org/x/tools/go/loader
Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies.
|
Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies. |
src/golang.org/x/tools/go/pointer
Package pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994).
|
Package pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994). |
src/golang.org/x/tools/go/ssa
Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions.
|
Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions. |
src/golang.org/x/tools/go/ssa/interp
Package ssa/interp defines an interpreter for the SSA representation of Go programs.
|
Package ssa/interp defines an interpreter for the SSA representation of Go programs. |
src/golang.org/x/tools/go/types/typeutil
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
|
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values. |
src/golang.org/x/tools/godoc
Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces.
|
Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces. |
src/golang.org/x/tools/godoc/analysis
Package analysis performs type and pointer analysis and generates mark-up for the Go source view.
|
Package analysis performs type and pointer analysis and generates mark-up for the Go source view. |
src/golang.org/x/tools/godoc/redirect
Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents and assist in accessing the issue tracker, wiki, code review system, etc.
|
Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents and assist in accessing the issue tracker, wiki, code review system, etc. |
src/golang.org/x/tools/godoc/static
Package static exports a map of static file content that supports the godoc user interface.
|
Package static exports a map of static file content that supports the godoc user interface. |
src/golang.org/x/tools/godoc/util
Package util contains utility types and functions for godoc.
|
Package util contains utility types and functions for godoc. |
src/golang.org/x/tools/godoc/vfs
Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS.
|
Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS. |
src/golang.org/x/tools/godoc/vfs/gatefs
Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency.
|
Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency. |
src/golang.org/x/tools/godoc/vfs/httpfs
Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
|
Package httpfs implements http.FileSystem using a godoc vfs.FileSystem. |
src/golang.org/x/tools/godoc/vfs/mapfs
Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string.
|
Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string. |
src/golang.org/x/tools/godoc/vfs/zipfs
Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file.
|
Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file. |
src/golang.org/x/tools/imports
Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary.
|
Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary. |
src/golang.org/x/tools/playground
Package playground registers HTTP handlers at "/compile" and "/share" that proxy requests to the golang.org playground service.
|
Package playground registers HTTP handlers at "/compile" and "/share" that proxy requests to the golang.org playground service. |
src/golang.org/x/tools/playground/socket
Package socket implements an WebSocket-based playground backend.
|
Package socket implements an WebSocket-based playground backend. |
src/golang.org/x/tools/present
The present file format
|
The present file format |
src/golang.org/x/tools/refactor/eg
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
|
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg. |
src/golang.org/x/tools/refactor/importgraph
Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace.
|
Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace. |
src/golang.org/x/tools/refactor/rename
Package rename contains the implementation of the 'gorename' command whose main function is in golang.org/x/tools/cmd/gorename.
|
Package rename contains the implementation of the 'gorename' command whose main function is in golang.org/x/tools/cmd/gorename. |
src/golang.org/x/tools/refactor/satisfy
Package satisfy inspects the type-checked ASTs of Go packages and reports the set of discovered type constraints of the form (lhs, rhs Type) where lhs is a non-trivial interface, rhs satisfies this interface, and this fact is necessary for the package to be well-typed.
|
Package satisfy inspects the type-checked ASTs of Go packages and reports the set of discovered type constraints of the form (lhs, rhs Type) where lhs is a non-trivial interface, rhs satisfies this interface, and this fact is necessary for the package to be well-typed. |
src/myitcv.io/gogenerate
Package gogenerate exposes some of the unexported internals of the go generate command as a convenience for the authors of go generate generators.
|
Package gogenerate exposes some of the unexported internals of the go generate command as a convenience for the authors of go generate generators. |
cmd
|
|
immutableGen
immutableGen is a go generate generator that creates immutable struct, map and slice type declarations from template type declarations.
|
immutableGen is a go generate generator that creates immutable struct, map and slice type declarations from template type declarations. |
Click to show internal directories.
Click to hide internal directories.