Main

File Main.str
Author Martin Bravenboer
Since unknown

Main strategy of the Dryad type checker




Statistics


General
Lines of code 233
Stratego
Module number 1 (100% documented)
Constructor number 0
Overlay number 0
Strategy number 19 (57% documented)
Rule number 0
DynamicRule number 5 (0% documented)



Strategy summary


default-dryad-attributes-of(Strategy rec) Default strategy for producing the attributes of an expression Main.str
dryad-attribute(Strategy rec) Attach attributes to a term Main.str
dryad-tc-declare-field-dec(Strategy rec) Util for dryad-tc-declare-fields Main.str
dryad-tc-declare-fields(Strategy continue) Declare the type of class fields for a class body Main.str
dryad-tc-declare-local-vardec(Strategy rec) Util for dryad-tc-declare-local-variables Main.str
dryad-tc-declare-local-variables(Strategy rec) Handle local vardec statement by declaring the type of the variables it declares for the tail of the list of statements in which it occurs Main.str
dryad-tc-declare-local-variables(Strategy rec) Define the type of a local variable declared in for loop Main.str
dryad-tc-declare-param n/a Main.str
dryad-tc-declare-params(Strategy continue) n/a Main.str
dryad-tc-declare-params(Strategy continue) n/a Main.str
dryad-tc-declare-params(Strategy continue) n/a Main.str
dryad-tc-declare-this-class(Strategy continue) n/a Main.str
dryad-tc-declare-var(ATerm type) Declare the type of a variable in dynamic rule 'TypeOf' Main.str
dryad-type-checker Annotate type information on a Java compilation unit or fragment of code Main.str
dryad-type-checker(Strategy extension) n/a Main.str
dryad-type-of(Strategy rec) n/a Main.str
dryad-type-of-num-bin-op Generic implementation for determining the type of a numeric binary operator (*, /, %, +, -) Main.str
scope-TypeOf(Strategy s) n/a Main.str
set-TypeOf(ATerm name, ATerm value) n/a Main.str



Strategy details


ATerm default-dryad-attributes-of(Strategy rec)
File Main.str
Author unknown
Since unknown
 

Default strategy for producing the attributes of an expression.

By default, attribute a term only with its type, determined by applying the dryad-type-of rule.


type t -> List(Attribute)

 
ATerm dryad-attribute(Strategy rec)
File Main.str
Author unknown
Since unknown
 

Attach attributes to a term.


type t -> t

 
ATerm dryad-tc-declare-field-dec(Strategy rec)
File Main.str
Author unknown
Since unknown
 

Util for dryad-tc-declare-fields. Don't invoke directly.



 
ATerm dryad-tc-declare-fields(Strategy continue)
File Main.str
Author unknown
Since unknown
 

Declare the type of class fields for a class body.



 
ATerm dryad-tc-declare-local-vardec(Strategy rec)
File Main.str
Author unknown
Since unknown
 

Util for dryad-tc-declare-local-variables. Don't invoke directly.



 
ATerm dryad-tc-declare-local-variables(Strategy rec)
File Main.str
Author unknown
Since unknown
 

Handle local vardec statement by declaring the type of thevariables it declares for the tail of the list of statements inwhich it occurs.


type List(BlockStm) -> List(BlockStm)

 
ATerm dryad-tc-declare-local-variables(Strategy rec)
File Main.str
Author unknown
Since unknown
 

Define the type of a local variable declared in for loop.



 
ATerm dryad-tc-declare-this-class(Strategy continue)
File Main.str
Author unknown
Since unknown
 

No information available.


todo Handle formal type parameters.
todo Enums, Annotations.

 
ATerm dryad-tc-declare-var(ATerm type)
File Main.str
Author unknown
Since unknown
 

Declare the type of a variable in dynamic rule 'TypeOf'



 
ATerm dryad-type-checker
File Main.str
Author unknown
Since unknown
 

Annotate type information on a Java compilation unit or fragment of code.


type List(CompilationUnit Object) -> List(CompilationUnit Object)

 
ATerm dryad-type-of-num-bin-op
File Main.str
Author unknown
Since unknown
 

Generic implementation for determining the type of a numericbinary operator (*, /, %, +, -).


type (Expr, Expr) -> Expr