//FastToken returns the converted fast token of the token
FastToken returns the converted fast token of the token
// FastToken returns the converted fast token of the token
func (t Token) FastToken() FastToken {
	result := FastToken{Pos: t.Pos, Word: t.Word}
	for _, n := range t.Nodes {
		switch n.Type() {
		case Table:
			tab, ok := n.(*TableNode)
			if ok {
				if result.Tables == nil {
					result.Tables = []TableNode{}
				}
				result.Tables = append(result.Tables, *tab)
			}
		case Column:
			col, ok := n.(*ColumnNode)
			if ok {
				if result.Columns == nil {
					result.Columns = []ColumnNode{}
				}
				result.Columns = append(result.Columns, *col)
			}
		case Value:
			val, ok := n.(*ValueNode)
			if ok {
				if result.Values == nil {
					result.Values = []ValueNode{}
				}
				result.Values = append(result.Values, *val)
			}
		case Operator:
			op, ok := n.(*OperatorNode)
			if ok {
				if result.Operators == nil {
					result.Operators = []OperatorNode{}
				}
				result.Operators = append(result.Operators, *op)
			}
		case Unknown:
			un, ok := n.(*UnknownNode)
			if ok {
				if result.Unknowns == nil {
					result.Unknowns = []UnknownNode{}
				}
				result.Unknowns = append(result.Unknowns, *un)
			}
		case Time:
			tn, ok := n.(*TimeNode)
			if ok {
				if result.Times == nil {
					result.Times = []TimeNode{}
				}
				result.Times = append(result.Times, *tn)
			}
		}
	}
	return result
}
func ( t Token ) FastToken ( ) FastToken { result := FastToken { Pos : t . Pos , Word : t . Word } for _ , n := range t . Nodes { switch n . Type ( ) { case Table : tab , ok := n . ( * TableNode ) if ok { if result . Tables == nil { result . Tables = [ ] TableNode { } } result . Tables = append ( result . Tables , * tab ) } case Column : col , ok := n . ( * ColumnNode ) if ok { if result . Columns == nil { result . Columns = [ ] ColumnNode { } } result . Columns = append ( result . Columns , * col ) } case Value : val , ok := n . ( * ValueNode ) if ok { if result . Values == nil { result . Values = [ ] ValueNode { } } result . Values = append ( result . Values , * val ) } case Operator : op , ok := n . ( * OperatorNode ) if ok { if result . Operators == nil { result . Operators = [ ] OperatorNode { } } result . Operators = append ( result . Operators , * op ) } case Unknown : un , ok := n . ( * UnknownNode ) if ok { if result . Unknowns == nil { result . Unknowns = [ ] UnknownNode { } } result . Unknowns = append ( result . Unknowns , * un ) } case Time : tn , ok := n . ( * TimeNode ) if ok { if result . Times == nil { result . Times = [ ] TimeNode { } } result . Times = append ( result . Times , * tn ) } } } return result }
FastToken returns the converted fast token of the token
FastToken returns the converted fast token of the token