Package | Description |
---|---|
gnu.bytecode |
Contains classes to generate, read,
write, and print Java bytecode in the form of
.class files. |
gnu.commonlisp.lang | |
gnu.expr |
Supports
Expression ,
and various related classes need to compile programming languages. |
gnu.jemacs.lang |
Contains classes to implement the Emacs Lisp language.
|
gnu.kawa.functions |
Various core run-time functions and operators.
|
gnu.kawa.lispexpr |
Support classes for compiling and running Lisp languages.
|
gnu.kawa.reflect |
Contains classes to use reflection.
|
gnu.kawa.xml |
Classes for using XML within Kawa.
|
gnu.mapping |
Supports
Procedure ,
and various related classes needed at run-time by dynamically typed
languages (such as Scheme and ECMAScript). |
gnu.xquery.lang | |
gnu.xquery.util | |
kawa.lang |
Core Kawa classes for Scheme and Lisp compile-time.
|
kawa.standard |
Primitive Scheme syntax and functions.
|
Modifier and Type | Class and Description |
---|---|
class |
ArrayType |
class |
ClassType |
class |
ObjectType
Semi-abstract class object reference types.
|
class |
ParameterizedType |
class |
PrimType |
class |
SpecialObjectType
Used for object types that don't correspond to JVM types.
|
class |
TypeVariable
A type variable in a parameterized type.
|
class |
UninitializedType
A pseudo-type used for allocated but uninitialized objects.
|
Modifier and Type | Field and Description |
---|---|
Type |
ArrayType.elements |
static Type |
Type.neverReturnsType
The return type of an expression that never returns, such as a throw.
|
Type[] |
CodeAttr.stack_types |
static Type[] |
Type.typeArray0 |
Modifier and Type | Method and Description |
---|---|
Type |
ArrayType.getComponentType() |
Type |
Type.getImplementationType()
Return Java-level implementation type.
|
Type |
UninitializedType.getImplementationType() |
Type |
ArrayType.getImplementationType() |
Type |
SpecialObjectType.getImplementationType() |
Type[] |
Method.getParameterTypes() |
Type |
Type.getRawType()
Return JVM-level implementation type.
|
Type |
ArrayType.getRawType() |
Type |
Type.getRealType()
If this is a type alias, get the aliased type.
|
Type |
SpecialObjectType.getRealType() |
Type |
Method.getReturnType() |
Type |
Location.getType() |
Type |
Field.getType() |
static Type |
Type.getType(java.lang.String name)
Find an Type with the given name, or create a new one.
|
Type |
ParameterizedType.getTypeArgumentType(int index) |
Type[] |
ParameterizedType.getTypeArgumentTypes() |
static Type |
Type.lookupType(java.lang.String name) |
static Type |
Type.lowestCommonSharedType(Type t1,
Type t2) |
static Type |
Type.lowestCommonSuperType(Type t1,
Type t2)
Computes the common supertype
Interfaces are not taken into account.
|
static Type |
Type.make(java.lang.Class reflectClass) |
static Type |
Type.make(java.lang.Class reflectClass,
java.lang.reflect.Type type)
Try to map java.lang.reflect.Type to gnu.bytecode.Type.
|
Type |
CodeAttr.popType() |
Type |
Type.promote() |
Type |
PrimType.promotedType() |
Type |
Type.promoteIfUnsigned() |
static Type |
Type.signatureToType(java.lang.String sig)
Get a Type corresponding to the given signature string.
|
static Type |
Type.signatureToType(java.lang.String sig,
int off,
int len)
Get a Type corresponding to the given signature string.
|
Type |
CodeAttr.topType() |
Modifier and Type | Method and Description |
---|---|
Field |
ClassType.addField(java.lang.String name,
Type type) |
Field |
ClassType.addField(java.lang.String name,
Type type,
int flags) |
Variable |
CodeAttr.addLocal(Type type)
Add a new local variable (in the current scope).
|
Variable |
CodeAttr.addLocal(Type type,
java.lang.String name)
Add a new local variable (in the current scope).
|
void |
AnnotationEntry.addMember(java.lang.String name,
java.lang.Object value,
Type type) |
Method |
ClassType.addMethod(java.lang.String name,
int flags,
Type[] arg_types,
Type return_type)
Add a method to this ClassType.
|
Method |
ClassType.addMethod(java.lang.String name,
int flags,
Type[] arg_types,
Type return_type)
Add a method to this ClassType.
|
Method |
ClassType.addMethod(java.lang.String name,
Type[] arg_types,
Type return_type,
int flags) |
Method |
ClassType.addMethod(java.lang.String name,
Type[] arg_types,
Type return_type,
int flags) |
Variable |
Scope.addVariable(CodeAttr code,
Type type,
java.lang.String name) |
static AnnotationEntry.Value |
AnnotationEntry.asAnnotationValue(java.lang.Object val,
Type type) |
static boolean |
CodeAttr.castNeeded(Type top,
Type required) |
abstract int |
Type.compare(Type other)
Return a numeric code showing "subtype" relationship:
1: if other is a pure subtype of this;
0: if has the same values;
-1: if this is a pure subtype of other;
-2: if they have values in common but neither is a subtype of the other;
-3: if the types have no values in common.
|
int |
ParameterizedType.compare(Type other) |
int |
PrimType.compare(Type other) |
int |
TypeVariable.compare(Type other) |
int |
ClassType.compare(Type other) |
int |
ArrayType.compare(Type other) |
int |
SpecialObjectType.compare(Type other) |
int |
ObjectType.compare(Type other) |
void |
Method.compile_checkcast(Type type) |
void |
CodeAttr.emitArrayLoad(Type element_type)
Load an element from an array.
|
void |
CodeAttr.emitArrayStore(Type element_type)
Store into an element of an array.
|
void |
CodeAttr.emitBinop(int base_code,
Type type) |
void |
CodeAttr.emitCheckcast(Type type) |
void |
Type.emitConvertFromPrimitive(Type stackType,
CodeAttr code)
Convert from stackType (usually PrimType) to this type.
|
void |
CodeAttr.emitDup(Type type) |
void |
CodeAttr.emitInstanceof(Type type) |
void |
CodeAttr.emitNewArray(Type element_type) |
void |
CodeAttr.emitNewArray(Type element_type,
int dims)
Compile code to allocate a new array.
|
void |
CodeAttr.emitNot(Type type)
Compile 'not', assuming 0 or 1 is on the JVM stack.
|
void |
CodeAttr.emitPrimop(int opcode,
int arg_count,
Type retType) |
void |
CodeAttr.emitPushConstant(int val,
Type type) |
void |
CodeAttr.emitPushDefaultValue(Type type)
Push zero or null as appropriate for the given type.
|
void |
CodeAttr.emitTryStart(boolean has_finally,
Type result_type) |
void |
CodeAttr.fixUnsigned(Type stackType) |
Method |
ClassType.getDeclaredMethod(java.lang.String name,
Type[] arg_types)
Look for a matching method.
|
Method[] |
ClassType.getMatchingMethods(java.lang.String name,
Type[] paramTypes,
int flags) |
Method |
ClassType.getMethod(java.lang.String name,
Type[] arg_types)
Looks for a method matching the name and types.
|
Method |
SpecialObjectType.getMethod(java.lang.String name,
Type[] arg_types) |
Method |
ObjectType.getMethod(java.lang.String name,
Type[] arg_types) |
int |
Type.isCompatibleWithValue(Type valueType)
If this is the target type, is a given source type compatible?
|
int |
ClassType.isCompatibleWithValue(Type valueType) |
int |
ArrayType.isCompatibleWithValue(Type valueType) |
static int |
Type.isCompatibleWithValue(Type targetType,
Type valueType) |
static boolean |
Type.isMoreSpecific(Type[] t1,
Type[] t2)
Return true iff t1[i].isSubtype(t2[i]) for all i.
|
static boolean |
Type.isMoreSpecific(Type[] t1,
Type[] t2)
Return true iff t1[i].isSubtype(t2[i]) for all i.
|
static boolean |
Type.isSame(Type t1,
Type t2) |
boolean |
Type.isSubtype(Type other)
Return true if this is a "subtype" of other.
|
static Type |
Type.lowestCommonSharedType(Type t1,
Type t2) |
static Type |
Type.lowestCommonSuperType(Type t1,
Type t2)
Computes the common supertype
Interfaces are not taken into account.
|
static ArrayType |
ArrayType.make(Type elements)
Find or create an ArrayType for the specified element type.
|
static java.lang.String |
Method.makeGenericSignature(Type[] arg_types,
Type return_type) |
static java.lang.String |
Method.makeGenericSignature(Type[] arg_types,
Type return_type) |
static java.lang.String |
Method.makeSignature(Type[] arg_types,
Type return_type) |
static java.lang.String |
Method.makeSignature(Type[] arg_types,
Type return_type) |
void |
Method.maybe_compile_checkcast(Type type) |
void |
CodeAttr.noteVarType(int offset,
Type type) |
void |
ClassTypeWriter.printSignature(Type type) |
void |
CodeAttr.pushType(Type type) |
static void |
Type.registerTypeForClass(java.lang.Class clas,
Type type)
Register that the Type for class is type.
|
void |
Method.setReturnType(Type type) |
void |
Location.setType(Type type) |
void |
CodeAttr.setTypes(Type[] labelLocals,
Type[] labelStack)
Set the current type state from a label.
|
void |
CodeAttr.setTypes(Type[] labelLocals,
Type[] labelStack)
Set the current type state from a label.
|
ExitableBlock |
CodeAttr.startExitableBlock(Type resultType,
boolean runFinallyBlocks)
Enter a block which can be exited.
|
static PrimType |
PrimType.unboxedType(Type type) |
Constructor and Description |
---|
ArrayType(Type elements) |
ParameterizedType(ClassType rawType,
Type... typeArgumentTypes) |
Type(Type type) |
Value(char kind,
Type type,
java.lang.Object value) |
Variable(java.lang.String name,
Type type) |
Modifier and Type | Method and Description |
---|---|
Type |
Lisp2Compilation.asBooleanValue(ConditionalTarget target,
Type stackType) |
Type |
CommonLisp.getNamedType(java.lang.String name) |
Type |
CommonLisp.getTypeFor(java.lang.Class clas) |
Type |
CommonLisp.getTypeFor(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
Type |
Lisp2Compilation.asBooleanValue(ConditionalTarget target,
Type stackType) |
Modifier and Type | Class and Description |
---|---|
static class |
InlineCalls.LenientExpectedType
New helper Type class, used for "lenient" conversions.
|
static class |
InlineCalls.ProcedureInCallContext |
static class |
InlineCalls.ValueNeededType
A marker type to indicate that void is invalid.
|
class |
PairClassType
A class type implemented as a pair of an interface and a class.
|
Modifier and Type | Field and Description |
---|---|
static Type[] |
Compilation.apply0args |
static Type[] |
Compilation.apply1args |
static Type[] |
Compilation.apply2args |
static Type[] |
Compilation.applyNargs |
static Type[] |
Compilation.int1Args |
Type |
LambdaExp.returnType
If non-null, the type of values returned by this function.
|
static Type[] |
Compilation.string1Arg |
static Type[] |
Compilation.sym1Arg |
Type |
Declaration.type
The type of the value of this Declaration.
|
protected Type |
Expression.type |
Type |
Literal.type |
Modifier and Type | Method and Description |
---|---|
Type |
Compilation.asBooleanValue(ConditionalTarget target,
Type stackType)
Hook for language-specific handling in ConditionalTarget.
|
Type |
Language.asType(java.lang.Object spec)
"Coerce" a language-specific "type specifier" object to a Type.
|
protected Type |
CaseExp.calculateDatumsType()
Computes the union type of the case expression datums.
|
protected Type |
ReferenceExp.calculateType() |
protected Type |
BeginExp.calculateType() |
protected Type |
ThisExp.calculateType() |
protected Type |
ObjectExp.calculateType() |
protected Type |
Expression.calculateType() |
protected Type |
TryExp.calculateType() |
protected Type |
SetExp.calculateType() |
protected Type |
LambdaExp.calculateType() |
protected Type |
ClassExp.calculateType()
The ClassType generated for this class.
|
protected Type |
QuoteExp.calculateType() |
protected Type |
CaseExp.calculateType() |
protected Type |
IfExp.calculateType() |
protected Type |
LetExp.calculateType() |
protected Type |
ApplyExp.calculateType() |
protected Type |
ExitExp.calculateType() |
static Type |
PrimProcedure.decodeType(Type javaType,
java.lang.String[] annotTypes,
int annotIndex,
ParameterizedType parameterizedType,
Language lang) |
Type |
Language.decodeType(Type javaType,
java.lang.String annotType,
ParameterizedType parameterizedType) |
static Type |
StackTarget.forceLazy(Compilation comp,
Type stackType,
Type type) |
static Type |
StackTarget.forceLazyIfNeeded(Compilation comp,
Type stackType,
Type type) |
Type |
Declaration.getImplementationType() |
Type |
TypeValue.getImplementationType()
The lower-level Type used to represent instances of this type.
|
Type |
InlineCalls.ProcedureInCallContext.getImplementationType() |
Type |
InlineCalls.ValueNeededType.getImplementationType() |
Type |
Language.getLangTypeFor(Type type) |
Type |
Language.getNamedType(java.lang.String name)
Get the corresponding
Type for a given name. |
Type |
PrimProcedure.getParameterType(int index) |
Type[] |
PrimProcedure.getParameterTypes() |
Type |
QuoteExp.getRawType() |
Type |
PrimProcedure.getReturnType() |
Type |
LambdaExp.getReturnType()
The return type of this function, i.e the type of its returned values.
|
Type |
PrimProcedure.getReturnType(Expression[] args) |
Type |
Declaration.getType() |
abstract Type |
Target.getType() |
Type |
Expression.getType()
Return the Type used to represent the values of this Expression.
|
Type |
StackTarget.getType() |
Type |
ConsumerTarget.getType() |
Type |
IgnoreTarget.getType() |
Type |
ConditionalTarget.getType() |
Type |
Language.getTypeFor(java.lang.Class clas) |
Type |
Language.getTypeFor(Expression exp) |
Type |
Language.getTypeFor(Expression exp,
boolean lenient)
Interpreting exp as a type specifier, get the actual type.
|
Type |
Language.getTypeFor(java.lang.Object spec,
boolean lenient)
Convert a "type value" to a Type.
|
Type |
Language.getTypeFor(java.lang.String name) |
Type |
Expression.getTypeRaw() |
Type |
Declaration.loadFieldLocation(Declaration owner,
Compilation comp) |
static Type |
InlineCalls.ValueNeededType.make(Type type) |
Type |
LambdaExp.restArgType()
Return the parameter type of the "keyword/rest" parameters.
|
static Type |
InlineCalls.typeForCalledFunction(Expression exp)
Return a required type for procedure application context.
|
static Type |
Language.unionType(Type t1,
Type t2) |
Modifier and Type | Method and Description |
---|---|
Declaration |
ScopeExp.addDeclaration(java.lang.Object name,
Type type)
Create a new declaration in the current Scope.
|
Field |
Compilation.allocLocalField(Type type,
java.lang.String name) |
Type |
Compilation.asBooleanValue(ConditionalTarget target,
Type stackType)
Hook for language-specific handling in ConditionalTarget.
|
Expression |
InlineCalls.checkType(Expression exp,
Type required) |
int |
InlineCalls.LenientExpectedType.compare(Type other) |
int |
InlineCalls.ProcedureInCallContext.compare(Type other) |
int |
InlineCalls.ValueNeededType.compare(Type other) |
void |
Expression.compile(Compilation comp,
Type type) |
abstract void |
Target.compileFromStack(Compilation comp,
Type stackType) |
void |
StackTarget.compileFromStack(Compilation comp,
Type stackType) |
void |
ConsumerTarget.compileFromStack(Compilation comp,
Type stackType) |
void |
IgnoreTarget.compileFromStack(Compilation comp,
Type stackType) |
void |
ConditionalTarget.compileFromStack(Compilation comp,
Type stackType) |
protected boolean |
StackTarget.compileFromStack0(Compilation comp,
Type stackType) |
static void |
PrimProcedure.compileInvoke(Compilation comp,
Method method,
Target target,
boolean isTailCall,
int op_code,
Type returnType,
boolean doFixUnsigned)
Emit the actual invoke operation, after arguments have been pushed.
|
static void |
PrimProcedure.compileRestArg(Type arg_type,
ApplyExp exp,
int startArg,
int i,
Compilation comp) |
static void |
StackTarget.convert(Compilation comp,
Type stackType,
Type targetType) |
static Type |
PrimProcedure.decodeType(Type javaType,
java.lang.String[] annotTypes,
int annotIndex,
ParameterizedType parameterizedType,
Language lang) |
Type |
Language.decodeType(Type javaType,
java.lang.String annotType,
ParameterizedType parameterizedType) |
static void |
CheckedTarget.emitCheckedCoerce(Compilation comp,
LambdaExp proc,
int argno,
Type stackType,
Type type,
Variable argValue) |
static void |
CheckedTarget.emitCheckedCoerce(Compilation comp,
java.lang.String procname,
int argno,
Type type) |
protected static void |
StackTarget.emitCoerceFromObject(Type type,
Compilation comp) |
java.lang.String |
Language.encodeType(Type type)
Encode this type as a parseable string.
|
protected Method |
ClassExp.findMethodForBridge(java.lang.String mname,
Type[] ptypes,
Type rtype)
Finds a like-named method suitable for bridging the given
arg/return types (i.e.
|
protected Method |
ClassExp.findMethodForBridge(java.lang.String mname,
Type[] ptypes,
Type rtype)
Finds a like-named method suitable for bridging the given
arg/return types (i.e.
|
static Type |
StackTarget.forceLazy(Compilation comp,
Type stackType,
Type type) |
static Type |
StackTarget.forceLazyIfNeeded(Compilation comp,
Type stackType,
Type type) |
java.lang.String |
Language.formatType(Type type) |
void |
ClassExp.generateBridgeMethod(Compilation comp,
Method src_method,
Type[] bridge_arg_types,
Type bridge_return_type)
Given an existing method and a desired bridge method signature,
generates an appropriate bridge method.
|
void |
ClassExp.generateBridgeMethod(Compilation comp,
Method src_method,
Type[] bridge_arg_types,
Type bridge_return_type)
Given an existing method and a desired bridge method signature,
generates an appropriate bridge method.
|
protected StackTarget |
StackTarget.getClonedInstance(Type type) |
protected StackTarget |
CheckedTarget.getClonedInstance(Type type) |
static Target |
StackTarget.getInstance(Type type) |
static Target |
CheckedTarget.getInstance(Type type) |
static Target |
CheckedTarget.getInstance(Type type,
LambdaExp proc,
int argno) |
static Target |
CheckedTarget.getInstance(Type type,
java.lang.String procname,
int argno) |
Type |
Language.getLangTypeFor(Type type) |
static PrimProcedure |
PrimProcedure.getMethodFor(ClassType procClass,
java.lang.String name,
Declaration decl,
Type[] atypes,
Language language) |
static PrimProcedure |
PrimProcedure.getMethodFor(Procedure pproc,
Declaration decl,
Type[] atypes,
Language language) |
static Target |
StackTarget.getTruncatingInstance(Type type) |
int |
PrimProcedure.isApplicable(Type[] argTypes,
Type restType) |
int |
PrimProcedure.isApplicable(Type[] argTypes,
Type restType) |
int |
GenericProc.isApplicable(Type[] args,
Type restType) |
int |
GenericProc.isApplicable(Type[] args,
Type restType) |
int |
InlineCalls.LenientExpectedType.isCompatibleWithValue(Type valueType) |
static int |
InlineCalls.isCompatibleWithValue(Type required,
Type expType) |
Declaration |
Compilation.letVariable(java.lang.Object name,
Type type,
Expression init) |
Declaration |
Compilation.loopVariable(java.lang.Object name,
Type type,
Expression init)
Add a new loop variable, with initializer.
|
static InlineCalls.LenientExpectedType |
InlineCalls.LenientExpectedType.make(Type type) |
static Type |
InlineCalls.ValueNeededType.make(Type type) |
static PrimProcedure |
PrimProcedure.makeBuiltinBinary(int opcode,
Type type) |
static PrimProcedure |
PrimProcedure.makeBuiltinUnary(int opcode,
Type type) |
static ApplyExp |
Compilation.makeCoercion(Expression value,
Type type)
Convenience method to make an Expression that coerces a value.
|
static Target |
ConsumerTarget.makeContextTarget(Compilation comp,
Type type)
Make a Target that uses the current CallContext's current Consumer.
|
static QuoteExp |
QuoteExp.makeShared(java.lang.Object value,
Type type) |
Expression |
InlineCalls.maybeInline(ApplyExp exp,
Type required,
Procedure proc) |
static void |
LambdaExp.maybeSetReturnType(LambdaExp lexp,
Type type) |
static Target |
Target.pushValue(Type type)
Return a Target to push a value of specified type on JCM stack.
|
void |
LambdaExp.setCoercedReturnType(Type returnType) |
void |
PrimProcedure.setReturnType(Type retType) |
void |
LambdaExp.setReturnType(Type returnType) |
void |
Declaration.setType(Expression typeExp,
Type type) |
void |
Declaration.setType(Type type) |
void |
Expression.setType(Type type) |
void |
QuoteExp.setType(Type type) |
static Type |
Language.unionType(Type t1,
Type t2) |
void |
Compilation.usedClass(Type type)
Called for classes referenced in bytecode.
|
Expression |
ReferenceExp.validateApply(ApplyExp exp,
InlineCalls visitor,
Type required,
Declaration decl) |
Expression |
Expression.validateApply(ApplyExp exp,
InlineCalls visitor,
Type required,
Declaration decl)
Apply inlining transformations on a given ApplyExp.
|
Expression |
LambdaExp.validateApply(ApplyExp exp,
InlineCalls visitor,
Type required,
Declaration decl) |
Expression |
QuoteExp.validateApply(ApplyExp exp,
InlineCalls visitor,
Type required,
Declaration decl) |
Expression |
InlineCalls.visit(Expression exp,
Type required) |
protected Expression |
InlineCalls.visitApplyExp(ApplyExp exp,
Type required) |
Expression |
InlineCalls.visitApplyOnly(ApplyExp exp,
Type required)
Visit an ApplyExp assuming function and arguments have been visited.
|
protected Expression |
InlineCalls.visitBeginExp(BeginExp exp,
Type required) |
protected Expression |
InlineCalls.visitCaseExp(CaseExp exp,
Type required) |
protected Expression |
InlineCalls.visitClassExp(ClassExp exp,
Type required) |
void |
InlineCalls.visitDefaultArgs(LambdaExp exp,
Type required) |
protected Expression |
InlineCalls.visitFluidLetExp(FluidLetExp exp,
Type required) |
protected Expression |
InlineCalls.visitIfExp(IfExp exp,
Type required) |
protected Expression |
InlineCalls.visitLambdaExp(LambdaExp exp,
Type required) |
protected Expression |
InlineCalls.visitLetExp(LetExp exp,
Type required) |
protected Expression |
InlineCalls.visitModuleExp(ModuleExp exp,
Type required) |
protected Expression |
InlineCalls.visitQuoteExp(QuoteExp exp,
Type required) |
protected Expression |
InlineCalls.visitReferenceExp(ReferenceExp exp,
Type required) |
protected Expression |
InlineCalls.visitScopeExp(ScopeExp exp,
Type required) |
protected Expression |
InlineCalls.visitSetExp(SetExp exp,
Type required) |
protected Expression |
InlineCalls.visitTryExp(TryExp exp,
Type required) |
Constructor and Description |
---|
CatchClause(java.lang.Object name,
Type type,
Expression body) |
CheckedTarget(Type type) |
CheckedTarget(Type type,
LambdaExp proc,
int argno) |
CheckedTarget(Type type,
java.lang.String procname,
int argno) |
ConsumerTarget(Variable consumer,
Type type) |
Declaration(java.lang.Object name,
Type type) |
Literal(java.lang.Object value,
Type type,
LitTable litTable) |
PrimProcedure(int op_code,
ClassType classtype,
java.lang.String name,
Type retType,
Type[] argTypes) |
PrimProcedure(int op_code,
ClassType classtype,
java.lang.String name,
Type retType,
Type[] argTypes) |
PrimProcedure(int opcode,
Type retType,
Type[] argTypes) |
PrimProcedure(int opcode,
Type retType,
Type[] argTypes) |
PrimProcedure(Method method,
Type retType,
Type[] argTypes) |
PrimProcedure(Method method,
Type retType,
Type[] argTypes) |
QuoteExp(java.lang.Object val,
Type type) |
StackTarget(Type type) |
Modifier and Type | Method and Description |
---|---|
Type |
ELisp.getTypeFor(java.lang.Class clas) |
Type |
ELisp.getTypeFor(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
protected Type |
CurryExp.calculateType() |
static Type |
CompileArith.combineType(Type t1,
Type t2) |
Type |
CompileArith.getReturnType(Expression[] args) |
Type |
MakeList.getReturnType(Expression[] args) |
Type |
GetModuleClass.getReturnType(Expression[] args) |
Type |
ValuesMap.getReturnType(Expression[] args) |
Type |
CallCC.getReturnType(Expression[] args) |
static Type |
Arithmetic.kindType(int kind) |
Modifier and Type | Method and Description |
---|---|
static int |
Arithmetic.classifyType(Type type) |
static Type |
CompileArith.combineType(Type t1,
Type t2) |
static void |
MakeSplice.copyTo(java.lang.Object target,
int start,
int size,
java.lang.Object values,
Type elementType) |
static java.lang.Object |
GetNamedPart.getTypePart(Type type,
java.lang.String name) |
static Expression |
CompileNamedPart.makeExp(Type type,
java.lang.String member) |
Expression |
CurryExp.validateApply(ApplyExp exp,
InlineCalls visitor,
Type required,
Declaration decl) |
static Expression |
CompileMisc.validateApplyAppendValues(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileArith.validateApplyArithOp(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyCallCC(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyConstantFunction0(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyConvert(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyFormat(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc)
Validate-apply handling for "format".
|
static Expression |
CompileMisc.validateApplyMakeDynamic(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyMakeProcedure(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyMakePromise(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileProcess.validateApplyRunProcess(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc)
Type-check and optimize RunProcess (i.e.
|
static Expression |
CompileMisc.validateApplySimpleBoolean(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompilationHelpers.validateApplyToArgs(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure applyToArgs) |
static Expression |
CompileMisc.validateApplyValuesMap(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyWithExceptionHandler(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileValues.validateApplyWithValues(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileValues.validateCallWithValues(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileNamedPart.validateGetNamedInstancePart(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileNamedPart.validateGetNamedPart(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompilationHelpers.validateIsEqv(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileNamedPart.validateNamedPart(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileNamedPart.validateNamedPartSetter(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileNamedPart.validateSetNamedInstancePart(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileNamedPart.validateSetNamedPart(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompilationHelpers.validateSetter(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
Modifier and Type | Class and Description |
---|---|
class |
GenArrayType
Type of multi-dimensional arrays.
|
class |
LangObjType
A wrapper around a class type.
|
class |
LangPrimType
Use to implement some special types that convert differently.
|
class |
SeqSizeType
This matches a sequences of a specific length.
|
Modifier and Type | Method and Description |
---|---|
static Type |
LangObjType.coerceToType(java.lang.Object obj) |
static Type |
LangObjType.coerceToTypeOrNull(java.lang.Object type) |
static Type |
LispLanguage.decodeArrayType(java.lang.String name) |
Type |
GenArrayType.getComponentType() |
Type |
LangObjType.getElementType() |
Type |
LangPrimType.getImplementationType() |
Type |
GenArrayType.getImplementationType() |
Type |
LispLanguage.getNamedType(java.lang.String name) |
Type |
LispLanguage.getPackageStyleType(java.lang.String name)
Try to get a type of the form lang:type.
|
Type |
LispLanguage.getTypeFor(java.lang.Class clas) |
Type |
LispLanguage.getTypeFor(java.lang.Object spec,
boolean lenient) |
Modifier and Type | Method and Description |
---|---|
protected java.util.HashMap<java.lang.String,Type> |
LispLanguage.getTypeMap() |
Modifier and Type | Method and Description |
---|---|
int |
LangObjType.compare(Type other) |
int |
LangPrimType.compare(Type other) |
int |
SeqSizeType.compare(Type other) |
int |
GenArrayType.compare(Type other) |
void |
LangObjType.emitConvertFromPrimitive(Type stackType,
CodeAttr code) |
static void |
LangPrimType.emitTestIfNumber(Variable incoming,
Declaration decl,
Type type,
Compilation comp) |
int |
LangObjType.isCompatibleWithValue(Type valueType) |
int |
LangPrimType.isCompatibleWithValue(Type valueType) |
int |
SeqSizeType.isCompatibleWithValue(Type valueType) |
void |
ReadTable.putReaderCtor(java.lang.String key,
Type type)
Add a mapping for a SRFI-10 constructor tag.
|
Constructor and Description |
---|
GenArrayType(int rank,
Type elementType) |
Modifier and Type | Class and Description |
---|---|
class |
LazyType
The type of lazy values - i.e.
|
class |
MappedArrayType
An array type where elements are copied from a sequence.
|
class |
MultValuesType |
class |
OccurrenceType
A type that matches some number of repetitions of a basetype.
|
class |
SingletonType |
Modifier and Type | Field and Description |
---|---|
static Type |
OccurrenceType.emptySequenceType |
Modifier and Type | Method and Description |
---|---|
static Type |
MultValuesType.create(Type[] itemTypes) |
Type |
OccurrenceType.getBase() |
Type |
MappedArrayType.getComponentType() |
Type |
FieldLocation.getFType()
Get the type of the field.
|
Type |
OccurrenceType.getImplementationType() |
Type |
MappedArrayType.getImplementationType() |
Type |
LazyType.getImplementationType() |
Type |
MultValuesType.getImplementationType() |
Type |
SingletonType.getImplementationType() |
static Type |
OccurrenceType.getInstance(Type base,
int minOccurs,
int maxOccurs) |
Type |
LazyType.getRawType() |
Type |
MappedArrayType.getRealType() |
Type |
TypeSwitch.getReturnType(Expression[] args) |
Type |
InstanceOf.getReturnType(Expression[] args) |
Type |
StaticSet.getReturnType(Expression[] args) |
Type |
StaticGet.getReturnType(Expression[] args) |
Type |
LazyType.getValueType() |
Type |
MultValuesType.getValueType(int index) |
static Type |
OccurrenceType.itemPrimeType(Type type)
XQuery formal semantics "prime type"
|
static Type |
MappedArrayType.maybe(Type type,
int nesting) |
Modifier and Type | Method and Description |
---|---|
static int |
CompileReflect.checkKnownClass(Type type,
Compilation comp)
Check if class exists.
|
int |
OccurrenceType.compare(Type other) |
int |
LazyType.compare(Type other) |
int |
MultValuesType.compare(Type other) |
int |
SingletonType.compare(Type other) |
static int |
OccurrenceType.compatibleWithCount(Type type,
int count) |
static Type |
MultValuesType.create(Type[] itemTypes) |
static void |
CompileArrays.createArray(Type elementType,
Compilation comp,
Expression[] args,
int start,
int end)
Optimized code generation of array creation with splicing support.
|
static LazyType |
LazyType.getInstance(ClassType rawType,
Type valueType) |
static ArrayMake |
ArrayMake.getInstance(Type elementType) |
static Type |
OccurrenceType.getInstance(Type base,
int minOccurs,
int maxOccurs) |
static LazyType |
LazyType.getLazyType(Type valueType) |
static LazyType |
LazyType.getPromiseType(Type valueType) |
protected void |
CompileBuildObject.init(ApplyExp exp,
InlineCalls visitor,
Type required,
ObjectType ctype,
ClassType caller) |
int |
MappedArrayType.isCompatibleWithValue(Type valueType) |
int |
MultValuesType.isCompatibleWithValue(Type valueType) |
static char |
OccurrenceType.itemCountCode(Type type)
Returna a quantifer kind for a sequence type.
|
static boolean |
OccurrenceType.itemCountIsOne(Type type) |
static boolean |
OccurrenceType.itemCountIsZeroOrOne(Type type) |
static int |
OccurrenceType.itemCountMax(Type type) |
static int |
OccurrenceType.itemCountMin(Type type) |
static int |
OccurrenceType.itemCountRange(Type type)
Return a conservative estimate on the min/max number of items of a type.
|
static Type |
OccurrenceType.itemPrimeType(Type type)
XQuery formal semantics "prime type"
|
static CompileBuildObject |
CompileBuildObject.make(ApplyExp exp,
InlineCalls visitor,
Type required,
ObjectType ctype,
ClassType caller) |
static Type |
MappedArrayType.maybe(Type type,
int nesting) |
static boolean |
LazyType.maybeLazy(Type type) |
static long |
ClassMethods.selectApplicable(PrimProcedure[] methods,
Type[] atypes,
Type restType)
Re-order the methods such that the ones that are definite
applicable (all argtypes is subset of parameter type) are first;
those possibly applicable next (argtype overlaps parameter types);
and ending with those definitely not applicable (some argtype does
overlap its parameter type).
|
static long |
ClassMethods.selectApplicable(PrimProcedure[] methods,
Type[] atypes,
Type restType)
Re-order the methods such that the ones that are definite
applicable (all argtypes is subset of parameter type) are first;
those possibly applicable next (argtype overlaps parameter types);
and ending with those definitely not applicable (some argtype does
overlap its parameter type).
|
protected void |
OccurrenceType.setBase(Type base) |
static Expression |
MakeAnnotation.validate(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileReflect.validateApplyInstanceOf(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileInvoke.validateApplyInvoke(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileReflect.validateApplySlotGet(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileReflect.validateApplySlotSet(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileReflect.validateApplyTypeSwitch(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileArrays.validateArrayGet(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileArrays.validateArrayLength(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileArrays.validateArrayNew(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileArrays.validateArraySet(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileInvoke.validateNamedInvoke(ApplyExp exp,
InlineCalls visitor,
ObjectType type,
java.lang.String name,
PrimProcedure[] methods,
Invoke iproc,
Type required) |
static Expression |
CompileReflect.validateThrow(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
Constructor and Description |
---|
ArrayGet(Type element_type) |
ArrayLength(Type element_type) |
ArrayMake(Type elementType) |
ArrayNew(Type element_type) |
ArraySet(Type element_type) |
LazyType(ClassType rawType,
Type valueType) |
MappedArrayType(Type elementType) |
MultValuesType(Type[] itemTypes) |
OccurrenceType(Type base,
int minOccurs,
int maxOccurs) |
StaticGet(ClassType ctype,
java.lang.String name,
Type ftype,
int flags) |
StaticSet(ClassType ctype,
java.lang.String name,
Type ftype,
int flags) |
Modifier and Type | Class and Description |
---|---|
class |
AttributeType
Matches an attribute name pattern.
|
class |
ElementType |
class |
NodeSetType |
class |
NodeType
A SeqPosition used to represent a node in (usually) a TreeList.
|
class |
ProcessingInstructionType |
class |
XDataType
An atomic type as used in XML Schema and related languages.
|
class |
XIntegerType
A restriction (sub-range) of the integer type.
|
class |
XStringType |
class |
XTimeType |
Modifier and Type | Method and Description |
---|---|
Type |
NodeType.getImplementationType() |
Type |
ElementType.getImplementationType() |
Type |
XDataType.getImplementationType() |
Type |
ProcessingInstructionType.getImplementationType() |
Type |
AttributeType.getImplementationType() |
static Type |
NodeSetType.getInstance(Type base) |
Type |
CoerceNodes.getReturnType(Expression[] args) |
Type |
MakeElement.getReturnType(Expression[] args) |
Type |
MakeAttribute.getReturnType(Expression[] args) |
Type |
NodeConstructor.getReturnType(Expression[] args) |
Type |
SortNodes.getReturnType(Expression[] args) |
Type |
UnionNodes.getReturnType(Expression[] args) |
Modifier and Type | Method and Description |
---|---|
int |
NodeType.compare(Type other) |
int |
XDataType.compare(Type other) |
static Type |
NodeSetType.getInstance(Type base) |
static Expression |
CompileXmlFunctions.validateApplyMakeUnescapedData(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileXmlFunctions.validateApplyTreeScanner(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
Constructor and Description |
---|
NodeSetType(Type itemType) |
XDataType(java.lang.Object name,
Type implementationType,
int typeCode) |
Modifier and Type | Method and Description |
---|---|
Type |
MethodProc.getParameterType(int index) |
Type |
Procedure.getReturnType(Expression[] args)
Semi-deprecated - instead should be set at Inline time.
|
Modifier and Type | Method and Description |
---|---|
int |
MethodProc.isApplicable(Type[] argTypes,
Type restType)
Test if method is applicable to an invocation with given arguments.
|
int |
MethodProc.isApplicable(Type[] argTypes,
Type restType)
Test if method is applicable to an invocation with given arguments.
|
Constructor and Description |
---|
WrongType(int n,
java.lang.Object argValue,
Type expectedType) |
WrongType(Procedure proc,
int n,
java.lang.Object argValue,
Type expectedType) |
Modifier and Type | Method and Description |
---|---|
Type |
XQuery.getStandardType(java.lang.String name) |
Type |
XQuery.getTypeFor(java.lang.Class clas) |
Type |
XQuery.getTypeFor(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
XQuery.formatType(Type type) |
Modifier and Type | Method and Description |
---|---|
Type |
OrderedMap.getReturnType(Expression[] args) |
Type |
RelativeStep.getReturnType(Expression[] args) |
Type |
ValuesFilter.getReturnType(Expression[] args) |
Modifier and Type | Method and Description |
---|---|
static Expression |
CompileMisc.validateApplyCastableAs(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyCastAs(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyOrderedMap(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyRelativeStep(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc) |
static Expression |
CompileMisc.validateApplyValuesFilter(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc)
Inliner for the
ValuesFilter procedure. |
static Expression |
CompileMisc.validateArithOp(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc)
Inliner for the ArithOp procedure.
|
static Expression |
CompileMisc.validateBooleanValue(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc)
Inliner for the BooleanValue procedure.
|
static Expression |
CompileMisc.validateCompare(ApplyExp exp,
InlineCalls visitor,
Type required,
Procedure proc)
Inliner for the Compare procedure.
|
Modifier and Type | Field and Description |
---|---|
Type |
BindDecls.booleanType |
Modifier and Type | Method and Description |
---|---|
Type |
Translator.exp2Type(Pair typeSpecPair)
Extract a type from the car of a pair.
|
Type |
Translator.exp2Type(Pair typeSpecPair,
Declaration decl,
SyntaxForm syntax) |
Type |
GetFieldProc.getReturnType(Expression[] args) |
Type |
SetFieldProc.getReturnType(Expression[] args) |
Constructor and Description |
---|
GetFieldProc(ClassType ctype,
java.lang.String name,
Type ftype,
int flags) |
SetFieldProc(ClassType ctype,
java.lang.String name,
Type ftype,
int flags) |
Modifier and Type | Method and Description |
---|---|
static Type |
Scheme.exp2Type(Expression exp)
Convert expression to a Type.
|
static Type |
Scheme.getTypeValue(Expression exp)
If exp is a "constant" Type, return that type, otherwise return null.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.HashMap<java.lang.String,Type> |
Scheme.getTypeMap() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
Scheme.formatType(Type type) |