org.dellroad.jc.cgen
Class SourceFile

java.lang.Object
  extended byorg.dellroad.jc.cgen.SourceFile
All Implemented Interfaces:
Constants
Direct Known Subclasses:
CFile, HFile

public abstract class SourceFile
extends Object
implements Constants

Represents a Java class file being converted into C source and/or header files. Contains analysis and formatting code common to both C source and C header file generation.


Field Summary
protected  SootClass c
           
protected  String cname
           
protected  SootMethod[] constructors
           
protected  boolean hasStaticInitializer
           
protected  org.dellroad.jc.cgen.SourceFile.InnerClass[] innerClasses
           
protected  int numVirtualRefFields
           
protected  CodeWriter out
           
protected  SootClass outerClass
           
protected  String prefix
           
protected  String sourceFile
           
protected  SootField[] staticFields
           
protected  SootMethod[] staticMethods
           
protected  ArrayList superclasses
           
protected  SootField[] virtualFields
           
protected  SootMethod[] virtualMethods
           
 
Fields inherited from interface org.dellroad.jc.cgen.Constants
IMETHOD_HASHSIZE, INSTANCEOF_HASHSIZE
 
Constructor Summary
SourceFile(SootClass c, Writer out)
           
 
Method Summary
 void include(SootClass sc)
           
 void include(String filename)
           
abstract  void output()
           
 void outputBanner(String s)
           
 void outputCommentLine(String s)
           
 void outputFinalStuff()
           
 void outputInitialStuff(SootClass[] hlist, SootClass[] dlist, boolean defs)
           
 void spaceFillTo(int posn, int target)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

c

protected SootClass c

cname

protected String cname

prefix

protected String prefix

superclasses

protected ArrayList superclasses

out

protected CodeWriter out

numVirtualRefFields

protected int numVirtualRefFields

sourceFile

protected String sourceFile

hasStaticInitializer

protected boolean hasStaticInitializer

virtualFields

protected SootField[] virtualFields

staticFields

protected SootField[] staticFields

virtualMethods

protected SootMethod[] virtualMethods

staticMethods

protected SootMethod[] staticMethods

constructors

protected SootMethod[] constructors

innerClasses

protected org.dellroad.jc.cgen.SourceFile.InnerClass[] innerClasses

outerClass

protected SootClass outerClass
Constructor Detail

SourceFile

public SourceFile(SootClass c,
                  Writer out)
Method Detail

include

public void include(String filename)

include

public void include(SootClass sc)

output

public abstract void output()

outputInitialStuff

public void outputInitialStuff(SootClass[] hlist,
                               SootClass[] dlist,
                               boolean defs)

outputFinalStuff

public void outputFinalStuff()

outputCommentLine

public void outputCommentLine(String s)

outputBanner

public void outputBanner(String s)

spaceFillTo

public void spaceFillTo(int posn,
                        int target)