Go: x / tools / cmd / gorename:gorenameはcgoで失敗します-ファイルを使用します

作成日 2016年05月22日  ·  3コメント  ·  ソース: golang/go

問題を送信する前に、これらの質問に答えてください。 ありがとう!

1.使用しているGoのバージョン( go version )?

go version go1.6 darwin/amd64

2.どのオペレーティングシステムとプロセッサアーキテクチャを使用していますか( go env )?

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/ash/code/go"
GORACE=""
GOROOT="/Users/ash/.homebrew/Cellar/go/1.6/libexec"
GOTOOLDIR="/Users/ash/.homebrew/Cellar/go/1.6/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

3.何をしましたか?

この入力ファイルを考えるとdemo.go

package main

// #include <unistd.h>
import "C"
import "fmt"

func main() {
    foo := 1
    C.close(2)
    fmt.Println(foo)
}

次のコマンドを実行します: gorename -offset demo.go:#78 -to bar

4.何を見たいと思いましたか?

エラーなしで名前が変更されます: Renamed 2 occurrences in 1 file in 1 package.

5.代わりに何を見ましたか?

このエラーが発生しました: gorename: -offset "demo.go:#78": no identifier at this position

Tools

最も参考になるコメント

同じ問題がありますが、これに関する回避策はありますか?

全てのコメント3件

/ cc @alandonovan

同じ問題がありますが、これに関する回避策はありますか?

いつ(私は1.9.2に進んでいます)はわかりませんが、エラーは次のように変更されました:「gorename:DO NOTEDITマーカーを含む生成されたファイルの識別子の名前を変更できません」

そして、gorenameがcgoファイルで機能しないことを理解するのに少し時間がかかりました。 すぐに修正される予定がない場合は、少なくともエラーメッセージを変更する必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価