Class NativeRef

java.lang.Object
  |
  +--JavaElement
        |
        +--NativeRef

class NativeRef
extends JavaElement
implements JVM

a reference to the source of one native method.


Field Summary
(package private)  java.util.Hashtable dependencies
          Hashtable symbol -> names of depended-upon classes, methods and fields.
(package private)  java.lang.String filename
          the source filename.
(package private)  java.lang.String signature
          the method signature.
(package private)  int start
          the start line number.
(package private)  boolean wholeFile
          flag: whole file insteaf of single routine
 
Fields inherited from class JavaElement
EXACT_INSTANCE_NEEDED, INSTANCE_NEEDED, NEEDED, NEEDED_INSTANCEOF, NEEDED_VIRTUALLY, neededModeAddOn, neededModeBasic, neededReasons, UNNEEDED
 
Constructor Summary
(package private) NativeRef(java.lang.String signature, java.lang.String filename)
          constructor.
(package private) NativeRef(java.lang.String signature, java.lang.String filename, int start)
          constructor.
 
Method Summary
(package private)  void addDependency(java.lang.String signature, java.lang.String asmSymbol)
          add a dependency to this NativeRef.
(package private)  void copyTo(java.io.PrintWriter asmout)
          copy native lines to stream.
(package private)  java.lang.String dependencyReplacement(java.lang.String sym)
          replacement string for a given symbol.
(package private)  void updateNeeded()
          update the 'needed' state of this native code and related elements.
 
Methods inherited from class JavaElement
isNeeded, isNeeded, markNeeded
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

signature

java.lang.String signature
the method signature.

filename

java.lang.String filename
the source filename.

start

int start
the start line number.

wholeFile

boolean wholeFile
flag: whole file insteaf of single routine

dependencies

java.util.Hashtable dependencies
Hashtable symbol -> names of depended-upon classes, methods and fields.
Constructor Detail

NativeRef

NativeRef(java.lang.String signature,
          java.lang.String filename,
          int start)
constructor.

NativeRef

NativeRef(java.lang.String signature,
          java.lang.String filename)
constructor.
Method Detail

dependencyReplacement

java.lang.String dependencyReplacement(java.lang.String sym)
replacement string for a given symbol.

updateNeeded

void updateNeeded()
update the 'needed' state of this native code and related elements. Only used for opcode implementations and kernel routines, not for native method implementations.
Overrides:
updateNeeded in class JavaElement

copyTo

void copyTo(java.io.PrintWriter asmout)
copy native lines to stream.

addDependency

void addDependency(java.lang.String signature,
                   java.lang.String asmSymbol)
add a dependency to this NativeRef. In addition, this method can define a string to name the depended-upon object in the context of this native code. Jump replaces this symbol according to the following rules:
Class the numerical index of the class
Method the label of the corresponding routine
Static field the label of the field
Instance field the numerical offset of the field
Parameters:
signature - a string in signature syntax naming a class, method or field.
asmSymbol - the symbol to be replaced (or null: no replacement)