// GetSnapshot will create a structure signature or AST graph
GetSnapshot will create a structure signature or AST graph
// GetSnapshot will create a structure signature or AST graph
func (e *Variable) GetSnapshot() string {
	var buff bytes.Buffer
	buff.WriteString(VARIABLE)
	buff.WriteString("(")
	if len(e.Name) > 0 && e.Variable == nil {
		buff.WriteString("N:")
		buff.WriteString(e.Name)
	} else if e.Variable != nil && len(e.Name) > 0 {
		buff.WriteString(fmt.Sprintf("O:%s->%s", e.Variable.GetSnapshot(), e.Name))
	} else if e.Variable != nil && e.ArrayMapSelector != nil {
		buff.WriteString(fmt.Sprintf("O:%s->%s", e.Variable.GetSnapshot(), e.ArrayMapSelector.GetSnapshot()))
	}
	buff.WriteString(")")
	return buff.String()
}
func ( e * Variable ) GetSnapshot ( ) string { var buff bytes . Buffer buff . WriteString ( VARIABLE ) buff . WriteString ( " " ) if len ( e . Name ) > 0 && e . Variable == nil { buff . WriteString ( " " ) buff . WriteString ( e . Name ) } else if e . Variable != nil && len ( e . Name ) > 0 { buff . WriteString ( fmt . Sprintf ( " " , e . Variable . GetSnapshot ( ) , e . Name ) ) } else if e . Variable != nil && e . ArrayMapSelector != nil { buff . WriteString ( fmt . Sprintf ( " " , e . Variable . GetSnapshot ( ) , e . ArrayMapSelector . GetSnapshot ( ) ) ) } buff . WriteString ( " " ) return buff . String ( ) }
GetSnapshot will create a structure signature or AST graph
GetSnapshot will create a structure signature or AST graph