fabil.extension
Class FabILExt_c

java.lang.Object
  extended by Ext_c
      extended by fabil.extension.FabILExt_c
All Implemented Interfaces:
FabILExt
Direct Known Subclasses:
AbortExt_c, AtomicExt_c, ClassBodyExt_c, ClassMemberExt_c, ConstructorCallExt_c, EvalExt_c, ExprExt_c, RetryExt_c, TypeNodeExt_c

public class FabILExt_c
extends Ext_c
implements FabILExt


Constructor Summary
FabILExt_c()
           
 
Method Summary
 Node assignLabels(LabelAssigner la)
          Used by LabelAssigner to assign labels to all new expressions.
 Node assignLocations(LocationAssigner la)
          Used by LocationAssigner to assign locations to all new expressions.
 Node collectStaticInitializers(StaticInitializerCollector sc)
          Used by StaticInitializerCollector.
static FabILExt ext(Node n)
          Returns the Fabric extension object associated with the given node.
 Node rewriteAtomic(AtomicRewriter ar)
          Used by AtomicRewriter to rewrite the AST to eliminate atomic statements.
 Node rewriteProxies(ProxyRewriter pr)
          Used by ProxyRewriter to rewrite references to proxy references.
 Node rewriteProxiesOverride(ProxyRewriter rewriter)
          Used by ProxyRewriter to override the default visitor behaviour.
 Node rewriteRemoteCalls(RemoteCallRewriter rr)
          Used by RemoteCallRewriter to translate RMIs.
 Node rewriteThreads(ThreadRewriter tr)
          Used by ThreadRewriter to hook Threads into the worker's transaction manager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FabILExt_c

public FabILExt_c()
Method Detail

collectStaticInitializers

public Node collectStaticInitializers(StaticInitializerCollector sc)
Description copied from interface: FabILExt
Used by StaticInitializerCollector.

Specified by:
collectStaticInitializers in interface FabILExt

assignLabels

public Node assignLabels(LabelAssigner la)
                  throws SemanticException
Description copied from interface: FabILExt
Used by LabelAssigner to assign labels to all new expressions.

Specified by:
assignLabels in interface FabILExt
Throws:
SemanticException - when a label is missing and no default can be assigned.

assignLocations

public Node assignLocations(LocationAssigner la)
                     throws SemanticException
Description copied from interface: FabILExt
Used by LocationAssigner to assign locations to all new expressions.

Specified by:
assignLocations in interface FabILExt
Throws:
SemanticException

rewriteProxiesOverride

public Node rewriteProxiesOverride(ProxyRewriter rewriter)
Description copied from interface: FabILExt
Used by ProxyRewriter to override the default visitor behaviour.

Specified by:
rewriteProxiesOverride in interface FabILExt
See Also:
polyglot.visit.NodeVisitor#override(Node)

rewriteAtomic

public Node rewriteAtomic(AtomicRewriter ar)
Description copied from interface: FabILExt
Used by AtomicRewriter to rewrite the AST to eliminate atomic statements.

Specified by:
rewriteAtomic in interface FabILExt

rewriteProxies

public Node rewriteProxies(ProxyRewriter pr)
Description copied from interface: FabILExt
Used by ProxyRewriter to rewrite references to proxy references.

Specified by:
rewriteProxies in interface FabILExt

rewriteThreads

public Node rewriteThreads(ThreadRewriter tr)
Description copied from interface: FabILExt
Used by ThreadRewriter to hook Threads into the worker's transaction manager.

Specified by:
rewriteThreads in interface FabILExt

rewriteRemoteCalls

public Node rewriteRemoteCalls(RemoteCallRewriter rr)
Description copied from interface: FabILExt
Used by RemoteCallRewriter to translate RMIs.

Specified by:
rewriteRemoteCalls in interface FabILExt

ext

public static FabILExt ext(Node n)
Returns the Fabric extension object associated with the given node.