fabil.types
Class FabILTypeSystem_c

java.lang.Object
  extended by TypeSystem_c
      extended by fabil.types.FabILTypeSystem_c
All Implemented Interfaces:
FabILTypeSystem

public class FabILTypeSystem_c
extends TypeSystem_c
implements FabILTypeSystem


Constructor Summary
FabILTypeSystem_c()
           
 
Method Summary
 ClassType AbortException()
           
protected  ArrayType createArrayType(Position pos, Type type)
           
 ParsedClassType createClassType(LazyClassInitializer init, Source fromSource)
           
protected  FabricArrayType createFabricArrayType(Position pos, Type type)
           
 java.util.List defaultPackageImports()
           
 ClassType DelegatingPrincipal()
           
 FabricArrayType fabricArrayOf(Position pos, Type type)
           
 FabricArrayType fabricArrayOf(Position pos, Type type, int dims)
           
 FabricArrayType fabricArrayOf(Type type)
          Returns the compile-time representation of a Fabric array type.
 FabricArrayType fabricArrayOf(Type type, int dims)
           
protected  FabricArrayType fabricArrayType(Position pos, Type type)
           
 ClassType fabricRuntimeArrayImplOf(Type type)
           
 ClassType fabricRuntimeArrayOf(Type type)
           
 ClassType FabricThread()
          The ClassType of fabric.common.FabricThread.
protected  java.util.List<MethodInstance> findAcceptableMethods(ReferenceType container, java.lang.String name, java.util.List argTypes, ClassType currClass)
           
 ClassType FObject()
          The ClassType of fabric.lang.Object.
 ImportTable importTable(java.lang.Package pkg)
           
 ImportTable importTable(java.lang.String sourceName, java.lang.Package pkg)
           
 ClassType InternalError()
           
 boolean isCompiledByFabc(ClassType ct)
          Determines whether a type was compiled by fabc.
 boolean isFabricArray(ArrayType type)
           
 boolean isFabricArray(Type type)
           
 boolean isFabricArray(TypeNode type)
           
 boolean isFabricClass(ClassType type)
           
 boolean isFabricClass(Type type)
           
 boolean isFabricClass(TypeNode type)
           
 boolean isFabricReference(Type type)
           
 boolean isFabricReference(TypeNode type)
           
 boolean isFabricType(Type type)
           
 boolean isFabricType(TypeNode type)
           
 boolean isJavaInlineable(Type type)
          Determines whether the given type is a subtype of fabric.lang.JavaInlineable.
 boolean isJavaInlineable(TypeNode type)
          Determines whether the given type is a subtype of fabric.lang.JavaInlineable.
 boolean isPrincipalClass(ClassType type)
           
 boolean isPrincipalClass(Type type)
           
 boolean isPrincipalClass(TypeNode type)
           
 boolean isPureFabricType(Type type)
          Determines whether the given type is a "pure" Fabric type.
 boolean isPureFabricType(TypeNode type)
          Determines whether the given type is a "pure" Fabric type.
 boolean isThread(Type type)
           
 boolean isThread(TypeNode type)
           
 ClassType JavaInlineable()
          The ClassType of fabric.lang.JavaInlineable.
 Type Label()
          The ClassType of fabric.lang.security.Label.
 Flags legalConstructorFlags()
           
 Flags legalInterfaceFlags()
           
 Flags legalMethodFlags()
           
 Flags legalTopLevelClassFlags()
           
 ClassType Principal()
           
 ClassType RemoteCallException()
           
 ClassType RemoteWorker()
          The ClassType of fabric.worker.remote.RemoteWorker.
 void setRuntimeClassResolver(LoadedClassResolver lcr)
          Sets the LoadedClassResolver to use when looking for Fabric runtime classes.
 Type Store()
          The ClassType of fabric.worker.Store.
 ClassType Thread()
          The ClassType of java.lang.Thread.
 ClassType toFabricRuntimeArray(ArrayType type)
           
 ClassType TransactionManager()
          return the ClassType corresponding to fabric.worker.transaction.TransactionManager
 java.lang.String translateClass(Resolver c, ClassType t)
           
 ClassType Worker()
           
 ClassType WrappedJavaInlineable()
          The ClassType of fabric.lang.WrappedJavaInlineable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FabILTypeSystem_c

public FabILTypeSystem_c()
Method Detail

TransactionManager

public ClassType TransactionManager()
Description copied from interface: FabILTypeSystem
return the ClassType corresponding to fabric.worker.transaction.TransactionManager

Specified by:
TransactionManager in interface FabILTypeSystem

FObject

public ClassType FObject()
Description copied from interface: FabILTypeSystem
The ClassType of fabric.lang.Object.

