JML

org.jmlspecs.jmlrac.runtime
Class JMLSurrogate.MapKey

java.lang.Object
  extended byorg.jmlspecs.jmlrac.runtime.JMLSurrogate.MapKey
Enclosing class:
JMLSurrogate

private static class JMLSurrogate.MapKey
extends Object

A class for implementing keys for the method cache.


Class Specifications

Specifications inherited from class Object
represents objectState <- org.jmlspecs.lang.JMLDataGroup.IT;
public represents _getClass <- \typeof(this);

Model Field Summary
 
Model fields inherited from class java.lang.Object
_getClass, objectState, theString
 
Ghost Field Summary
 
Ghost fields inherited from class java.lang.Object
objectTimesFinalized, owner
 
Field Summary
(package private)  Class clazz
           
(package private)  String name
           
(package private)  Class[] types
           
 
Constructor Summary
private JMLSurrogate.MapKey(Class clazz, String name, Class[] types)
          Constructs a new key for a method named name with formal parameter types, types, declared in the class, clazz.
 
Model Method Summary
 
Model methods inherited from class java.lang.Object
hashValue
 
Method Summary
static JMLSurrogate.MapKey create(Class clazz, String name, Class[] types)
          Returns a new key for a method named name with formal parameter types, types, declared in the class, clazz.
 boolean equals(nullable Object obj)
          Does the argument equal to this object?
 int hashCode()
          Returns the hash code for this key object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

clazz

Class clazz
Specifications: non_null

name

String name
Specifications: non_null

types

Class[] types
Constructor Detail

JMLSurrogate.MapKey

private JMLSurrogate.MapKey(Class clazz,
                            String name,
                            Class[] types)
Constructs a new key for a method named name with formal parameter types, types, declared in the class, clazz.

Specifications:
requires clazz != null&&name != null;
Method Detail

create

public static JMLSurrogate.MapKey create(Class clazz,
                                         String name,
                                         Class[] types)
Returns a new key for a method named name with formal parameter types, types, declared in the class, clazz.

Specifications:
requires clazz != null&&name != null;

hashCode

public int hashCode()
Returns the hash code for this key object.

Overrides:
hashCode in class Object
Specifications inherited from overridden method in class Object:
public behavior
assignable objectState;
ensures (* \result is a hash code for this object *);
     also
public code normal_behavior
assignable \nothing;

equals

public boolean equals(nullable Object obj)
Does the argument equal to this object?

Overrides:
equals in class Object
Specifications: (inherited)pure
Specifications inherited from overridden method equals(Object obj) in class Object:
       pure
public normal_behavior
requires obj != null;
ensures (* \result is true when obj is "equal to" this object *);
     also
public normal_behavior
requires this == obj;
ensures \result ;
     also
public code normal_behavior
requires obj != null;
ensures \result <==> this == obj;
     also
diverges false;
ensures obj == null ==> !\result ;

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.