Re: Trouble with Java completion

David Ventimiglia <[email protected]> Sat, 3 Sep 2016 13:45:36 -0700
Newsgroups gmane.emacs.semantic
Message-ID <CALaE=t8OOZjNj0GAy0oJJimDb2w6Og_zLXC=dRvYYE_c89VtYA@mail.gmail.com>
--===============5351063043392128024==
Content-Type: multipart/alternative; boundary=94eb2c18cbd0a0329c053ba08831

--94eb2c18cbd0a0329c053ba08831
Content-Type: text/plain; charset=UTF-8

Hi Edward,

That worked!  Thanks, so much.  Seems I need to do some reading about this
Wisent parser.  :)

Warm regards,
David

On Sat, Sep 3, 2016 at 9:13 AM, Edward John Steere <[email protected]>
wrote:

> Hi David,
>
> Brilliant idea!  I use docker at work, but I've never thought of using
> it as a mechanism for submitting reproducible bugs! :-)
>
> I fired it up and added all of my semantic configuration to the .emacs
> in the container until it worked.  It's actually a simple problem which
> I really should have thought of sooner -- given that it was only failing
> to parse tags from the library (!)
>
> You need to use the Java v1.5 parser for generic types (of which Map is
> one.)
>
> Here's a working .emacs file:
>
>     (load-file "/root/cedet/cedet-devel-load.el")
>     (require 'semantic/db-javap)
>     (autoload 'wisent-java-default-setup "semantic/wisent/java"
>         "Hook run to setup Semantic in `java-mode'." nil nil)
>     (semantic-mode 1)
>
> Note the use of the semantic/wisent/java default setup for the java
> parser.
>
> The grammar for this parser isn't without it's problems :-( At the
> moment it doesn't seem to handle annotations or foreach loops despite
> there being some mention of it.  For most of Java it'll work just fine
> though.  Here's the path to the grammar file if you're interested:
> cedet/lisp/cedet/semantic/wisent/java.wy
>
> Kind regards,
>
> Edward Steere
>
> > Hi Edward,
> >
> > Thanks for getting back to me. Yes, it certainly seems like EDE picked
> > up my project; at least, ede-project-customize seems to think that it
> > has. Also, cedet-java-describe (thanks for that tip) seems to have a
> > sensible opinion on the subject (output pasted in below). I'll dig
> > into the function call with the debugger, beginning with the
> > back-trace you sent, so thanks for that as well.
> >
> > In the meantime ("no good deed goes unpunished"), if you're up for it
> > you might for fun (for some definition of "fun") try a Docker image
> > that I threw together with the intent of having a reproducible
> > environment for demonstrating the problem I'm experiencing. If so, and
> > if you have Docker installed (not necessarily an easy task), I think
> > you can issue the following commands to get the image and run it in a
> > terminal:
> >
> > docker pull dventimi/docker-emacs
> > docker run -t -i dventimi/docker-emacs emacs
> >
> > That should put you into an Emacs instance running in console mode in
> > a Docker container. You're "root" and the CWD is "/", but there's an
> > Emacs bookmark set to the same HelloWorld.java file in
> > "/root/Scratch", an up-to-date version of CEDET is in "/root/cedet"
> > and is compiled, Emacs is initialized with a bare-bones .emacs file in
> > "/root", and within that initialization file an EDE Java project is
> > configured for "/root/Scratch". If that all works, you should be able
> > to visit the "HelloWorld.java" file and with point at "m." and try
> > semantic-ia-complete-symbol or semantic-analyze-debug-assist. With
> > point in either of the includes (e.g., "import java.util.Map"), if you
> > try M-x semantic-decoration-fileless-include-describe, you should
> > again get the output indicating it has a tag table handled by a JAR
> > file, but there are 0 tags.
> >
> > Of course, if you've no appetite for all this, I completely
> > understand. :)
> >
> > Best wishes,
> > David
> >
> > ==========================
> > cedet-java-describe output:
> >
> > CEDET Java Operational Environment:
> >
> > Current Java Version: 1.7.0_111
> >
> > Minimum Desired version: 1.4
> > Java Command: java
> > Jar Command: jar
> > Javap Command: javap
> >
> > User Specified Global Classpath Extension:
> >
> > Project Specified Classpath Extension (EDE):
> >
> > Java JDK Core Jar File:
> > /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/rt.jar
> >
> > On Tue, Aug 30, 2016 at 12:01 PM, Edward John Steere
> > <[email protected]> wrote:
> >
> >     Hi David,
> >
> >     1-4, all roughly the same as me.
> >     5. I don't know whether it's necessary, but it doesn't seem to
> >     work on
> >     my machine w/o a project.
> >     7. Did ede pick up the project after you defined it? You can run
> >     `ede-customize-project' to verify.
> >
> >     I think that there might be a bug in the db because it isn't
> >     finding any
> >     tags for the include. I get the following output for that import:
> >
> >     Include Tag: java.util.Map
> >
> >     This header tag has been marked "Fileless".
> >     This means that Semantic cannot find a file associated with this
> >     tag
> >     on disk, but a database table of tags has been associated with it.
> >
> >     This means that the include will still be used to find tags for
> >     searches, but you cannot visit this include.
> >
> >     This Header is now represented by the following database table:
> >
> >     #<semanticdb-table-jar-file java/util/Map.class (1 tags)>
> >
> >     I found a function to detect your java environment:
> >     `cedet-java-describe'. You could use that to determine whether
> >     your
> >     java is being picked up correctly. I get the following (on a Mac):
> >
> >     CEDET Java Operational Environment:
> >
> >     Current Java Version: 1.8.0_11
> >
> >     Minimum Desired version: 1.4
> >     Java Command: java
> >     Jar Command: jar
> >     Javap Command: javap
> >
> >     User Specified Global Classpath Extension:
> >
> >     Project Specified Classpath Extension (EDE):
> >
> >     Java JDK Core Jar File:
> >     /Library/Java/JavaVirtualMachines/jdk1.8.0_
> 11.jdk/Contents/Home/jre/lib/
> >    rt.jar
> >
> >
> >     I used the profiler to find the most likely functions involved in
> >     finding tags. This *might* not be a real call stack, but I find
> >     that it
> >     sometimes helps me to orient myself in a project. If you're going
> >     to
> >     debug the issue then I'd say that theses functions are probably a
> >     good
> >     place to start:
> >
> >     - semanticdb-javap-classpath-objects
> >     - semanticdb-find-table-for-include-java-mode
> >     - semanticdb-find-table-for-include
> >     - semanticdb-find-translate-path-includes--internal
> >     - semanticdb-find-translate-path-includes-default
> >     - semanticdb-find-translate-path-java-mode
> >     - semanticdb-find-translate-path
> >     - semanticdb-table
> >     - apply
> >     - eieio-generic-call-primary-only
> >     - semanticdb-typecache-include-tags
> >     - #<compiled 0x411b26ed>
> >     - apply
> >     - semanticdb-typecache-find-method
> >     - semanticdb-typecache-find-default
> >     - semanticdb-typecache-find-java-mode
> >
> >     If I could replicate your problem then I would be much better
> >     equipped
> >     to help. As it stands this is the best I can do to point you in a
> >     direction (I'm sure I'll be corrected if anything I've said is off
> >     point
> >     :-) ).
> >
> >     Kind regards,
> >
> >     Edward Steere
> >
> >     > Hi Edward,
> >     >
> >     > Thanks so much for replying. Here's what I can tell you.
> >     >
> >     > 1 I'm using CEDET from the Git repository
> >     > http://git.code.sf.net/p/cedet/git and it's up-to-date.
> >     > 2 It's the very first thing I load in my init file, so as to
> >     avoid
> >     > using the built-in CEDET.
> >     > 3 CEDET version is 2.0. Full (cedet-version) output is below.
> >     > 4 I've always had global-semantic-decoration-mode enabled and
> >     all my
> >     > imports have always been green "Fileless." Full output is below.
> >     > 5 I didn't originally have an EDE project-root (is that
> >     necessary). I
> >     > only had the HelloWorld.java file in /home/dventimi/Scratch
> >     > 6 I have however always had (require 'semantic/db-javap) at the
> >     top of
> >     > my init file.
> >     > 7 I added a project-root with this line in my init file:
> >     > (ede-java-root-project "Scratch" :file
> >     > "/home/dventimi/Scratch/HelloWorld.java"). I know the project
> >     root
> >     > doesn't typically "hang off" the file I'm trying to compile, but
> >     > there's no choice since I have no other files in the Scratch
> >     > directory.
> >     > 8 Even with this addition, I get precisely the same behavior.
> >     The key
> >
> >
> >     > is that it seems to identify the import statements as
> >     "Fileless." In
> >     > my experience (I've had completion working in the past, though
> >     long
> >     > ago under different circumstances on a different computer)
> >     "green is
> >     > good" and that's the ideal state for importing tags from JAR
> >     files
> >     > via javap. And yet, the tags table it builds this time has 0
> >     tags.
> >     >
> >     > I'm happy to start drilling in with the debugger, but at present
> >     I
> >     > don't even know where to begin. Anyway, thanks!
> >     >
> >     > Best,
> >     > David
> >     >
> >     > (cedet-version)
> >     > ->
> >     > CEDET Version: 2.0
> >     > Requested File Loaded
> >     > Package Version Version Version
> >     > ----------------------------------------------------------
> >     > cedet: 2.0 ok ok
> >     > eieio: 1.4 nil ok
> >     > semantic: 2.2 ok ok
> >     > srecode: 1.2 ok ok
> >     > ede: 1.2 2.0 2.0
> >     > cogre: 1.2 ok ok
> >     > cedet-contrib: 1.2 nil Not Loaded
> >     >
> >     > "What's this?"
> >     > ->
> >     > Include Tag: java.util.Map
> >     >
> >     > This header tag has been marked "Fileless".
> >     > This means that Semantic cannot find a file associated with this
> >     tag
> >     > on disk, but a database table of tags has been associated with
> >     it.
> >     >
> >     > This means that the include will still be used to find tags for
> >     > searches, but you cannot visit this include.
> >     >
> >     > This Header is now represented by the following database table:
> >     >
> >     > #<semanticdb-table-jar-file java/util/Map.class (0 tags)>
> >     >
> >     > On Mon, Aug 29, 2016 at 1:26 PM, Edward John Steere
> >     > <[email protected]> wrote:
> >     >
> >     > Hi David,
> >     >
> >     > You're right, db-javap does deal with this :) I could only
> >     > replicate
> >     > your problem with db-javap turned off (i.e. not `require'd).
> >     Once
> >     > I
> >     > `require'd it it complained that generic projects don't have a
> >     > :classpath slot (which is of course true.) Once I created a
> >     > `java-root'
> >     > project, and dumped your code in it, it worked fine and gave me
> >     > the
> >     > following options:
> >     >
> >     > clear compute
> >     > computeIfAbsent computeIfPresent
> >     > containsKey containsValue entrySet
> >     > equals forEach get
> >     > getOrDefault hashCode isEmpty
> >     > keySet merge put
> >     > putAll putIfAbsent remove
> >     > replace replaceAll size
> >     > values
> >     >
> >     > Are you using upstream or built in CEDET?
> >     >
> >     > You can also turn on `global-semantic-decoration-mode' and your
> >     > imports
> >     > will be decorated to indicate whether they have been:
> >     >
> >     > - Parsed (no highlighting)
> >     > - Still need to be parsed (highlighted yellow on my machine)
> >     > - None-file imports -- such as an import from a jar file
> >     > (highlighted
> >     > green on my machine)
> >     > - Unrecognised imports (highlighted red on my machine)
> >     > - (Your function tags will also be decorated in the buffer)
> >     >
> >     > This ought to give you a good idea of whether cedet has figured
> >     > out your
> >     > project setup.
> >     >
> >     > To answer 1. and 2. I'm not familiar with the global versus
> >     local
> >     > type
> >     > cache, but with any luck you wont have to be either :)
> >     >
> >     > Kind regards,
> >     >
> >     > Edward Steere
> >     >
> >     > > Hi!
> >     > >
> >     > > I'm having trouble with the Semantic Analyzer and Analyzer
> >     > Debugging
> >     > > for Java programs. I've a simple "Hello, World!" Java file
> >     that
> >     > looks
> >     > > like this:
> >     > >
> >     > > import java.util.Map;
> >     > >
> >     > > import java.util.HashMap;
> >     > >
> >     > >
> >     > >
> >     > >
> >     > > public class HelloWorld {
> >     > >
> >     > > public static void main (String[] args) {
> >     > >
> >     > > Map m = new HashMap();
> >     > >
> >     > > m.
> >     > >
> >     > > }
> >     > >
> >     > > }
> >     > >
> >     > > When I try M-x semantic-ia-complete-symbol after the "m.", I
> >     get
> >     > the
> >     > > message "Cannot find types for `Map m'," I get the output in
> >     the
> >     > > attached debug.txt file. I'm trying to interpret this output,
> >     > and a
> >     > > couple questions come to mind.
> >     > >
> >     > > 1 Should I expect the type to be a local type or a global
> >     type?
> >     > > 2 What's the difference between a local type and a global
> >     type?
> >     > > 3 Shouldn't semantic/db-javap just handle this?
> >     > >
> >     > > The typecache (also attached) seems to have all the java.lang
> >     > types,
> >     > > which semantic/db-javap presumably fished out of my Java
> >     > > installation's rt.jar file. If that's the case, shouldn't it
> >     > also have
> >     > > fished out java.util.Map?
> >     > >
> >     > > Thanks!
> >     > > Best,
> >     > > David
> >     > >
> >     > >
> >     > >
> >     > >
> >     > > -
> >     > -
> >     ------------------------------------------------------------
> ----------------
> >
> >     >
> >     > > _______________________________________________
> >     > > cedet-semantic mailing list
> >     > > [email protected]
> >     > > https://lists.sourceforge.net/lists/listinfo/cedet-semantic
> >     >
> >
>

--94eb2c18cbd0a0329c053ba08831
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Edward,<div><br></div><div>That worked!=C2=A0 Thanks, s=
o much.=C2=A0 Seems I need to do some reading about this Wisent parser. =C2=
=A0:)</div><div><br></div><div>Warm regards,</div><div>David</div></div><di=
v class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Sat, Sep 3, 2016 =
at 9:13 AM, Edward John Steere <span dir=3D"ltr">&lt;<a href=3D"mailto:edwa=
[email protected]" target=3D"_blank">[email protected]</a>&gt;</spa=
n> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex">Hi David,<br>
<br>
Brilliant idea!=C2=A0 I use docker at work, but I&#39;ve never thought of u=
sing<br>
it as a mechanism for submitting reproducible bugs! :-)<br>
<br>
I fired it up and added all of my semantic configuration to the .emacs<br>
in the container until it worked.=C2=A0 It&#39;s actually a simple problem =
which<br>
I really should have thought of sooner -- given that it was only failing<br=
>
to parse tags from the library (!)<br>
<br>
You need to use the Java v1.5 parser for generic types (of which Map is<br>
one.)<br>
<br>
Here&#39;s a working .emacs file:<br>
<br>
=C2=A0 =C2=A0 (load-file &quot;/root/cedet/cedet-devel-load.<wbr>el&quot;)<=
br>
=C2=A0 =C2=A0 (require &#39;semantic/db-javap)<br>
=C2=A0 =C2=A0 (autoload &#39;wisent-java-default-setup &quot;semantic/wisen=
t/java&quot;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;Hook run to setup Semantic in `java-mode&=
#39;.&quot; nil nil)<br>
=C2=A0 =C2=A0 (semantic-mode 1)<br>
<br>
Note the use of the semantic/wisent/java default setup for the java<br>
parser.<br>
<br>
The grammar for this parser isn&#39;t without it&#39;s problems :-( At the<=
br>
moment it doesn&#39;t seem to handle annotations or foreach loops despite<b=
r>
there being some mention of it.=C2=A0 For most of Java it&#39;ll work just =
fine<br>
though.=C2=A0 Here&#39;s the path to the grammar file if you&#39;re interes=
ted:<br>
cedet/lisp/cedet/semantic/<wbr>wisent/java.wy<br>
<span class=3D"im HOEnZb"><br>
Kind regards,<br>
<br>
Edward Steere<br>
<br>
&gt; Hi Edward,<br>
&gt;<br>
</span><div class=3D"HOEnZb"><div class=3D"h5">&gt; Thanks for getting back=
 to me. Yes, it certainly seems like EDE picked<br>
&gt; up my project; at least, ede-project-customize seems to think that it<=
br>
&gt; has. Also, cedet-java-describe (thanks for that tip) seems to have a<b=
r>
&gt; sensible opinion on the subject (output pasted in below). I&#39;ll dig=
<br>
&gt; into the function call with the debugger, beginning with the<br>
&gt; back-trace you sent, so thanks for that as well.<br>
&gt;<br>
&gt; In the meantime (&quot;no good deed goes unpunished&quot;), if you&#39=
;re up for it<br>
&gt; you might for fun (for some definition of &quot;fun&quot;) try a Docke=
r image<br>
&gt; that I threw together with the intent of having a reproducible<br>
&gt; environment for demonstrating the problem I&#39;m experiencing. If so,=
 and<br>
&gt; if you have Docker installed (not necessarily an easy task), I think<b=
r>
&gt; you can issue the following commands to get the image and run it in a<=
br>
&gt; terminal:<br>
&gt;<br>
&gt; docker pull dventimi/docker-emacs<br>
&gt; docker run -t -i dventimi/docker-emacs emacs<br>
&gt;<br>
&gt; That should put you into an Emacs instance running in console mode in<=
br>
&gt; a Docker container. You&#39;re &quot;root&quot; and the CWD is &quot;/=
&quot;, but there&#39;s an<br>
&gt; Emacs bookmark set to the same HelloWorld.java file in<br>
&gt; &quot;/root/Scratch&quot;, an up-to-date version of CEDET is in &quot;=
/root/cedet&quot;<br>
&gt; and is compiled, Emacs is initialized with a bare-bones .emacs file in=
<br>
&gt; &quot;/root&quot;, and within that initialization file an EDE Java pro=
ject is<br>
&gt; configured for &quot;/root/Scratch&quot;. If that all works, you shoul=
d be able<br>
&gt; to visit the &quot;HelloWorld.java&quot; file and with point at &quot;=
m.&quot; and try<br>
&gt; semantic-ia-complete-symbol or semantic-analyze-debug-assist. With<br>
&gt; point in either of the includes (e.g., &quot;import java.util.Map&quot=
;), if you<br>
&gt; try M-x semantic-decoration-fileless-<wbr>include-describe, you should=
<br>
&gt; again get the output indicating it has a tag table handled by a JAR<br=
>
&gt; file, but there are 0 tags.<br>
&gt;<br>
&gt; Of course, if you&#39;ve no appetite for all this, I completely<br>
&gt; understand. :)<br>
&gt;<br>
&gt; Best wishes,<br>
&gt; David<br>
&gt;<br>
&gt; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D<br>
&gt; cedet-java-describe output:<br>
&gt;<br>
&gt; CEDET Java Operational Environment:<br>
&gt;<br>
&gt; Current Java Version: 1.7.0_111<br>
&gt;<br>
&gt; Minimum Desired version: 1.4<br>
&gt; Java Command: java<br>
&gt; Jar Command: jar<br>
&gt; Javap Command: javap<br>
&gt;<br>
&gt; User Specified Global Classpath Extension:<br>
&gt;<br>
&gt; Project Specified Classpath Extension (EDE):<br>
&gt;<br>
&gt; Java JDK Core Jar File:<br>
&gt; /usr/lib/jvm/java-1.7.0-<wbr>openjdk-amd64/jre/lib/rt.jar<br>
&gt;<br>
&gt; On Tue, Aug 30, 2016 at 12:01 PM, Edward John Steere<br>
&gt; &lt;<a href=3D"mailto:[email protected]">[email protected]=
</a>&gt; wrote:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Hi David,<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A01-4, all roughly the same as me.<br>
&gt;=C2=A0 =C2=A0 =C2=A05. I don&#39;t know whether it&#39;s necessary, but=
 it doesn&#39;t seem to<br>
&gt;=C2=A0 =C2=A0 =C2=A0work on<br>
&gt;=C2=A0 =C2=A0 =C2=A0my machine w/o a project.<br>
&gt;=C2=A0 =C2=A0 =C2=A07. Did ede pick up the project after you defined it=
? You can run<br>
&gt;=C2=A0 =C2=A0 =C2=A0`ede-customize-project&#39; to verify.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0I think that there might be a bug in the db because=
 it isn&#39;t<br>
&gt;=C2=A0 =C2=A0 =C2=A0finding any<br>
&gt;=C2=A0 =C2=A0 =C2=A0tags for the include. I get the following output fo=
r that import:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Include Tag: java.util.Map<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0This header tag has been marked &quot;Fileless&quot=
;.<br>
&gt;=C2=A0 =C2=A0 =C2=A0This means that Semantic cannot find a file associa=
ted with this<br>
&gt;=C2=A0 =C2=A0 =C2=A0tag<br>
&gt;=C2=A0 =C2=A0 =C2=A0on disk, but a database table of tags has been asso=
ciated with it.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0This means that the include will still be used to f=
ind tags for<br>
&gt;=C2=A0 =C2=A0 =C2=A0searches, but you cannot visit this include.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0This Header is now represented by the following dat=
abase table:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0#&lt;semanticdb-table-jar-file java/util/Map.class =
(1 tags)&gt;<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0I found a function to detect your java environment:=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0`cedet-java-describe&#39;. You could use that to de=
termine whether<br>
&gt;=C2=A0 =C2=A0 =C2=A0your<br>
&gt;=C2=A0 =C2=A0 =C2=A0java is being picked up correctly. I get the follow=
ing (on a Mac):<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0CEDET Java Operational Environment:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Current Java Version: 1.8.0_11<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Minimum Desired version: 1.4<br>
&gt;=C2=A0 =C2=A0 =C2=A0Java Command: java<br>
&gt;=C2=A0 =C2=A0 =C2=A0Jar Command: jar<br>
&gt;=C2=A0 =C2=A0 =C2=A0Javap Command: javap<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0User Specified Global Classpath Extension:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Project Specified Classpath Extension (EDE):<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Java JDK Core Jar File:<br>
&gt;=C2=A0 =C2=A0 =C2=A0/Library/Java/<wbr>JavaVirtualMachines/jdk1.8.0_<wb=
r>11.jdk/Contents/Home/jre/lib/<br>
&gt;=C2=A0 =C2=A0 rt.jar<br>
&gt;<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0I used the profiler to find the most likely functio=
ns involved in<br>
&gt;=C2=A0 =C2=A0 =C2=A0finding tags. This *might* not be a real call stack=
, but I find<br>
&gt;=C2=A0 =C2=A0 =C2=A0that it<br>
&gt;=C2=A0 =C2=A0 =C2=A0sometimes helps me to orient myself in a project. I=
f you&#39;re going<br>
&gt;=C2=A0 =C2=A0 =C2=A0to<br>
&gt;=C2=A0 =C2=A0 =C2=A0debug the issue then I&#39;d say that theses functi=
ons are probably a<br>
&gt;=C2=A0 =C2=A0 =C2=A0good<br>
&gt;=C2=A0 =C2=A0 =C2=A0place to start:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-javap-classpath-<wbr>objects<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-find-table-for-<wbr>include-java-mode<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-find-table-for-<wbr>include<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-find-translate-<wbr>path-includes--int=
ernal<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-find-translate-<wbr>path-includes-defa=
ult<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-find-translate-<wbr>path-java-mode<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-find-translate-path<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-table<br>
&gt;=C2=A0 =C2=A0 =C2=A0- apply<br>
&gt;=C2=A0 =C2=A0 =C2=A0- eieio-generic-call-primary-<wbr>only<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-typecache-include-<wbr>tags<br>
&gt;=C2=A0 =C2=A0 =C2=A0- #&lt;compiled 0x411b26ed&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0- apply<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-typecache-find-<wbr>method<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-typecache-find-<wbr>default<br>
&gt;=C2=A0 =C2=A0 =C2=A0- semanticdb-typecache-find-<wbr>java-mode<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0If I could replicate your problem then I would be m=
uch better<br>
&gt;=C2=A0 =C2=A0 =C2=A0equipped<br>
&gt;=C2=A0 =C2=A0 =C2=A0to help. As it stands this is the best I can do to =
point you in a<br>
&gt;=C2=A0 =C2=A0 =C2=A0direction (I&#39;m sure I&#39;ll be corrected if an=
ything I&#39;ve said is off<br>
&gt;=C2=A0 =C2=A0 =C2=A0point<br>
&gt;=C2=A0 =C2=A0 =C2=A0:-) ).<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Kind regards,<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Edward Steere<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Hi Edward,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Thanks so much for replying. Here&#39;s what I=
 can tell you.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 1 I&#39;m using CEDET from the Git repository<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; <a href=3D"http://git.code.sf.net/p/cedet/git"=
 rel=3D"noreferrer" target=3D"_blank">http://git.code.sf.net/p/<wbr>cedet/g=
it</a> and it&#39;s up-to-date.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 2 It&#39;s the very first thing I load in my i=
nit file, so as to<br>
&gt;=C2=A0 =C2=A0 =C2=A0avoid<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; using the built-in CEDET.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 3 CEDET version is 2.0. Full (cedet-version) o=
utput is below.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 4 I&#39;ve always had global-semantic-decorati=
on-<wbr>mode enabled and<br>
&gt;=C2=A0 =C2=A0 =C2=A0all my<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; imports have always been green &quot;Fileless.=
&quot; Full output is below.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 5 I didn&#39;t originally have an EDE project-=
root (is that<br>
&gt;=C2=A0 =C2=A0 =C2=A0necessary). I<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; only had the HelloWorld.java file in /home/dve=
ntimi/Scratch<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 6 I have however always had (require &#39;sema=
ntic/db-javap) at the<br>
&gt;=C2=A0 =C2=A0 =C2=A0top of<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; my init file.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 7 I added a project-root with this line in my =
init file:<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; (ede-java-root-project &quot;Scratch&quot; :fi=
le<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &quot;/home/dventimi/Scratch/<wbr>HelloWorld.j=
ava&quot;). I know the project<br>
&gt;=C2=A0 =C2=A0 =C2=A0root<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; doesn&#39;t typically &quot;hang off&quot; the=
 file I&#39;m trying to compile, but<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; there&#39;s no choice since I have no other fi=
les in the Scratch<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; directory.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; 8 Even with this addition, I get precisely the=
 same behavior.<br>
&gt;=C2=A0 =C2=A0 =C2=A0The key<br>
&gt;<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; is that it seems to identify the import statem=
ents as<br>
&gt;=C2=A0 =C2=A0 =C2=A0&quot;Fileless.&quot; In<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; my experience (I&#39;ve had completion working=
 in the past, though<br>
&gt;=C2=A0 =C2=A0 =C2=A0long<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; ago under different circumstances on a differe=
nt computer)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&quot;green is<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; good&quot; and that&#39;s the ideal state for =
importing tags from JAR<br>
&gt;=C2=A0 =C2=A0 =C2=A0files<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; via javap. And yet, the tags table it builds t=
his time has 0<br>
&gt;=C2=A0 =C2=A0 =C2=A0tags.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; I&#39;m happy to start drilling in with the de=
bugger, but at present<br>
&gt;=C2=A0 =C2=A0 =C2=A0I<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; don&#39;t even know where to begin. Anyway, th=
anks!<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Best,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; David<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; (cedet-version)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; -&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; CEDET Version: 2.0<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Requested File Loaded<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Package Version Version Version<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; ------------------------------<wbr>-----------=
-----------------<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; cedet: 2.0 ok ok<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; eieio: 1.4 nil ok<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; semantic: 2.2 ok ok<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; srecode: 1.2 ok ok<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; ede: 1.2 2.0 2.0<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; cogre: 1.2 ok ok<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; cedet-contrib: 1.2 nil Not Loaded<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &quot;What&#39;s this?&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; -&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Include Tag: java.util.Map<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; This header tag has been marked &quot;Fileless=
&quot;.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; This means that Semantic cannot find a file as=
sociated with this<br>
&gt;=C2=A0 =C2=A0 =C2=A0tag<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; on disk, but a database table of tags has been=
 associated with<br>
&gt;=C2=A0 =C2=A0 =C2=A0it.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; This means that the include will still be used=
 to find tags for<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; searches, but you cannot visit this include.<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; This Header is now represented by the followin=
g database table:<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; #&lt;semanticdb-table-jar-file java/util/Map.c=
lass (0 tags)&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; On Mon, Aug 29, 2016 at 1:26 PM, Edward John S=
teere<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &lt;<a href=3D"mailto:[email protected]"=
>[email protected]</a>&gt; wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Hi David,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; You&#39;re right, db-javap does deal with this=
 :) I could only<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; replicate<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; your problem with db-javap turned off (i.e. no=
t `require&#39;d).<br>
&gt;=C2=A0 =C2=A0 =C2=A0Once<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; I<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; `require&#39;d it it complained that generic p=
rojects don&#39;t have a<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; :classpath slot (which is of course true.) Onc=
e I created a<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; `java-root&#39;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; project, and dumped your code in it, it worked=
 fine and gave me<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; the<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; following options:<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; clear compute<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; computeIfAbsent computeIfPresent<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; containsKey containsValue entrySet<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; equals forEach get<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; getOrDefault hashCode isEmpty<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; keySet merge put<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; putAll putIfAbsent remove<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; replace replaceAll size<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; values<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Are you using upstream or built in CEDET?<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; You can also turn on `global-semantic-decorati=
on-<wbr>mode&#39; and your<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; imports<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; will be decorated to indicate whether they hav=
e been:<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; - Parsed (no highlighting)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; - Still need to be parsed (highlighted yellow =
on my machine)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; - None-file imports -- such as an import from =
a jar file<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; (highlighted<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; green on my machine)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; - Unrecognised imports (highlighted red on my =
machine)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; - (Your function tags will also be decorated i=
n the buffer)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; This ought to give you a good idea of whether =
cedet has figured<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; out your<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; project setup.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; To answer 1. and 2. I&#39;m not familiar with =
the global versus<br>
&gt;=C2=A0 =C2=A0 =C2=A0local<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; type<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; cache, but with any luck you wont have to be e=
ither :)<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Kind regards,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Edward Steere<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Hi!<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; I&#39;m having trouble with the Semantic =
Analyzer and Analyzer<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; Debugging<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; for Java programs. I&#39;ve a simple &quo=
t;Hello, World!&quot; Java file<br>
&gt;=C2=A0 =C2=A0 =C2=A0that<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; looks<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; like this:<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; import java.util.Map;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; import java.util.HashMap;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; public class HelloWorld {<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; public static void main (String[] args) {=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Map m =3D new HashMap();<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; m.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; }<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; }<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; When I try M-x semantic-ia-complete-symbo=
l after the &quot;m.&quot;, I<br>
&gt;=C2=A0 =C2=A0 =C2=A0get<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; the<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; message &quot;Cannot find types for `Map =
m&#39;,&quot; I get the output in<br>
&gt;=C2=A0 =C2=A0 =C2=A0the<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; attached debug.txt file. I&#39;m trying t=
o interpret this output,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; and a<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; couple questions come to mind.<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; 1 Should I expect the type to be a local =
type or a global<br>
&gt;=C2=A0 =C2=A0 =C2=A0type?<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; 2 What&#39;s the difference between a loc=
al type and a global<br>
&gt;=C2=A0 =C2=A0 =C2=A0type?<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; 3 Shouldn&#39;t semantic/db-javap just ha=
ndle this?<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; The typecache (also attached) seems to ha=
ve all the java.lang<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; types,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; which semantic/db-javap presumably fished=
 out of my Java<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; installation&#39;s rt.jar file. If that&#=
39;s the case, shouldn&#39;t it<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; also have<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; fished out java.util.Map?<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Thanks!<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Best,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; David<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; -<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; -<br>
&gt;=C2=A0 =C2=A0 =C2=A0------------------------------<wbr>----------------=
--------------<wbr>----------------<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; ______________________________<wbr>______=
___________<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; cedet-semantic mailing list<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; <a href=3D"mailto:[email protected]=
urceforge.net">cedet-semantic@lists.<wbr>sourceforge.net</a><br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; <a href=3D"https://lists.sourceforge.net/=
lists/listinfo/cedet-semantic" rel=3D"noreferrer" target=3D"_blank">https:/=
/lists.sourceforge.net/<wbr>lists/listinfo/cedet-semantic</a><br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div>

--94eb2c18cbd0a0329c053ba08831--


--===============5351063043392128024==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------

--===============5351063043392128024==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
cedet-semantic mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cedet-semantic

--===============5351063043392128024==--