Artist - 2020-01-26

I am using Doxygen in Eclipse through the eclox plugin to document a Java project.

Doxygen is not extracting class member variables unless I prefix the declation wtih public, or private, attribute.

It does extract the methods. But it does not extract any variables that are local to a method. When I use the "///<" marker, or any of the other equivalents, to document a variable all I see in Doxygen output is the line's comment begining with the < character, but not the variable itself.

The configuration file is atached.

What is wrong? Why won't the local function variables appear? (this is a major problem) Why do the class member variables have to have public, or private, declarations for them to be extracted by Doxygen? (this is a minor problem that can be lived with)

The Java document I have set up the illustrate the trouble:

package mySketchPkg;

import processing.core.*;
import processing.serial.*;

public class MySketchClass extends PApplet {

    // Is not extracted by Doxygen
    int PAppletTest; ///< Doxygen PAppletTest**

    // Is extracted by Doxygen:
    public int PAppleTestPublic; ///<  Doxygen PAppleTestPublic**
    private int PAppletTestPrivate; ///<  Doxygen PAppletTestPrivate**

    /**
     * @param args
     */
    public static void main(String[] args) {
        PApplet.main(MySketchClass.class.getCanonicalName());

    }

    public void setup()
    {  
    }

    public void settings()
    {   size( 150, 150 );
    }

    public void draw()
    {   // The DrawTest0 variable below does not appear in Doxygen output:
        int DrawTest0;

        // The below documentation lines appear in Doxygen output without the variable names:
        int DrawTest1; ///< Doxygen draw() DrawTest1**
        int DrawTest2; ///<  Doxygen draw() DrawTest2**
        int DrawTest3; ///<   Doxygen draw() DrawTest3**
        int DrawTest4; /**< Doxygen draw() DrawTest4** */

        DrawTest1 = 1;
    }
}

Doxygen output for the draw function. The variable names are missing, only the comment text is output:

draw()
void mySketchPkg.MySketchClass.draw     (       )   
< Doxygen draw() DrawTest1**
< Doxygen draw() DrawTest2**
< Doxygen draw() DrawTest3**
< Doxygen draw() DrawTest4**
Definition at line 38 of file MySketchClass.java.
 

Last edit: Artist 2020-01-26