JML

org.multijava.mjc
Class JNewObjectExpression.ArgTypes

java.lang.Object
  extended byorg.multijava.mjc.JNewObjectExpression.ArgTypes
Enclosing class:
JNewObjectExpression

protected static class JNewObjectExpression.ArgTypes
extends Object

This nested class is used to track the argument types of the actual constructor call. The actual arguments include explicit primary expressions and synthetic outer this arguments for inner classes.


Field Summary
private  CType primaryExpr
           
private  CType[] regularArgs
           
private  CType synthOuterThis
           
 
Constructor Summary
protected JNewObjectExpression.ArgTypes(CType[] regularArgs)
           
 
Method Summary
protected  CType[] castToTypes(CMethod constructor)
          Returns the types to which to cast the regular arguments for the given constructor.
protected  CType[] constructorTypes()
           
protected  boolean hasSyntheticOuterThis()
           
protected  CType[] regularArgs()
           
protected  void setPrimaryExpr(CType primaryExpr)
           
protected  void setSyntheticOuterThis(CType synthOuterThis)
           
protected  int typeCount()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

regularArgs

private final CType[] regularArgs

primaryExpr

private CType primaryExpr

synthOuterThis

private CType synthOuterThis
Constructor Detail

JNewObjectExpression.ArgTypes

protected JNewObjectExpression.ArgTypes(CType[] regularArgs)
Method Detail

setPrimaryExpr

protected void setPrimaryExpr(CType primaryExpr)

setSyntheticOuterThis

protected void setSyntheticOuterThis(CType synthOuterThis)

constructorTypes

protected CType[] constructorTypes()

regularArgs

protected CType[] regularArgs()

hasSyntheticOuterThis

protected boolean hasSyntheticOuterThis()

castToTypes

protected CType[] castToTypes(CMethod constructor)
Returns the types to which to cast the regular arguments for the given constructor.

 requires constructor.parameters().length == typeCount();
 ensures \result.length == regularArgs.length;
 


typeCount

protected int typeCount()

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.