Typecache does not contain include tags created at expansion
Steven Rémot <[email protected]> Sat, 03 Jan 2015 14:24:35 +0100
| Newsgroups | gmane.emacs.cedet |
|---|---|
| Message-ID | <[email protected]> |
Hello,
I was trying to properly support PHP "use" statement in CEDET and I got
some difficulties that looks like a bug in semanticdb caching.
Just to recall, PHP use statement is something like a name aliasing.
When you write, for example
use MyNamespace\MyClass as TheClass;
Then you can refer to "MyNamespace\MyClass" by the name "TheClass".
However, in PHP, types are loaded automatically when they are used, you
do not need to use some "include" or "require" statement.
To include "MyNamespace\MyClass" in the buffer, I though I could create
an include tag when expanding the aliases created by the use statement
(I need to expand them anyway), so I did it.
So now, when I am working in this PHP file :
<?php
namespace AnotherNs;
use NewNs\SuperGreeter as Greeter;
class SuperGreeterCaller
{
public function callSuperGreeter(Greeter $greeter)
{
$greeter->
}
}
I get the following structure (result simplified from bovinate) :
(("AnotherNs" type
(:members
(("SuperGreeterCaller" type
(:members
( ... )
:type "class"))
("/<project dir>/src/NewNs/SuperGreeter.php" include nil)
("Greeter" type
(:superclasses "\\NewNs\\SuperGreeter" :type "use")))
:type "namespace")))
So the include tag has succesfully been integrated into the tag table.
However, when I run "M-x semanticdb-typecache-dump" in a recently
started emacs, I get :
]#<semanticdb-typecache /<project
dit>/src/AnotherNs/SuperGreeterCaller.php>
] Name: "/<project dir>/src/AnotherNs/SuperGreeterCaller.php"
] Class: #'semanticdb-typecache
] filestream #<TAG LIST: 1 entries>
] includestream : nil
] stream : nil
] dependants #<list o' stuff: 1 entries>
There is nothing in includestream. When I run emacs for a while, it
happens includestream contains the expected included tags !
Am I doing something wrong, or could it be an unwanted behaviour ?
------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
Cedet-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cedet-devel