org.prorefactor.treeparser
Interface SymbolI

All Superinterfaces:
Xferable
All Known Subinterfaces:
FieldLevelWidgetI, WidgetI
All Known Implementing Classes:
Browse, Button, Dataset, Datasource, FieldBuffer, FieldContainer, Frame, Image, Menu, MenuItem, Query, Rectangle, Routine, Stream, Submenu, Symbol, TableBuffer, Variable, Widget

public interface SymbolI
extends Xferable


Field Summary
static java.util.Comparator NAME_ORDER
          Comparator for sorting by name.
 
Method Summary
 java.lang.String fullName()
          Get the "full" name for this symbol.
 int getAllRefsCount()
           
 JPNode getAsNode()
          If this was defined AS something, then we have an AS node
 JPNode getDefineNode()
          If this symbol was defined directly by a DEFINE syntax, then this returns the DEFINE node, otherwise null.
 JPNode getIndirectDefineIdNode()
          If this symbol was defined with syntax other than a direct DEFINE, then this returns the ID node, otherwise null.
 JPNode getLikeNode()
          If this was defined LIKE something, then we have a LIKE node
 java.lang.String getName()
           
 int getNumReads()
           
 int getNumWrites()
           
 int getProgressType()
          From TokenTypes: VARIABLE, FRAME, MENU, MENUITEM, etc.
 SymbolScope getScope()
           
 boolean isExported()
          Is the symbol newly defined here and visible to other compile units? This includes PROTECTED members visible to subclasses.
 boolean isImported()
          Defined as SHARED?
 void noteReference(int contextQualifier)
          Take note of a symbol reference (read, write, reference by name).
 void setAsNode(JPNode asNode)
           
 void setDefOrIdNode(JPNode node)
          We store the DEFINE|FUNCTION|METHOD|PROCEDURE node if available and sensible.
 void setLikeNode(JPNode likeNode)
           
 void setName(java.lang.String name)
           
 
Methods inherited from interface com.joanju.Xferable
writeXferBytes, writeXferSchema
 

Field Detail

NAME_ORDER

static final java.util.Comparator NAME_ORDER
Comparator for sorting by name.

Method Detail

fullName

java.lang.String fullName()
Get the "full" name for this symbol. This is expected to be overridden in subclasses. For example, we might expect "database.buffer.field" to be the return for a field buffer.


getAllRefsCount

int getAllRefsCount()

getNumReads

int getNumReads()

getNumWrites

int getNumWrites()

getAsNode

JPNode getAsNode()
If this was defined AS something, then we have an AS node


getDefineNode

JPNode getDefineNode()
If this symbol was defined directly by a DEFINE syntax, then this returns the DEFINE node, otherwise null.


getIndirectDefineIdNode

JPNode getIndirectDefineIdNode()
If this symbol was defined with syntax other than a direct DEFINE, then this returns the ID node, otherwise null.


getLikeNode

JPNode getLikeNode()
If this was defined LIKE something, then we have a LIKE node


getName

java.lang.String getName()

getProgressType

int getProgressType()
From TokenTypes: VARIABLE, FRAME, MENU, MENUITEM, etc. A TableBuffer object always returns BUFFER, regardless of whether the object is a named buffer or a default buffer. A FieldBuffer object always returns FIELD.


getScope

SymbolScope getScope()

isExported

boolean isExported()
Is the symbol newly defined here and visible to other compile units? This includes PROTECTED members visible to subclasses.


isImported

boolean isImported()
Defined as SHARED?


noteReference

void noteReference(int contextQualifier)
Take note of a symbol reference (read, write, reference by name).


setAsNode

void setAsNode(JPNode asNode)
See Also:
getAsNode()

setDefOrIdNode

void setDefOrIdNode(JPNode node)
We store the DEFINE|FUNCTION|METHOD|PROCEDURE node if available and sensible. If defined in a syntax where there is no DEFINE node briefly preceeding the ID node, then we store the ID node.


setLikeNode

void setLikeNode(JPNode likeNode)
See Also:
getLikeNode()

setName

void setName(java.lang.String name)


Copyright © 2008 Joanju Software. All Rights Reserved.