-- $Id: java_throwable_api.ty,v 1.7 99/08/10 14:49:25 hnilsson Exp $
-- /***************************************************************************/
-- /* Copyright (C) 1997-1999 INRIA Sophia-Antipolis */
-- /* I. Attali, D. Caromel and M. Russo */
-- /* Projet OASIS */
-- /* Rt. des Lucioles, BP 93, */
-- /* F-06902 Sophia Antipolis cedex */
-- /* (+33) 4 92 38 76 31 */
-- /* All rights reserved */
-- /***************************************************************************/
--
-- /***************************************************************************/
-- /* This file contains the API specification for the Throwable class */
-- /* (the superclass of all errors and exceptions in the Java language) */
-- /***************************************************************************/
program java_throwable_api is
use java;
use PSP;
set ThrowableAPI is
--SC: Performs methods and constructor for the Throwable class.
--
--SC: Specified constructors:
--SC: Throwable()
--SC: Error()
--SC: Exception()
--SC: ClassNotFoundException()
--SC: RuntimeException()
--SC: ArithmeticException()
--SC: IllegalArgumentException()
--SC: IllegalThreadStateException()
--SC: NumberFormatException()
--SC: IllegalArgumentException()
--SC: IllegalMonitorStateException()
--SC: NullPointerException()
--
--JC: Object list, Class variable list, Current executing thread reference,
--JC: Current object reference
--JC: |- Method or Constructor name, Argument list (maybe empty)
--JC: -> modified object list, modified class variable list,
--JC: Continuation instruction list (maybe empty), new current Thread status
judgement
Objects, ClassVariablesL, Ref, Ref |-
Identifier, java -> Objects, ClassVariablesL, Insts, ThreadStatus;
Throwable:
--RC: Constructs a new Throwable object with no detail message. The stack
--RC: trace is automatically filled in.
--
--CS: new Throwable();
ObjL, ClVarL, _, ObjId |-
identifier "Throwable", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "Throwable", env(pairs[], locs[]),
insts[constructorCall1(identifier "Object", arguments[], ObjId)])], runnable() ;
Error:
--RC: Constructs an Exception with no specified detail message to indicate
--RC: serious problem that a reasonable application should not try to
--RC: catch
ObjL, ClVarL, _, ObjId |-
identifier "Error", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "Error", env(pairs[], locs[]),
insts[constructorCall1(identifier "Throwable", arguments[], ObjId)])], runnable() ;
Exception:
--RC: Constructs an Exception with no specified detail message to indicate
--RC: conditions that a reasonable application might want to catch.
ObjL, ClVarL, _, ObjId |-
identifier "Exception", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "Exception", env(pairs[], locs[]),
insts[constructorCall1(identifier "Throwable", arguments[], ObjId)])], runnable() ;
ClassNotFoundException:
--RC: Constructs an ClassNotFoundException with no specified detail
--RC: message. This exception is thrown when an application tries to load
--RC: in a class through its string name but no definition for the class
--RC: with the specified name could be found.
ObjL, ClVarL, _, ObjId |-
identifier "ClassNotFoundException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "ClassNotFoundException", env(pairs[], locs[]),
insts[constructorCall1(identifier "Exception", arguments[], ObjId)])], runnable() ;
RuntimeException:
--RC: Constructs an RuntimeException with no detail message (Thrown during
--RC: the normal operation of the Java Virtual Machine)
ObjL, ClVarL, _, ObjId |-
identifier "RuntimeException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "RuntimeException", env(pairs[], locs[]),
insts[constructorCall1(identifier "Exception", arguments[], ObjId)])], runnable() ;
ArithmeticException:
--RC: Constructs an ArithmeticException with no detail message (Thrown
--RC: when an exceptional arithmetic condition has occurred. For example,
--RC: an integer "divide by zero" throws an instance of this class).
ObjL, ClVarL, _, ObjId |-
identifier "ArithmeticException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "ArithmeticException", env(pairs[], locs[]),
insts[constructorCall1(identifier "RuntimeException", arguments[], ObjId)])], runnable() ;
IllegalArgumentException:
--RC: Constructs an IllegalArgumentException with no detail message
--RC: (Thrown to indicate that a method has been passed an illegal or
--RC: inappropriate argument).
ObjL, ClVarL, _, ObjId |-
identifier "IllegalArgumentException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "IllegalArgumentException", env(pairs[], locs[]),
insts[constructorCall1(identifier "RuntimeException", arguments[], ObjId)])], runnable() ;
IllegalThreadStateException:
--RC: Constructs an IllegalThreadStateException with no detail message
--RC: (Thrown to indicate that a thread is not in an appropriate state for
--RC: the requested operation).
ObjL, ClVarL, _, ObjId |-
identifier "IllegalThreadStateException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "IllegalThreadStateException", env(pairs[], locs[]),
insts[constructorCall1(identifier "IllegalArgumentException", arguments[], ObjId)])], runnable() ;
NumberFormatException:
--RC: Constructs an NumberFormatException with no detail message
--RC: (Thrown to indicate that the application has attempted to convert a
--RC: string to one of the numeric types, but that the string does not
--RC: have the appropriate format).
ObjL, ClVarL, _, ObjId |-
identifier "NumberFormatException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "NumberFormatException", env(pairs[], locs[]),
insts[constructorCall1(identifier "IllegalArgumentException", arguments[], ObjId)])], runnable() ;
IllegalMonitorStateException:
--RC: Constructs an IllegalMonitorStateException with no detail message
--RC: (Thrown to indicate that a thread has attempted to wait on an object
--RC: monitor or to notify other threads waiting on an object's monitor
--RC: without owning the specified monitor).
ObjL, ClVarL, _, ObjId |-
identifier "IllegalMonitorStateException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "IllegalMonitorStateException", env(pairs[], locs[]),
insts[constructorCall1(identifier "RuntimeException", arguments[], ObjId)])], runnable() ;
NullPointerException:
--RC: Constructs a NullPointerException with no detail message
--RC: (Thrown when an application attempts to use null in a case where an
--RC: object is required).
ObjL, ClVarL, _, ObjId |-
identifier "NullPointerException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "NullPointerException", env(pairs[], locs[]),
insts[constructorCall1(identifier "RuntimeException", arguments[], ObjId)])], runnable() ;
NegativeArraySizeException:
--RC: Constructs a NegativeArraException with no detail message
--RC: (Thrown when an application attempts to create an array with negative size.)
ObjL, ClVarL, _, ObjId |-
identifier "NegativeArraySizeException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "NegativeArraySizeException", env(pairs[], locs[]),
insts[constructorCall1(identifier "RuntimeException", arguments[], ObjId)])], runnable() ;
IndexOutOfBoundsException:
--RC: Constructs an IndexOutOfBoundsException with no detail message.
--RC: (Thrown when an application attempts to access an element outside of the array.)
ObjL, ClVarL, _, ObjId |-
identifier "IndexOutOfBoundsException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "IndexOutOfBoundsException", env(pairs[], locs[]),
insts[constructorCall1(identifier "RuntimeException", arguments[], ObjId)])], runnable() ;
ArrayStoreException:
--RC: Constructs a ArrayStoreException with no detail message.
--RC: (Thrown when an application attempts to store an element in an array whose
--RC: dynamic type is incompatible with the type of the stored element.)
ObjL, ClVarL, _, ObjId |-
identifier "ArrayStoreException", vals[]
->
ObjL, ClVarL,
insts[
clr(
ObjId, identifier "none", identifier "ArrayStoreException", env(pairs[], locs[]),
insts[constructorCall1(identifier "RuntimeException", arguments[], ObjId)])], runnable() ;
end ThrowableAPI;
end java_throwable_api