Package gnu.expr
Class Declaration
- java.lang.Object
-
- gnu.text.SourceLocator.Simple
-
- gnu.expr.Declaration
-
- All Implemented Interfaces:
SourceLocator
,SourceLocator
,Locator
public class Declaration extends SourceLocator.Simple
The static information associated with a local variable binding.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Declaration.ValueSource
-
Nested classes/interfaces inherited from interface gnu.text.SourceLocator
SourceLocator.Simple
-
-
Field Summary
Fields Modifier and Type Field Description static long
ABSTRACT_ACCESS
static long
ALLOCATE_ON_STACK
Allocate variable on JVM stack as an optimization.Declaration
base
If non-null, field is relative to base.static long
CLASS_ACCESS_FLAGS
ScopeExp
context
static long
DONT_COPY
static int
EARLY_INIT
Initialize in<init>
/<clinit>
rather than inrun
/$run$
.static long
ENUM_ACCESS
static int
EXPORT_SPECIFIED
static int
EXTERNAL_ACCESS
This flag bit is set if this can be be accessed from other modules.static long
FIELD_ACCESS_FLAGS
static int
FIELD_OR_METHOD
True if this is a field or method in a class definition.static long
FINAL_ACCESS
ApplyExp
firstCall
List of ApplyExp where this declaration is the function called.protected long
flags
Method
getterMethod
protected int
id
Unique id number, to ease print-outs and debugging.static int
IS_ALIAS
static int
IS_CAPTURED
static int
IS_CONSTANT
static int
IS_DYNAMIC
static int
IS_IMPORTED
static int
IS_NAMESPACE_PREFIX
Set if this declares a namespace prefix (as in XML namespaces).static long
IS_PARAMETER
static long
IS_REST_PARAMETER
static int
IS_SINGLE_VALUE
static long
IS_SUPPLIED_PARAMETER
Is this a supplied-parameter variable? If IS_SUPPLIED_PARAMETER is true and IS_PARAMETER is false then this is a boolean variable which reports if the previous parameter was provided by the argument list, rather than defaulted.static int
IS_SYNTAX
static int
IS_UNKNOWN
static long
KEYWORDS_OK
Applies to a 'rest' parameter if it can match keywords.static long
MAYBE_UNINITIALIZED_ACCESS
static long
METHOD_ACCESS_FLAGS
static int
MODULE_REFERENCE
A reference to a module instance.static int
NONSTATIC_SPECIFIED
static int
NOT_DEFINING
Set if this is just a declaration, not a definition.static int
PACKAGE_ACCESS
static long
PATTERN_NESTED
True for a variable inside a pattern, but not the top of the pattern.static int
PRIVATE_ACCESS
static String
PRIVATE_PREFIX
This prefix is used in field names for a declaration that has both EXTERNAL_ACCESS and IS_PRIVATE set.static int
PRIVATE_SPECIFIED
static int
PROCEDURE
True if in the function namespace, for languages that distinguishes them.static int
PROTECTED_ACCESS
static int
PUBLIC_ACCESS
static long
SCAN_OWNER
Method
setterMethod
static long
SKIP_FOR_METHOD_PARAMETER
See parameterForMethod()static int
STATIC_SPECIFIED
static long
STRICTFP_ACCESS
static long
SYNCHRONIZED_ACCESS
static long
TRANSIENT_ACCESS
Type
type
The type of the value of this Declaration.static int
TYPE_SPECIFIED
Expression
typeExp
static long
VOLATILE_ACCESS
-
Fields inherited from class gnu.text.SourceLocator.Simple
filename, position
-
-
Constructor Summary
Constructors Constructor Description Declaration(Variable var)
Declaration(Object name)
Declaration(Object name, Field field)
Declaration(Object name, Type type)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAnnotation(Expression exp)
Add an annotation to the set of our annotations.void
addCaller(ApplyExp exp)
Add a call to the list headed byfirstCall
.Variable
allocateVariable(CodeAttr code)
Variable
allocateVariable(CodeAttr code, boolean autoPopScope)
void
clearCallList()
Clear the list of callers headed byfirstCall
.void
compileAnnotations(AttrContainer container, ElementType etype)
void
compileStore(Compilation comp)
static Declaration
followAliases(Declaration decl)
short
getAccessFlags(short defaultFlags)
Expression
getAnnotation(int i)
Indexed get of one of the annotations associated with this declaration.<T extends Annotation>
TgetAnnotation(Class<T> clas)
AnnotationEntry
getAnnotation(String className)
boolean
getCanCall()
boolean
getCanRead()
boolean
getCanReadOrCall()
boolean
getCanWrite()
int
getCode()
Object
getConstantValue()
If getValue() is a constant, return the constant value, otherwise null.ScopeExp
getContext()
Return the ScopeExp that contains (declares) this Declaration.static Declaration
getDeclaration(Named proc)
static Declaration
getDeclaration(Object proc, String name)
static Declaration
getDeclarationFromStatic(String cname, String fname)
Create a declaration corresponding to a static field.static Declaration
getDeclarationValueFromStatic(String className, String fieldName, String name)
Similar togetDeclarationFromStatic
, but also donoteValue
with the field's value.Field
getField()
boolean
getFlag(long flag)
Type
getImplementationType()
Expression
getInitValue()
Get the "initial value" expression.LambdaExp
getLambdaValue()
String
getName()
int
getScanNesting()
If non-zero, indicates this names a 'scan' of a sequence.Object
getSymbol()
Type
getType()
Expression
getTypeExp()
Expression
getTypeExpRaw()
Expression
getValue()
The value of thisDeclaration
, if known.Expression
getValueRaw()
Variable
getVariable()
boolean
hasConstantValue()
boolean
hasUnknownValue()
boolean
ignorable()
True if we never need to access this declaration.boolean
inExternalModule(Compilation comp)
boolean
isAlias()
boolean
isClassField()
boolean
isClassMethod()
boolean
isCompiletimeConstant()
boolean
isFluid()
True if this is a fluid binding (in a FluidLetExp).boolean
isGuard()
Does this encapsulate a boolean guard expression? In that case this is an unnamed pseudo-parameter, that matches no actual arguments but wheregetInitValue()
is the expression.boolean
isIndirectBinding()
True if the value of the variable is the contents of a Location.boolean
isLexical()
boolean
isModuleLocal()
boolean
isNamespaceDecl()
boolean
isPrivate()
boolean
isProcedureDecl()
boolean
isPublic()
boolean
isSimple()
boolean
isStatic()
boolean
isThisParameter()
Is this an implicit 'this' parameter?static boolean
isUnknown(Declaration decl)
void
load(AccessExp access, int flags, Compilation comp, Target target)
Type
loadFieldLocation(Declaration owner, Compilation comp)
void
makeField(ClassType frameType, Compilation comp, Expression value)
void
makeField(Compilation comp, Expression value)
boolean
mayBeAccessedUninitialized()
void
maybeIndirectBinding(Compilation comp)
void
maybeSourceName(AttrContainer member, String expName)
Add SourceName annotation to member, if needed.boolean
needsContext()
If we need a 'context' supplied from a ReferenceExp or 'this.boolean
needsExternalAccess()
Declaration
nextDecl()
void
noteValue(Expression value)
void
noteValueConstant(Object value)
void
noteValueFromApply(ApplyExp app, int index)
void
noteValueFromLet(ScopeExp letter)
void
noteValueFromSet(SetExp setter)
void
noteValueUnknown()
int
numAnnotations()
The number of annotations associated with the declaration.boolean
parameterForMethod()
Is this a parameter for the generated method? For example if a lambda's parameter is the pattern[x y]
then there is an anonymous parameter p0 that is the incoming 2-element sequence plus named parametersx
andy
.boolean
patchSymbolFromSet()
Set symbol from initializing SetExp.void
printInfo(gnu.kawa.io.OutPort out)
void
printInfo(StringBuffer sbuf)
void
pushIndirectBinding(Compilation comp)
Create a Location object, given that isIndirectBinding().void
setAlias(boolean flag)
void
setAnnotation(int i, Expression ann)
Replace one of the annotations associated with this declaration.void
setCanCall()
void
setCanCall(boolean called)
void
setCanRead()
void
setCanRead(boolean read)
void
setCanWrite()
void
setCanWrite(boolean written)
void
setCode(int code)
void
setField(Field field)
void
setFlag(boolean setting, long flag)
void
setFlag(long flag)
void
setFluid(boolean fluid)
void
setIndirectBinding(boolean indirectBinding)
Note that the value of the variable is the contents of a Location.void
setInitValue(Expression init)
void
setName(Object symbol)
void
setNext(Declaration next)
void
setPrivate(boolean isPrivate)
void
setProcedureDecl(boolean val)
void
setScanNesting(int value)
void
setSimple(boolean b)
void
setSymbol(Object symbol)
void
setSyntax()
void
setType(Type type)
void
setType(Expression typeExp, Type type)
void
setTypeExp(Expression typeExp)
void
setValue(Expression value)
Set the value associated with this Declaration.String
toString()
-
Methods inherited from class gnu.text.SourceLocator.Simple
getColumnNumber, getEndColumn, getEndLine, getFileName, getLineNumber, getPublicId, getStartColumn, getStartLine, getSystemId, isRepl, isStableSourceLocation, setFile, setLine, setLine, setLine, setLocation
-
-
-
-
Field Detail
-
id
protected int id
Unique id number, to ease print-outs and debugging. If negative, a code to specify a builtin function.
-
context
public ScopeExp context
-
type
public Type type
The type of the value of this Declaration. It is null if the type is un-specified and not yet inferred. Will get set implicitly by getType, to avoid inconsistencies.
-
typeExp
public Expression typeExp
-
base
public Declaration base
If non-null, field is relative to base. If IS_FLUID, base points to IS_UNKNOWN Symbol.
-
getterMethod
public Method getterMethod
-
setterMethod
public Method setterMethod
-
PRIVATE_PREFIX
public static final String PRIVATE_PREFIX
This prefix is used in field names for a declaration that has both EXTERNAL_ACCESS and IS_PRIVATE set.- See Also:
- Constant Field Values
-
PROCEDURE
public static final int PROCEDURE
True if in the function namespace, for languages that distinguishes them. I.e. a function definition or macro definition.- See Also:
- Constant Field Values
-
IS_ALIAS
public static final int IS_ALIAS
- See Also:
- Constant Field Values
-
NOT_DEFINING
public static final int NOT_DEFINING
Set if this is just a declaration, not a definition.- See Also:
- Constant Field Values
-
EXPORT_SPECIFIED
public static final int EXPORT_SPECIFIED
- See Also:
- Constant Field Values
-
STATIC_SPECIFIED
public static final int STATIC_SPECIFIED
- See Also:
- Constant Field Values
-
NONSTATIC_SPECIFIED
public static final int NONSTATIC_SPECIFIED
- See Also:
- Constant Field Values
-
TYPE_SPECIFIED
public static final int TYPE_SPECIFIED
- See Also:
- Constant Field Values
-
IS_CONSTANT
public static final int IS_CONSTANT
- See Also:
- Constant Field Values
-
IS_SYNTAX
public static final int IS_SYNTAX
- See Also:
- Constant Field Values
-
IS_UNKNOWN
public static final int IS_UNKNOWN
- See Also:
- Constant Field Values
-
IS_IMPORTED
public static final int IS_IMPORTED
- See Also:
- Constant Field Values
-
IS_CAPTURED
public static final int IS_CAPTURED
- See Also:
- Constant Field Values
-
IS_SINGLE_VALUE
public static final int IS_SINGLE_VALUE
- See Also:
- Constant Field Values
-
EXTERNAL_ACCESS
public static final int EXTERNAL_ACCESS
This flag bit is set if this can be be accessed from other modules. Ignored unless PRIVATE. Used when an exported macro references a non-exported name.- See Also:
- Constant Field Values
-
FIELD_OR_METHOD
public static final int FIELD_OR_METHOD
True if this is a field or method in a class definition.- See Also:
- Constant Field Values
-
IS_NAMESPACE_PREFIX
public static final int IS_NAMESPACE_PREFIX
Set if this declares a namespace prefix (as in XML namespaces).- See Also:
- Constant Field Values
-
PRIVATE_ACCESS
public static final int PRIVATE_ACCESS
- See Also:
- Constant Field Values
-
PRIVATE_SPECIFIED
public static final int PRIVATE_SPECIFIED
- See Also:
- Constant Field Values
-
PROTECTED_ACCESS
public static final int PROTECTED_ACCESS
- See Also:
- Constant Field Values
-
PUBLIC_ACCESS
public static final int PUBLIC_ACCESS
- See Also:
- Constant Field Values
-
PACKAGE_ACCESS
public static final int PACKAGE_ACCESS
- See Also:
- Constant Field Values
-
IS_DYNAMIC
public static final int IS_DYNAMIC
- See Also:
- Constant Field Values
-
EARLY_INIT
public static final int EARLY_INIT
Initialize in<init>
/<clinit>
rather than inrun
/$run$
.- See Also:
- Constant Field Values
-
MODULE_REFERENCE
public static final int MODULE_REFERENCE
A reference to a module instance.- See Also:
- Constant Field Values
-
VOLATILE_ACCESS
public static final long VOLATILE_ACCESS
- See Also:
- Constant Field Values
-
TRANSIENT_ACCESS
public static final long TRANSIENT_ACCESS
- See Also:
- Constant Field Values
-
ENUM_ACCESS
public static final long ENUM_ACCESS
- See Also:
- Constant Field Values
-
FINAL_ACCESS
public static final long FINAL_ACCESS
- See Also:
- Constant Field Values
-
ABSTRACT_ACCESS
public static final long ABSTRACT_ACCESS
- See Also:
- Constant Field Values
-
SYNCHRONIZED_ACCESS
public static final long SYNCHRONIZED_ACCESS
- See Also:
- Constant Field Values
-
STRICTFP_ACCESS
public static final long STRICTFP_ACCESS
- See Also:
- Constant Field Values
-
CLASS_ACCESS_FLAGS
public static final long CLASS_ACCESS_FLAGS
- See Also:
- Constant Field Values
-
FIELD_ACCESS_FLAGS
public static final long FIELD_ACCESS_FLAGS
- See Also:
- Constant Field Values
-
METHOD_ACCESS_FLAGS
public static final long METHOD_ACCESS_FLAGS
- See Also:
- Constant Field Values
-
MAYBE_UNINITIALIZED_ACCESS
public static final long MAYBE_UNINITIALIZED_ACCESS
- See Also:
- Constant Field Values
-
ALLOCATE_ON_STACK
public static final long ALLOCATE_ON_STACK
Allocate variable on JVM stack as an optimization. This means load is implemented as a dup instruction. (This is no faster on decent JVMs, but the bytecode is more compact.) Note this may cause an InternalError if this is loaded when the JVM stack has grown since the variable was initialized.- See Also:
- Constant Field Values
-
PATTERN_NESTED
public static final long PATTERN_NESTED
True for a variable inside a pattern, but not the top of the pattern. E.g. for a pattern [a [b c]] there is a main declaration for the incoming value - which does not have PATTERN_NESTED set. There are three declarations a, b, and c - which do have PATTERN_NESTED set. In addition there may be helper variables which are anonymous (i.e. getSymbol() returns null), like the match for the sequence [b c]; these also have PATTERN_NESTED set.- See Also:
- Constant Field Values
-
SKIP_FOR_METHOD_PARAMETER
public static final long SKIP_FOR_METHOD_PARAMETER
See parameterForMethod()- See Also:
- Constant Field Values
-
IS_REST_PARAMETER
public static final long IS_REST_PARAMETER
- See Also:
- Constant Field Values
-
IS_PARAMETER
public static final long IS_PARAMETER
- See Also:
- Constant Field Values
-
IS_SUPPLIED_PARAMETER
public static final long IS_SUPPLIED_PARAMETER
Is this a supplied-parameter variable? If IS_SUPPLIED_PARAMETER is true and IS_PARAMETER is false then this is a boolean variable which reports if the previous parameter was provided by the argument list, rather than defaulted. If IS_SUPPLIED_PARAMETER is true and IS_PARAMETER is true then this is an optional or keyword parameter that has corresponding supplied-parameter later in the parameter list.- See Also:
- Constant Field Values
-
KEYWORDS_OK
public static final long KEYWORDS_OK
Applies to a 'rest' parameter if it can match keywords.- See Also:
- Constant Field Values
-
DONT_COPY
public static final long DONT_COPY
- See Also:
- Constant Field Values
-
SCAN_OWNER
public static final long SCAN_OWNER
- See Also:
- Constant Field Values
-
flags
protected long flags
-
firstCall
public ApplyExp firstCall
List of ApplyExp where this declaration is the function called. The applications are chained using their nextCall fields. This is list is built twice: First in PushApply (for use during InlineCalls), then the list is clearest, then rebuilt in FindTailCalls. This is because InlineCalls may inline and re-arrange the call graph. The chain is not built the second time if STATIC_SPECIFIED.
-
-
Method Detail
-
setCode
public void setCode(int code)
-
getCode
public int getCode()
-
getTypeExp
public final Expression getTypeExp()
-
getType
public final Type getType()
-
getTypeExpRaw
public Expression getTypeExpRaw()
-
setType
public final void setType(Type type)
-
setTypeExp
public final void setTypeExp(Expression typeExp)
-
setType
public final void setType(Expression typeExp, Type type)
-
getName
public final String getName()
-
setName
public final void setName(Object symbol)
-
getSymbol
public final Object getSymbol()
-
setSymbol
public final void setSymbol(Object symbol)
-
nextDecl
public final Declaration nextDecl()
-
setNext
public final void setNext(Declaration next)
-
getVariable
public Variable getVariable()
-
getScanNesting
public int getScanNesting()
If non-zero, indicates this names a 'scan' of a sequence. The value property is a sequence; the declaration names "each" of the elements. This field is the amount of nesting within scan ('...') contexts.
-
setScanNesting
public void setScanNesting(int value)
-
isSimple
public final boolean isSimple()
-
setSimple
public final void setSimple(boolean b)
-
setSyntax
public final void setSyntax()
-
getContext
public final ScopeExp getContext()
Return the ScopeExp that contains (declares) this Declaration.
-
loadFieldLocation
public Type loadFieldLocation(Declaration owner, Compilation comp)
-
load
public void load(AccessExp access, int flags, Compilation comp, Target target)
-
compileStore
public void compileStore(Compilation comp)
-
isCompiletimeConstant
public boolean isCompiletimeConstant()
-
needsExternalAccess
public final boolean needsExternalAccess()
-
needsContext
public final boolean needsContext()
If we need a 'context' supplied from a ReferenceExp or 'this.
-
getFlag
public final boolean getFlag(long flag)
-
setFlag
public final void setFlag(boolean setting, long flag)
-
setFlag
public final void setFlag(long flag)
-
isPublic
public final boolean isPublic()
-
isPrivate
public final boolean isPrivate()
-
isModuleLocal
public final boolean isModuleLocal()
-
setPrivate
public final void setPrivate(boolean isPrivate)
-
getAccessFlags
public short getAccessFlags(short defaultFlags)
-
isAlias
public final boolean isAlias()
-
setAlias
public final void setAlias(boolean flag)
-
isFluid
public final boolean isFluid()
True if this is a fluid binding (in a FluidLetExp). Also true if this binding is the one re-bound by a FluidLetExp.
-
setFluid
public final void setFluid(boolean fluid)
-
isProcedureDecl
public final boolean isProcedureDecl()
-
setProcedureDecl
public final void setProcedureDecl(boolean val)
-
isClassMethod
public final boolean isClassMethod()
-
isClassField
public final boolean isClassField()
-
isNamespaceDecl
public final boolean isNamespaceDecl()
-
parameterForMethod
public final boolean parameterForMethod()
Is this a parameter for the generated method? For example if a lambda's parameter is the pattern[x y]
then there is an anonymous parameter p0 that is the incoming 2-element sequence plus named parametersx
andy
. The later two are parameters for the generated method, but the anonymous p0 is not.
-
isIndirectBinding
public final boolean isIndirectBinding()
True if the value of the variable is the contents of a Location.- See Also:
INDIRECT_BINDING
-
setIndirectBinding
public final void setIndirectBinding(boolean indirectBinding)
Note that the value of the variable is the contents of a Location.- See Also:
INDIRECT_BINDING
-
maybeIndirectBinding
public void maybeIndirectBinding(Compilation comp)
-
inExternalModule
public boolean inExternalModule(Compilation comp)
-
isGuard
public boolean isGuard()
Does this encapsulate a boolean guard expression? In that case this is an unnamed pseudo-parameter, that matches no actual arguments but wheregetInitValue()
is the expression.
-
getCanRead
public final boolean getCanRead()
-
setCanRead
public final void setCanRead(boolean read)
-
setCanRead
public final void setCanRead()
-
getCanReadOrCall
public final boolean getCanReadOrCall()
-
getCanCall
public final boolean getCanCall()
-
setCanCall
public final void setCanCall(boolean called)
-
setCanCall
public final void setCanCall()
-
getCanWrite
public final boolean getCanWrite()
-
setCanWrite
public final void setCanWrite(boolean written)
-
setCanWrite
public final void setCanWrite()
-
isThisParameter
public final boolean isThisParameter()
Is this an implicit 'this' parameter?
-
mayBeAccessedUninitialized
public boolean mayBeAccessedUninitialized()
-
ignorable
public boolean ignorable()
True if we never need to access this declaration.
-
isStatic
public boolean isStatic()
-
isLexical
public final boolean isLexical()
-
isUnknown
public static final boolean isUnknown(Declaration decl)
-
addCaller
public void addCaller(ApplyExp exp)
Add a call to the list headed byfirstCall
.
-
clearCallList
public void clearCallList()
Clear the list of callers headed byfirstCall
.
-
numAnnotations
public int numAnnotations()
The number of annotations associated with the declaration.
-
getAnnotation
public Expression getAnnotation(int i)
Indexed get of one of the annotations associated with this declaration.
-
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> clas)
-
getAnnotation
public AnnotationEntry getAnnotation(String className)
-
setAnnotation
public void setAnnotation(int i, Expression ann)
Replace one of the annotations associated with this declaration.
-
addAnnotation
public void addAnnotation(Expression exp)
Add an annotation to the set of our annotations.- Parameters:
exp
- A constant-valued expression that evaluates to an Annotation.
-
compileAnnotations
public void compileAnnotations(AttrContainer container, ElementType etype)
-
pushIndirectBinding
public void pushIndirectBinding(Compilation comp)
Create a Location object, given that isIndirectBinding(). Assume the initial value is already pushed on the stack; leaves initialized Location object on stack.
-
getImplementationType
public Type getImplementationType()
-
printInfo
public void printInfo(gnu.kawa.io.OutPort out)
-
printInfo
public void printInfo(StringBuffer sbuf)
-
followAliases
public static Declaration followAliases(Declaration decl)
-
makeField
public void makeField(Compilation comp, Expression value)
-
makeField
public void makeField(ClassType frameType, Compilation comp, Expression value)
-
maybeSourceName
public void maybeSourceName(AttrContainer member, String expName)
Add SourceName annotation to member, if needed.
-
getDeclarationFromStatic
public static Declaration getDeclarationFromStatic(String cname, String fname)
Create a declaration corresponding to a static field.- Parameters:
cname
- name of class containing fieldfname
- name of static field
-
getDeclarationValueFromStatic
public static Declaration getDeclarationValueFromStatic(String className, String fieldName, String name)
Similar togetDeclarationFromStatic
, but also donoteValue
with the field's value.
-
getDeclaration
public static Declaration getDeclaration(Named proc)
-
getDeclaration
public static Declaration getDeclaration(Object proc, String name)
-
getInitValue
public Expression getInitValue()
Get the "initial value" expression. This is used for the initializing value in a LetExp, a parameter's default value, or for pattern-matching.
-
setInitValue
public void setInitValue(Expression init)
-
hasUnknownValue
public boolean hasUnknownValue()
-
getValue
public final Expression getValue()
The value of thisDeclaration
, if known. Usually the expression used to initialize theDeclaration
, or null if theDeclaration
can be assigned a different value after initialization. Note that this is the semantic value: If theINDIRECT_LOCATION
is set, thengetValue
is the value after de-referencing the resultingLocation
. An exception is ifisAlias()
; in that casegetValue()
is an expression yielding aLocation
which needs to be de-referenced to get thisDeclaration
's actual value.
-
getValueRaw
public Expression getValueRaw()
-
setValue
public final void setValue(Expression value)
Set the value associated with this Declaration. Most code should use noteValue instead.
-
getConstantValue
public final Object getConstantValue()
If getValue() is a constant, return the constant value, otherwise null.
-
hasConstantValue
public final boolean hasConstantValue()
-
getLambdaValue
public LambdaExp getLambdaValue()
-
noteValue
public void noteValue(Expression value)
-
noteValueConstant
public void noteValueConstant(Object value)
-
noteValueUnknown
public void noteValueUnknown()
-
noteValueFromSet
public void noteValueFromSet(SetExp setter)
-
noteValueFromLet
public void noteValueFromLet(ScopeExp letter)
-
noteValueFromApply
public void noteValueFromApply(ApplyExp app, int index)
-
patchSymbolFromSet
public boolean patchSymbolFromSet()
Set symbol from initializing SetExp. Used for an export-only alias, for handling export-with-rename.
-
getField
public Field getField()
-
setField
public void setField(Field field)
-
-