Specified by:
FObject in interface FabILTypeSystem

JavaInlineable

public ClassType JavaInlineable()
Description copied from interface: FabILTypeSystem
The ClassType of fabric.lang.JavaInlineable.

Specified by:
JavaInlineable in interface FabILTypeSystem

WrappedJavaInlineable

public ClassType WrappedJavaInlineable()
Description copied from interface: FabILTypeSystem
The ClassType of fabric.lang.WrappedJavaInlineable.

Specified by:
WrappedJavaInlineable in interface FabILTypeSystem

AbortException

public ClassType AbortException()
Specified by:
AbortException in interface FabILTypeSystem

FabricThread

public ClassType FabricThread()
Description copied from interface: FabILTypeSystem
The ClassType of fabric.common.FabricThread.

Specified by:
FabricThread in interface FabILTypeSystem

Thread

public ClassType Thread()
Description copied from interface: FabILTypeSystem
The ClassType of java.lang.Thread.

Specified by:
Thread in interface FabILTypeSystem

RemoteWorker

public ClassType RemoteWorker()
Description copied from interface: FabILTypeSystem
The ClassType of fabric.worker.remote.RemoteWorker.

Specified by:
RemoteWorker in interface FabILTypeSystem

RemoteCallException

public ClassType RemoteCallException()
Specified by:
RemoteCallException in interface FabILTypeSystem

Worker

public ClassType Worker()
Specified by:
Worker in interface FabILTypeSystem

Principal

public ClassType Principal()
Specified by:
Principal in interface FabILTypeSystem

DelegatingPrincipal

public ClassType DelegatingPrincipal()
Specified by:
DelegatingPrincipal in interface FabILTypeSystem

Store

public Type Store()
Description copied from interface: FabILTypeSystem
The ClassType of fabric.worker.Store.

Specified by:
Store in interface FabILTypeSystem

Label

public Type Label()
Description copied from interface: FabILTypeSystem
The ClassType of fabric.lang.security.Label.

Specified by:
Label in interface FabILTypeSystem

InternalError

public ClassType InternalError()
Specified by:
InternalError in interface FabILTypeSystem

createClassType

public ParsedClassType createClassType(LazyClassInitializer init,
                                       Source fromSource)

defaultPackageImports

public java.util.List defaultPackageImports()

findAcceptableMethods

protected java.util.List<MethodInstance> findAcceptableMethods(ReferenceType container,
                                                               java.lang.String name,
                                                               java.util.List argTypes,
                                                               ClassType currClass)
                                                        throws SemanticException
Throws:
SemanticException

fabricRuntimeArrayOf

public ClassType fabricRuntimeArrayOf(Type type)
Specified by:
fabricRuntimeArrayOf in interface FabILTypeSystem

fabricRuntimeArrayImplOf

public ClassType fabricRuntimeArrayImplOf(Type type)
Specified by:
fabricRuntimeArrayImplOf in interface FabILTypeSystem

toFabricRuntimeArray

public ClassType toFabricRuntimeArray(ArrayType type)
Specified by:
toFabricRuntimeArray in interface FabILTypeSystem

fabricArrayOf

public FabricArrayType fabricArrayOf(Type type,
                                     int dims)
Specified by:
fabricArrayOf in interface FabILTypeSystem

fabricArrayOf

public FabricArrayType fabricArrayOf(Position pos,
                                     Type type,
                                     int dims)

fabricArrayOf

public FabricArrayType fabricArrayOf(Type type)
Description copied from interface: FabILTypeSystem
Returns the compile-time representation of a Fabric array type.

Specified by:
fabricArrayOf in interface FabILTypeSystem

fabricArrayOf

public FabricArrayType fabricArrayOf(Position pos,
                                     Type type)
Specified by:
fabricArrayOf in interface FabILTypeSystem

fabricArrayType

protected FabricArrayType fabricArrayType(Position pos,
                                          Type type)

createFabricArrayType

protected FabricArrayType createFabricArrayType(Position pos,
                                                Type type)

createArrayType

protected ArrayType createArrayType(Position pos,
                                    Type type)

importTable

public ImportTable importTable(java.lang.Package pkg)

importTable

public ImportTable importTable(java.lang.String sourceName,
                               java.lang.Package pkg)

legalMethodFlags

public Flags legalMethodFlags()

legalConstructorFlags

public Flags legalConstructorFlags()

isFabricType

public boolean isFabricType(Type type)
Specified by:
isFabricType in interface FabILTypeSystem
Returns:
true iff the given type is a primitive, an array of Fabric types, or is a class type that is a subtype of fabric.lang.Object.

