ist.palcom.st.ast
Class ASTBlockExpression

java.lang.Object
  extended by ist.palcom.st.ast.ASTExpression
      extended by ist.palcom.st.ast.ASTBlockExpression
All Implemented Interfaces:
ISerializableInvokable, ISerializableItem, ISerializableLiteral, ISerializableMethod

public class ASTBlockExpression
extends ASTExpression
implements ISerializableMethod


Field Summary
 ASTBlock block
           
 
Fields inherited from class ist.palcom.st.ast.ASTExpression
empty_list
 
Fields inherited from interface ist.palcom.bytecode.ISerializableMethod
MARKER
 
Constructor Summary
ASTBlockExpression(ASTBlock block)
           
 
Method Summary
 boolean compile(ASTBytecodeGenerator generator, ASTBlock context, boolean resultWillBeDiscarded)
           
 boolean compileInline(ASTBytecodeGenerator generator, ASTBlock context, boolean resultWillBeDiscarded)
           
 void disambiguateVariables()
           
 byte[] getBytecodes()
           
 int[] getLineNumbers()
           
 ISerializableLiteral[] getLiterals()
           
 int getMaximumExpressionStackSize()
           
 ISerializableMetaInfo[] getMetaInfo()
           
 int getNumberOfLocals()
           
 java.lang.String getSignature()
           
 java.util.List<ASTExpression> getSubExpressions()
          Returns a read-only list of expressions below this one in the AST
 ASTExpression inlineBlocks()
           
 boolean isInlinableBlock()
           
 void liftLocals(boolean nilThemToo)
           
 void renameVariable(ASTVariable oldV, ASTVariable newV)
           
 void setContextOfSubblocks(ASTBlock context)
           
 void setFields(ASTBlock context)
           
 boolean subexpressionsHaveVariableNamed(ASTVariable v)
           
 
Methods inherited from class ist.palcom.st.ast.ASTExpression
compile_assignments, set_assignments
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

block

public ASTBlock block
Constructor Detail

ASTBlockExpression

public ASTBlockExpression(ASTBlock block)
Method Detail

inlineBlocks

public ASTExpression inlineBlocks()
Overrides:
inlineBlocks in class ASTExpression

getSubExpressions

public java.util.List<ASTExpression> getSubExpressions()
Description copied from class: ASTExpression
Returns a read-only list of expressions below this one in the AST

Specified by:
getSubExpressions in class ASTExpression

renameVariable

public void renameVariable(ASTVariable oldV,
                           ASTVariable newV)
Overrides:
renameVariable in class ASTExpression

subexpressionsHaveVariableNamed

public boolean subexpressionsHaveVariableNamed(ASTVariable v)
Overrides:
subexpressionsHaveVariableNamed in class ASTExpression

disambiguateVariables

public void disambiguateVariables()
Overrides:
disambiguateVariables in class ASTExpression

liftLocals

public void liftLocals(boolean nilThemToo)
Overrides:
liftLocals in class ASTExpression

setFields

public void setFields(ASTBlock context)
Overrides:
setFields in class ASTExpression

setContextOfSubblocks

public void setContextOfSubblocks(ASTBlock context)
Overrides:
setContextOfSubblocks in class ASTExpression

compile

public boolean compile(ASTBytecodeGenerator generator,
                       ASTBlock context,
                       boolean resultWillBeDiscarded)
Specified by:
compile in class ASTExpression

compileInline

public boolean compileInline(ASTBytecodeGenerator generator,
                             ASTBlock context,
                             boolean resultWillBeDiscarded)

getBytecodes

public byte[] getBytecodes()
Specified by:
getBytecodes in interface ISerializableMethod

getLineNumbers

public int[] getLineNumbers()

getSignature

public java.lang.String getSignature()
Specified by:
getSignature in interface ISerializableInvokable

getLiterals

public ISerializableLiteral[] getLiterals()
Specified by:
getLiterals in interface ISerializableMethod

getNumberOfLocals

public int getNumberOfLocals()
Specified by:
getNumberOfLocals in interface ISerializableMethod

getMaximumExpressionStackSize

public int getMaximumExpressionStackSize()
Specified by:
getMaximumExpressionStackSize in interface ISerializableMethod

getMetaInfo

public ISerializableMetaInfo[] getMetaInfo()
Specified by:
getMetaInfo in interface ISerializableMethod

isInlinableBlock

public boolean isInlinableBlock()
Overrides:
isInlinableBlock in class ASTExpression