com.sun.tools.javah
Class LLNI

java.lang.Object
  extended by com.sun.tools.javah.Gen
      extended by com.sun.tools.javah.LLNI

public class LLNI
extends Gen


Nested Class Summary
private static class LLNI.FieldDefsRes
           
 
Field Summary
protected  java.util.Hashtable<java.lang.Object,java.lang.Object> doneHandleTypes
           
private  boolean doubleAlign
           
(package private)  MemberDoc[] fields
           
protected  char innerDelim
           
private static boolean isWindows
           
(package private)  MemberDoc[] methods
           
private  int padFieldNum
           
protected  char pathChar
           
 
Fields inherited from class com.sun.tools.javah.Gen
classes, force, lineSep, outDir, outFile, root
 
Constructor Summary
LLNI(boolean doubleAlign, RootDoc root)
           
 
Method Summary
protected  java.lang.String addStaticStructMember(FieldDoc field, java.lang.String cname)
           
protected  java.lang.String addStructMember(FieldDoc member, java.lang.String cname, boolean padWord)
           
protected  java.lang.String cRcvrDecl(MemberDoc field, java.lang.String cname)
           
private  boolean doField(LLNI.FieldDefsRes res, FieldDoc field, java.lang.String cname, boolean padWord)
           
private  int doTwoWordFields(LLNI.FieldDefsRes res, ClassDoc clazz, int offset, java.lang.String cname, boolean padWord)
           
protected  java.lang.String fieldDefs(ClassDoc clazz, java.lang.String cname)
           
protected  LLNI.FieldDefsRes fieldDefs(ClassDoc clazz, java.lang.String cname, boolean bottomMost)
           
protected  void forwardDecls(java.io.PrintWriter pw, ClassDoc clazz)
           
protected  void forwardDeclsFromSig(java.io.PrintWriter pw, java.lang.String sig)
           
protected  void generateDeclsForClass(java.io.PrintWriter pw, ClassDoc clazz, java.lang.String cname)
           
protected  void genHandleType(java.io.PrintWriter pw, java.lang.String clazzname)
           
protected  java.lang.String getIncludes()
          Override this method to provide a list of #include statements required by the native interface.
protected  boolean isASCIILetterOrDigit(char c)
           
protected  boolean isLongOrDouble(Type t)
           
protected  java.lang.String jniMethodName(MethodDoc method, java.lang.String cname, boolean longName)
           
protected  java.lang.String jniType(Type t)
           
protected  java.lang.String llniFieldName(MemberDoc field)
           
protected  java.lang.String llniType(Type t, boolean handleize, boolean longDoubleOK)
           
protected  java.lang.String mangleClassName(java.lang.String s)
           
protected  java.lang.String maskName(java.lang.String s)
           
protected  java.lang.String methodDecl(MethodDoc method, ClassDoc clazz, java.lang.String cname)
           
protected  java.lang.String methodDecls(ClassDoc clazz, java.lang.String cname)
           
protected  void methodSectionForClass(java.io.PrintWriter pw, ClassDoc clazz, java.lang.String cname)
           
protected  java.lang.String nameToIdentifier(java.lang.String name)
           
protected  boolean needLongName(MethodDoc method, ClassDoc clazz)
           
protected  void structSectionForClass(java.io.PrintWriter pw, ClassDoc jclazz, java.lang.String cname)
           
protected  void write(java.io.OutputStream o, ClassDoc clazz)
          Override this abstract method, generating content for the named class into the outputstream.
 
Methods inherited from class com.sun.tools.javah.Gen
baseFileName, cppGuardBegin, cppGuardEnd, defineForStatic, getAllFields, getFileName, getFileSuffix, guardBegin, guardEnd, run, setClasses, setForce, setOutDir, setOutFile, wrapWriter, writeFileTop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pathChar

protected final char pathChar

innerDelim

protected final char innerDelim
See Also:
Constant Field Values

doneHandleTypes

protected java.util.Hashtable<java.lang.Object,java.lang.Object> doneHandleTypes