isFabricType

public boolean isFabricType(TypeNode type)
Specified by:
isFabricType in interface FabILTypeSystem
Returns:
true iff the given type is a primitive, an array of Fabric types, or is a class type that is a subtype of fabric.lang.Object.

isThread

public boolean isThread(Type type)
Specified by:
isThread in interface FabILTypeSystem
Returns:
true iff the given type is a subtype of java.lang.Thread.

isThread

public boolean isThread(TypeNode type)
Specified by:
isThread in interface FabILTypeSystem
Returns:
true iff the given type is a subtype of java.lang.Thread.

isPureFabricType

public boolean isPureFabricType(Type type)
Description copied from interface: FabILTypeSystem
Determines whether the given type is a "pure" Fabric type. Fabric types are pure if they are not subtypes of fabric.lang.JavaInlineable.

Specified by:
isPureFabricType in interface FabILTypeSystem

isPureFabricType

public boolean isPureFabricType(TypeNode type)
Description copied from interface: FabILTypeSystem
Determines whether the given type is a "pure" Fabric type. Fabric types are pure if they are not subtypes of fabric.lang.JavaInlineable.

Specified by:
isPureFabricType in interface FabILTypeSystem

isFabricReference

public boolean isFabricReference(Type type)
Specified by:
isFabricReference in interface FabILTypeSystem
Returns:
true iff the given type is a subtype of fabric.lang.Object.

isFabricReference

public boolean isFabricReference(TypeNode type)
Specified by:
isFabricReference in interface FabILTypeSystem
Returns:
true iff the given type is a subtype of fabric.lang.Object.

isFabricClass

public boolean isFabricClass(ClassType type)
Specified by:
isFabricClass in interface FabILTypeSystem
Returns:
true iff the given class type is a subtype of fabric.lang.Object.

isFabricClass

public boolean isFabricClass(Type type)
Specified by:
isFabricClass in interface FabILTypeSystem
Returns:
true iff the given class type is a subtype of fabric.lang.Object.

isFabricClass

public boolean isFabricClass(TypeNode type)
Specified by:
isFabricClass in interface FabILTypeSystem
Returns:
true iff the given class type is a subtype of fabric.lang.Object.

isPrincipalClass

public boolean isPrincipalClass(ClassType type)
Specified by:
isPrincipalClass in interface FabILTypeSystem
Returns:
true iff the given class type is a subtype of fabric.lang.security.Principal.

isPrincipalClass

public boolean isPrincipalClass(Type type)
Specified by:
isPrincipalClass in interface FabILTypeSystem
Returns:
true iff the given class type is a subtype of fabric.lang.security.Principal.

isPrincipalClass

public boolean isPrincipalClass(TypeNode type)
Specified by:
isPrincipalClass in interface FabILTypeSystem
Returns:
true iff the given class type is a subtype of fabric.lang.security.Principal.

isFabricArray

public boolean isFabricArray(ArrayType type)
Specified by:
isFabricArray in interface FabILTypeSystem
Returns:
true iff the given type is an array of Fabric types.

isFabricArray

public boolean isFabricArray(Type type)
Specified by:
isFabricArray in interface FabILTypeSystem
Returns:
true iff the given type is an array of Fabric types.

isFabricArray

public boolean isFabricArray(TypeNode type)
Specified by:
isFabricArray in interface FabILTypeSystem
Returns:
true iff the given type is an array of Fabric types.

isJavaInlineable

public boolean isJavaInlineable(Type type)
Description copied from interface: FabILTypeSystem
Determines whether the given type is a subtype of fabric.lang.JavaInlineable.

Specified by:
isJavaInlineable in interface FabILTypeSystem

isJavaInlineable

public boolean isJavaInlineable(TypeNode type)
Description copied from interface: FabILTypeSystem
Determines whether the given type is a subtype of fabric.lang.JavaInlineable.

Specified by:
isJavaInlineable in interface FabILTypeSystem

isCompiledByFabc

public boolean isCompiledByFabc(ClassType ct)
Determines whether a type was compiled by fabc.

Specified by:
isCompiledByFabc in interface FabILTypeSystem

setRuntimeClassResolver

public void setRuntimeClassResolver(LoadedClassResolver lcr)
Description copied from interface: FabILTypeSystem
Sets the LoadedClassResolver to use when looking for Fabric runtime classes.

Specified by:
setRuntimeClassResolver in interface FabILTypeSystem

legalTopLevelClassFlags

public Flags legalTopLevelClassFlags()

legalInterfaceFlags

public Flags legalInterfaceFlags()

translateClass

public java.lang.String translateClass(Resolver c,
                                       ClassType t)