phpのアウトライン解析でクラス名が消えるNo.08255
utendev さん 14/03/26 03:27
 
はじめましてutendevです。
phpの記述でアウトライン解析を使わせてもらってます。
先日のelseifの対応ありがとうございました。こちらは問題ありません。

秀丸エディタVer.8.40β10 でアウトライン解析の方法「関数一覧」を用いて
以下のようなphpのスコープ定義演算子::での関数呼び出し、
「::();」の組み合わせがあるとそれ以降の関数一覧のTestクラスがはずれてしまい
Test.xxx()
yyy($y)
のように表示されました。
a::b(); $A::B(); はphpのメンバ呼び出しになりますがC++の定義と混同されてしま
うようです。
できればクラスも保持していただきたいのですが他言語との調整で難しいでしょうか。

<?php
class Test{

 function xxx(){
  self::yyy('a');
 }
 function yyy($y){
  echo $y;
 }
};
?>

[ ]
RE:08255 phpのアウトライン解析でクラスNo.08257
秀まるお さん 14/03/26 10:36
 
 毎度バグ情報ありがとうございます。

 連絡いただいた件ですが、調べてみたら、C++のソースコードでも同じ現象が
起きることが分かりました。

 C++の場合だと、例えば

class Super {
   void Func() { ... };
};

class Sub : Super {
    void Func() {
        Super::Func();
    };
    void Func2() {
        ...
    };
};

 みたいな書き方が出来るんですが、こういう書き方をした場合も同じことが起
きてしまってました。

 ということでまた修正させていただきます。

[ ]