func (stmt *Import) walkStmt(v Visitor) Statement {
	ret := stmt
	if stmt.CreateFile != nil {
		e, changed := WalkExpr(v, stmt.CreateFile)
		if changed {
			if ret == stmt {
				ret = stmt.copyNode()
			}
			ret.CreateFile = e
		}
	}
	for i, expr := range stmt.Files {
		e, changed := WalkExpr(v, expr)
		if changed {
			if ret == stmt {
				ret = stmt.copyNode()
			}
			ret.Files[i] = e
		}
	}
	{
		opts, changed := walkKVOptions(v, stmt.Options)
		if changed {
			if ret == stmt {
				ret = stmt.copyNode()
			}
			ret.Options = opts
		}
	}
	return ret
}
// walkStmt is part of the walkableStmt interface.
walkStmt is part of the walkableStmt interface.
// walkStmt is part of the walkableStmt interface .
func (stmt *Import) walkStmt(v Visitor) Statement {
	ret := stmt
	if stmt.CreateFile != nil {
		e, changed := WalkExpr(v, stmt.CreateFile)
		if changed {
			if ret == stmt {
				ret = stmt.copyNode()
			}
			ret.CreateFile = e
		}
	}
	for i, expr := range stmt.Files {
		e, changed := WalkExpr(v, expr)
		if changed {
			if ret == stmt {
				ret = stmt.copyNode()
			}
			ret.Files[i] = e
		}
	}
	{
		opts, changed := walkKVOptions(v, stmt.Options)
		if changed {
			if ret == stmt {
				ret = stmt.copyNode()
			}
			ret.Options = opts
		}
	}
	return ret
}
func ( stmt * Import ) walkStmt ( v Visitor ) Statement { ret := stmt if stmt . CreateFile != nil { e , changed := WalkExpr ( v , stmt . CreateFile ) if changed { if ret == stmt { ret = stmt . copyNode ( ) } ret . CreateFile = e } } for i , expr := range stmt . Files { e , changed := WalkExpr ( v , expr ) if changed { if ret == stmt { ret = stmt . copyNode ( ) } ret . Files [ i ] = e } } { opts , changed := walkKVOptions ( v , stmt . Options ) if changed { if ret == stmt { ret = stmt . copyNode ( ) } ret . Options = opts } } return ret }
walkStmt is part of the walkableStmt interface.
walkStmt is part of the walkableStmt interface .