AccessControl

File AccessControl.str
Author Martin Bravenboer <martin@cs.uu.nl>
Since unknown

6.6: Access Control




Statistics


General
Lines of code 205
Stratego
Module number 1 (100% documented)
Constructor number 0
Overlay number 0
Strategy number 14 (78% documented)
Rule number 0
DynamicRule number 0



Strategy summary


default-access-member-is-accessible-from(ATerm from) Default access is allowed in the same package AccessControl.str
is-accessible-from(ATerm from) A package is always accessible AccessControl.str
is-accessible-from(ATerm from) Public top level classes are accessible AccessControl.str
is-accessible-from(ATerm from) Top level classes with default access are only accessible in the same package AccessControl.str
is-accessible-from(ATerm from) Array class is accessible if its element type is accessible AccessControl.str
is-accessible-from(ATerm from) n/a AccessControl.str
is-accessible-from(ATerm to, ATerm from) n/a AccessControl.str
is-accessible-from(ATerm from) n/a AccessControl.str
private-member-is-accessible-from(ATerm from) Private access is allowed in the same top level class AccessControl.str
protected-member-is-accessible-from-same-package(ATerm from) Protected members are accessible if the access occurs within this package AccessControl.str
protected-member-is-accessible-from-subclass(ATerm from) Protected members are accessible if access is correct according to 6 AccessControl.str
protected-member-is-qualified-accessible-from-subclass(ATerm to, ATerm from) n/a AccessControl.str
protected-member-is-qualified-accessible-from-subclass(ATerm to, ATerm from) Protected members are accessible if access is correct according to 6 AccessControl.str
public-member-is-accessible(ATerm from) Public members are accessible (if the declaring class is accessible) AccessControl.str



Strategy details


ATerm default-access-member-is-accessible-from(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm from Class object

Default access is allowed in the same package.


type Member object -> Member object

 
ATerm is-accessible-from(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 

A package is always accessible.



 
ATerm is-accessible-from(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm from Class object

Public top level classes are accessible.


todo Exclude array classes?
type Class object -> Class object

 
ATerm is-accessible-from(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm from Class object

Top level classes with default access are only accessible in the same package.


todo Exclude array classes?
type Class object -> Class object

 
ATerm is-accessible-from(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm from Class object

Array class is accessible if its element type is accessible.


type Class object -> Class object

 
ATerm is-accessible-from(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 

No information available.


todo Protected constructors.

 
ATerm private-member-is-accessible-from(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm from Class object

Private access is allowed in the same top level class.


type Member object -> Member object

 
ATerm protected-member-is-accessible-from-same-package(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm from Class object

Protected members are accessible if the access occurs within this package.


type Member object -> Member object

 
ATerm protected-member-is-accessible-from-subclass(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 

Protected members are accessible if access is correct according to 6.6.2.


type Member object -> Member object

 
ATerm protected-member-is-qualified-accessible-from-subclass(ATerm to, ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm to Use site, static class object of which a member is accessed (type of E)
ATerm from Class object from which the member is accessed (S)

Protected members are accessible if access is correct according to 6.6.2.


type Member object -> Member object

 
ATerm public-member-is-accessible(ATerm from)
File AccessControl.str
Author unknown
Since unknown
 
Parameters
ATerm from Class object

Public members are accessible (if the declaring class is accessible).


type Member object -> Member object