This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
gcjh: Why is "__" appended to member names?
- From: "Craig A. Vanderborgh" <craigv at voxware dot com>
- To: java at gcc dot gnu dot org
- Date: 26 Jun 2003 13:11:29 -0600
- Subject: gcjh: Why is "__" appended to member names?
Hello GCJ:
I have a simple class that appears thus:
package voxware.engine.recognition.sapivise;
import java.lang.*;
import java.util.*;
public class RawResult {
boolean accepted = false;
boolean training = false;
boolean audio = false;
gnu.gcj.RawData result = null;
String grammarName = "";
String[] nbestArray = null;
String hostTrans = "";
public RawResult() {}
}
With gcc-3.3 the gcjh output from gcjh appears as follows:
#ifndef __voxware_engine_recognition_sapivise_RawResult__
#define __voxware_engine_recognition_sapivise_RawResult__
#pragma interface
#include <java/lang/Object.h>
extern "Java"
{
namespace voxware
{
namespace engine
{
namespace recognition
{
namespace sapivise
{
class RawResult;
}
}
}
}
namespace gnu
{
namespace gcj
{
class RawData;
}
}
};
class ::voxware::engine::recognition::sapivise::RawResult : public
::java::lang:
:Object
{
public:
RawResult ();
public: // actually package-private
jboolean __attribute__((aligned(__alignof__( ::java::lang::Object
)))) accept
ed;
jboolean training;
jboolean audio;
::gnu::gcj::RawData *result;
::java::lang::String *grammarName;
JArray< ::java::lang::String *> *nbestArray;
::java::lang::String *hostTrans__;
public:
static ::java::lang::Class class$;
};
#endif /* __voxware_engine_recognition_sapivise_RawResult__ */
My question is this: Why is "hostTrans" postfixed with "__"? Is this
the correct output, and if so under what conditions can I expect to see
members declared "foo__"??
TIA,
craig vanderborgh
voxware incorporated