fields

MemberDoc[] fields

methods

MemberDoc[] methods

doubleAlign

private boolean doubleAlign

padFieldNum

private int padFieldNum

isWindows

private static final boolean isWindows
Constructor Detail

LLNI

LLNI(boolean doubleAlign,
     RootDoc root)
Method Detail

getIncludes

protected java.lang.String getIncludes()
Description copied from class: Gen
Override this method to provide a list of #include statements required by the native interface.

Specified by:
getIncludes in class Gen

write

protected void write(java.io.OutputStream o,
                     ClassDoc clazz)
              throws java.lang.ClassNotFoundException
Description copied from class: Gen
Override this abstract method, generating content for the named class into the outputstream.

Specified by:
write in class Gen
Throws:
java.lang.ClassNotFoundException

generateDeclsForClass

protected void generateDeclsForClass(java.io.PrintWriter pw,
                                     ClassDoc clazz,
                                     java.lang.String cname)
                              throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

genHandleType

protected void genHandleType(java.io.PrintWriter pw,
                             java.lang.String clazzname)

mangleClassName

protected java.lang.String mangleClassName(java.lang.String s)

forwardDecls

protected void forwardDecls(java.io.PrintWriter pw,
                            ClassDoc clazz)
                     throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

forwardDeclsFromSig

protected void forwardDeclsFromSig(java.io.PrintWriter pw,
                                   java.lang.String sig)

structSectionForClass

protected void structSectionForClass(java.io.PrintWriter pw,
                                     ClassDoc jclazz,
                                     java.lang.String cname)
                              throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

doField

private boolean doField(LLNI.FieldDefsRes res,
                        FieldDoc field,
                        java.lang.String cname,
                        boolean padWord)
                 throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

doTwoWordFields

private int doTwoWordFields(LLNI.FieldDefsRes res,
                            ClassDoc clazz,
                            int offset,
                            java.lang.String cname,
                            boolean padWord)
                     throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

fieldDefs

protected java.lang.String fieldDefs(ClassDoc clazz,
                                     java.lang.String cname)
                              throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

fieldDefs

protected LLNI.FieldDefsRes fieldDefs(ClassDoc clazz,
                                      java.lang.String cname,
                                      boolean bottomMost)
                               throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

addStructMember

protected java.lang.String addStructMember(FieldDoc member,
                                           java.lang.String cname,
                                           boolean padWord)
                                    throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

addStaticStructMember

protected java.lang.String addStaticStructMember(FieldDoc field,
                                                 java.lang.String cname)
                                          throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

methodSectionForClass

protected void methodSectionForClass(java.io.PrintWriter pw,
                                     ClassDoc clazz,
                                     java.lang.String cname)
                              throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

methodDecls

protected java.lang.String methodDecls(ClassDoc clazz,
                                       java.lang.String cname)
                                throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

methodDecl

protected java.lang.String methodDecl(MethodDoc method,
                                      ClassDoc clazz,
                                      java.lang.String cname)
                               throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

needLongName

protected final boolean needLongName(MethodDoc method,
                                     ClassDoc clazz)
                              throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

jniMethodName

protected final java.lang.String jniMethodName(MethodDoc method,
                                               java.lang.String cname,
                                               boolean longName)

jniType

protected final java.lang.String jniType(Type t)

llniType

protected java.lang.String llniType(Type t,
                                    boolean handleize,
                                    boolean longDoubleOK)

cRcvrDecl

protected final java.lang.String cRcvrDecl(MemberDoc field,
                                           java.lang.String cname)

maskName

protected java.lang.String maskName(java.lang.String s)

llniFieldName

protected java.lang.String llniFieldName(MemberDoc field)

isLongOrDouble

protected final boolean isLongOrDouble(Type t)

nameToIdentifier

protected final java.lang.String nameToIdentifier(java.lang.String name)

isASCIILetterOrDigit

protected final boolean isASCIILetterOrDigit(char c)