|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectptolemy.backtrack.eclipse.ast.transform.AbstractTransformer
public abstract class AbstractTransformer
The abstract superclass of Java source code transformers. A transformer is a class that defines transformation on Java Abstract Syntax Trees (ASTs). It modifies the input AST and produces the output according to a certain transformation semantics.
Static methods that can be used in any transformer are defined in this class. It is also safe to call them in non-transformer classes to modify the AST.
This abstract class has no protected methods that need to be overridden by subclasses. It is stateless. States may be introduced by subclasses.
| Red (tfeng) |
| Red (tfeng) |
| Field Summary | |
|---|---|
static java.lang.String |
ASSIGN_PREFIX
The prefix of assignment methods. |
static java.lang.String |
BACKUP_PREFIX
The prefix of backup functions. |
static java.lang.String |
CHECKPOINT_NAME
The name of the checkpoint object. |
static java.lang.String |
CHECKPOINT_RECORD_NAME
The name of the checkpoint record. |
static java.lang.String |
GET_CHECKPOINT_NAME
The name of the method to get the checkpoint. |
static java.lang.String |
SET_CHECKPOINT_NAME
The name of the method to set a checkpoint. |
| Constructor Summary | |
|---|---|
AbstractTransformer()
|
|
| Method Summary | ||
|---|---|---|
protected java.lang.String |
_getAssignMethodName(java.lang.String fieldName,
boolean special)
Get the name of the assignment method. |
|
protected java.lang.String |
_getBackupMethodName(java.lang.String fieldName)
Get the name of the backup method. |
|
private static java.lang.String |
_getNonarrayClassName(java.lang.String name,
TypeAnalyzerState state,
org.eclipse.jdt.core.dom.CompilationUnit root)
Get the shortest possible name of the a class. |
|
static
|
addToLists(java.util.Hashtable<K,java.util.List<V>> lists,
K key,
V value)
Given a table of lists, add a value to the list associated with a key. |
|
static org.eclipse.jdt.core.dom.Name |
createName(org.eclipse.jdt.core.dom.AST ast,
java.lang.String name)
Create an AST name node with a name string (possibly partitioned with "."). |
|
static org.eclipse.jdt.core.dom.Type |
createType(org.eclipse.jdt.core.dom.AST ast,
java.lang.String type)
Create an AST type node with a type string (possibly partitioned with "." and "[]"). |
|
static java.lang.String |
getClassName(java.lang.Class c,
TypeAnalyzerState state,
org.eclipse.jdt.core.dom.CompilationUnit root)
Get the shortest possible name of the a class. |
|
static java.lang.String |
getClassName(java.lang.String name,
TypeAnalyzerState state,
org.eclipse.jdt.core.dom.CompilationUnit root)
Get the shortest possible name of the a class. |
|
static boolean |
hasMethod(java.lang.Class c,
java.lang.String methodName,
java.lang.Class[] parameters)
Test if a method exists in a class or its superclasses. |
|
static boolean |
hasMethod(java.lang.Class c,
java.lang.String methodName,
java.lang.Class[] parameters,
boolean thisClassOnly)
Test if a method exists in a class. |
|
static int |
indexOf(java.lang.String s,
char[] chars,
int startPos)
Find the first appearance of any of the given characters in a string. |
|
static boolean |
isFieldDuplicated(java.lang.Class c,
java.lang.String fieldName)
Test if a field to be added already exists. |
|
static int |
lastIndexOf(java.lang.String s,
char[] chars)
Find the last appearance of any of the given characters in a string. |
|
static void |
removeNode(org.eclipse.jdt.core.dom.ASTNode node)
Remove an AST node from the its parent. |
|
static void |
replaceNode(org.eclipse.jdt.core.dom.ASTNode node,
org.eclipse.jdt.core.dom.ASTNode newNode)
Replace an AST node with another one by substituting the corresponding child of its parent. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String ASSIGN_PREFIX
public static final java.lang.String BACKUP_PREFIX
public static final java.lang.String CHECKPOINT_NAME
public static final java.lang.String CHECKPOINT_RECORD_NAME
public static final java.lang.String GET_CHECKPOINT_NAME
public static final java.lang.String SET_CHECKPOINT_NAME
| Constructor Detail |
|---|
public AbstractTransformer()
| Method Detail |
|---|
public static <K,V> void addToLists(java.util.Hashtable<K,java.util.List<V>> lists,
K key,
V value)
lists - The table of lists.key - The key.value - The value to be added.
public static org.eclipse.jdt.core.dom.Name createName(org.eclipse.jdt.core.dom.AST ast,
java.lang.String name)
ast - The AST object.name - The name.
public static org.eclipse.jdt.core.dom.Type createType(org.eclipse.jdt.core.dom.AST ast,
java.lang.String type)
ast - The AST object.type - The type.
public static java.lang.String getClassName(java.lang.Class c,
TypeAnalyzerState state,
org.eclipse.jdt.core.dom.CompilationUnit root)
c - The class.state - The state of the type analyzer.root - The root of the AST. If there is no conflict and the class
has not been imported yet, a new ImportDeclaration is added to
it.
public static java.lang.String getClassName(java.lang.String name,
TypeAnalyzerState state,
org.eclipse.jdt.core.dom.CompilationUnit root)
name - The full class name.state - The state of the type analyzer.root - The root of the AST. If there is no conflict and
the class has not been imported yet, a new ImportDeclaration is added to it.
public static boolean hasMethod(java.lang.Class c,
java.lang.String methodName,
java.lang.Class[] parameters)
c - The current class.methodName - The method name.parameters - The types of parameters for the method.
public static boolean hasMethod(java.lang.Class c,
java.lang.String methodName,
java.lang.Class[] parameters,
boolean thisClassOnly)
c - The current class.methodName - The method name.thisClassOnly - Whether to test the given class only (but not
test its superclasses).parameters - The types of parameters for the method.
public static int indexOf(java.lang.String s,
char[] chars,
int startPos)
s - The string.chars - The array of characters.startPos - The starting position from which the search begins.
public static boolean isFieldDuplicated(java.lang.Class c,
java.lang.String fieldName)
c - The current class.fieldName - The field name.
public static int lastIndexOf(java.lang.String s,
char[] chars)
s - The string.chars - The array of characters.
public static void removeNode(org.eclipse.jdt.core.dom.ASTNode node)
node - The node to be removed.
public static void replaceNode(org.eclipse.jdt.core.dom.ASTNode node,
org.eclipse.jdt.core.dom.ASTNode newNode)
node - The node to be replace.newNode - The new node.
protected java.lang.String _getAssignMethodName(java.lang.String fieldName,
boolean special)
fieldName - The field name.special - Whether the method handles special assign operators.
protected java.lang.String _getBackupMethodName(java.lang.String fieldName)
fieldName - The field name.
private static java.lang.String _getNonarrayClassName(java.lang.String name,
TypeAnalyzerState state,
org.eclipse.jdt.core.dom.CompilationUnit root)
name - The full class name. It must not be the name of an array
type.state - The state of the type analyzer.root - The root of the AST. If there is no conflict and the class
has not been imported yet, a new ImportDeclaration is added to
it.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||