JML

org.multijava.mjc
Interface CInitializable

All Known Implementing Classes:
JArrayAccessExpression, JClassFieldExpression, JLocalVariableExpression, JParenthesedExpression

public interface CInitializable

Interface for all left-value expressions


Method Summary
 void genEndStoreCode(CodeSequence code, boolean discardValue)
          Generates a sequence of bytecodes
 void genStartStoreCode(CodeSequence code)
          Generates a sequence of bytecodes
 void initialize(CContextType ctxt)
          Initialize this object
 boolean isDefinitelyAssigned(CContextType context)
           
 boolean isLValue(CExpressionContextType context)
           
 

Method Detail

isLValue

public boolean isLValue(CExpressionContextType context)
Returns:
true if this expression is an LValue at call time a final variable is a lvalue until it is initialized

initialize

public void initialize(CContextType ctxt)
                         throws UnpositionedError
Initialize this object

Throws:
UnpositionedError - an error if this object can't actually be assigned to in the given context this may happen with final variables.

isDefinitelyAssigned

public boolean isDefinitelyAssigned(CContextType context)
Returns:
true if this expression is a variable already valued

genStartStoreCode

public void genStartStoreCode(CodeSequence code)
Generates a sequence of bytecodes

Parameters:
code - the code list

genEndStoreCode

public void genEndStoreCode(CodeSequence code,
                            boolean discardValue)
Generates a sequence of bytecodes

Parameters:
code - the code list

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.