sakura icon indicating copy to clipboard operation
sakura copied to clipboard

VB6/VBAのアウトライン解析で特定のメソッドをユーザー定義型と誤認する

Open ghost opened this issue 3 years ago • 1 comments

※SourceForgeのプロジェクトページに登録された次の不具合の転記になります。 patchunicode#1019 VBアウトラインでobj.TypeをTypeと誤判定する

問題内容

次のようなメソッド呼び出しが記述されたコードをアウトライン解析すると、当該行位置に「ユーザー定義型の宣言」が存在すると判定され、VBアウトラインリストにエントリが余計に作成されます。

obj.Type = aaa;
func(obj).Type = bbb;

再現手順

上記コードを含むソース(sf.netのパッチページに添付されたサンプル用VBファイルなど)をアウトライン解析する。

再現頻度

常に再現可能だと思います。

問題のカテゴリ

  • プログラムの動作上の問題
    • 正式リリース版

環境情報

  • OS:Windows 10 Pro (21H1) 64bit
  • サクラエディタ v2.4.2.3715 32bit dev
    • もっと前のバージョンでも再現できると思います。

スクリーンショット

ghost avatar Jun 02 '21 02:06 ghost

既知の不具合として残しておいて良さそうに思いました。 報告すらされていない不具合も多数あるので、対処するときに問題が分かるようにissueがあったほうが都合よい気がします。

TODO

  • [ ] 原因の特定
  • [ ] 対策手法の選定
  • [ ] 対策適用、効果確認

berryzplus avatar May 05 '22 12:05 berryzplus