type varParser … func (p *varParser) backup() { … } func (p *varParser) next() varToken { … } type varNode … func varMakeNode(p *varParser) (varNode, error) { … } type varTypeError … func (e varTypeError) Error() string { … } type sigSet … func (s sigSet) Empty() bool { … } func (s sigSet) Intersect(s2 sigSet) sigSet { … } func (s sigSet) Single() (Signature, bool) { … } func (s sigSet) ToArray() sigSet { … } type numNode … var numSigSet … func (n numNode) Infer() (Signature, error) { … } func (n numNode) String() string { … } func (n numNode) Sigs() sigSet { … } func (n numNode) Value(sig Signature) (interface{ … } func varMakeNumNode(tok varToken, sig Signature) (varNode, error) { … } func varNumAs(s string, sig Signature) (interface{ … } type stringNode … var stringSigSet … func (n stringNode) Infer() (Signature, error) { … } func (n stringNode) String() string { … } func (n stringNode) Sigs() sigSet { … } func (n stringNode) Value(sig Signature) (interface{ … } func varMakeStringNode(tok varToken, sig Signature) (varNode, error) { … } func varParseString(s string) (string, error) { … } var boolSigSet … type boolNode … func (boolNode) Infer() (Signature, error) { … } func (b boolNode) String() string { … } func (boolNode) Sigs() sigSet { … } func (b boolNode) Value(sig Signature) (interface{ … } type arrayNode … func (n arrayNode) Infer() (Signature, error) { … } func (n arrayNode) String() string { … } func (n arrayNode) Sigs() sigSet { … } func (n arrayNode) Value(sig Signature) (interface{ … } func varMakeArrayNode(p *varParser, sig Signature) (varNode, error) { … } type variantNode … var variantSet … func (variantNode) Infer() (Signature, error) { … } func (n variantNode) String() string { … } func (variantNode) Sigs() sigSet { … } func (n variantNode) Value(sig Signature) (interface{ … } func varMakeVariantNode(p *varParser, sig Signature) (varNode, error) { … } type dictEntry … type dictNode … func (n dictNode) Infer() (Signature, error) { … } func (n dictNode) String() string { … } func (n dictNode) Sigs() sigSet { … } func (n dictNode) Value(sig Signature) (interface{ … } func varMakeDictNode(p *varParser, sig Signature) (varNode, error) { … } type byteStringNode … var byteStringSet … func (byteStringNode) Infer() (Signature, error) { … } func (b byteStringNode) String() string { … } func (b byteStringNode) Sigs() sigSet { … } func (b byteStringNode) Value(sig Signature) (interface{ … } func varParseByteString(s string) ([]byte, error) { … } func varInfer(n varNode) (Signature, error) { … }