API

Addition
-
Removal
Function Throw(s) Error Object if... Provisos Invokes onRedundantCall
addPrefix
addSuffix

IOwner is undefined
IOwner is null
IOwner refers to a boolean
IOwner refers to a number

I is undefined
I is null
I is not a string
I does not describe a member of IOwner
I does not describe a function

Func is undefined
Func is null
Func does not refer to a function

Execs is non-numeric
Execs is less than 1

| |
| |
| | Applies to AJS
| |-implementations
| | only
| |
| |
| |
| |
| |
|
| Applies to AJS
|-and interceptee
| implementations
|
|
-
-
addWrapper

IOwner is undefined
IOwner is null
IOwner refers to a boolean
IOwner refers to a number

I is undefined
I is null
I is not a string
I does not describe a member of IOwner
I does not describe a function

PFunc is undefined
PFunc is null
PFunc does not refer to a function

PExecs is non-numeric
PExecs is less than 1

SFunc is null
SFunc does not refer to a function

SExecs is non-numeric
SExecs is less than 1

| |
| |
| | Applies to AJS
| |-implementation
| | only
| |
| |
| |
| |
| |
|
|
| Applies to AJS
|-and interceptee
| implementations
|
|
|
|
|
|
|
-
addBefore
addAfter

Func is undefined
Func is null
Func does not refer to a function

Execs is non-numeric
Execs is less than 1

- Yes
Yes
remove - - Yes
Accession
-
Mutation
Function Throw(s) Error Object if... Provisos Invokes onRedundantCall

getFirstPfix
getLastPfix

getFirstSfix
getLastSfix

getPfixTot
getSfixTot

isAttached

getAffixTot

getFirstSib
getLastSib

getPrev
getNext

getPrefix
getSuffix

- -

-
-

-
-

-
-

No

Yes

Yes
Yes

Yes
Yes

No
No

getFunc - - No
setFunc

NewFunc is undefined
NewFunc is null
NewFunc is not a function

NewPFunc is undefined
NewPFunc is null
NewPFunc is not a function

NewSFunc is null
NewSFunc is not a function

|
|-Applies to Affix
| implementation

|
| Applies only
|-to Wrapper
| implementation
|
|
Yes
getArg
setArg
- - Yes
Yes
getExecs - - Yes
setExecs

NewExecs is undefined
NewExecs is null
NewExecs is non-numeric
NewExecs is less than 1

NewPExecs is undefined
NewPExecs is null
NewPExecs is non-numeric
NewPExecs is less than 1

NewSExecs is null
NewSExecs is non-numeric
NewSExecs is less than 1

|
|-Applies to Affix
| implementation
|

|
|
| Applies only
|-to Wrapper
| implementation
|
|
|

Yes

getSuspensions

- -

Yes

Suspension
-
Resumption
Function Throw(s) Error Object if... Provisos Invokes onRedundantCall
enable

AJS is undefined
AJS is null

AJS.getVersion is undefined
AJS.getVersion returns incorrect value

onMCall is undefined
onMCall is null
onMCall is not a function

onMRtn is undefined
onMRtn is null
onMRtn is not a function

- -

suspend
resume

suspendAll
resumeAll

- -

Yes for Affixes/Wrappers
Yes for Affixes/Wrappers

Yes for Affixes/Wrappers
Yes for Affixes/Wrappers

Promotion
-
Demotion
Function Throw(s) Error Object if... Provisos Invokes onRedundantCall

promote
demote

- -

Yes
Yes

Validation Function Throw(s) Error Object if... Provisos Invokes onRedundantCall

getVersion

- -

-

aJS_DbC

AJS is undefined
AJS is null

AJS.getVersion is undefined
AJS.getVersion returns incorrect value

onRedundantCall is not a function

- -
User
Decides
Function Generate Exceptions if... Provisos Invokes onRedundantCall

interceptee

prefix
suffix

onRedundantCall

onMCall
onMRtn

User Decides -

-

-
-

-

-
-

onInterceptionRemoval

Never - All exceptions are ignored -

-

Addition-Removal
Accession-Mutation
Suspension-Resumption
Promotion-Demotion
Validation
User Decides

Note that the exceptions documented here apply only if you import and call aJS_DbC into and within your application.

Where a method is documented as throwing no exceptions, this means it raises none of its own, although the interpreter may still raise them.