Java Reference
In-Depth Information
class ReflectiveVisitor
/
Generic visit
/ 35
procedure
visit
(AbstractNode n )
this . dispatch( n )
end
procedure
36
dispatch
(Object o )
/
Find and invoke the
visit
( n ) method
/
/
whose declared parameter n is the closest match
/
/
for the actual type of o .
/
end
(AbstractNode n )
foreach AbstractNode c Children ( n ) do this . visit( c )
end
end
procedure
default
V
isit
37
class IfNode
extends AbstractNode
implements
38
{ NeedsBooleanPredicate }
end
class WhileNode
extends AbstractNode
implements
39
{ NeedsBooleanPredicate }
end
class PlusNode
extends AbstractNode
implements
{ NeedsCompatibleTypes }
end
class TypeChecking extends ReflectiveVisitor
40
procedure
visit
(NeedsBooleanPredicate nbp )
41
Check the type of nbp . getPredicate()
/
/
end
procedure
visit
(NeedCompatibleTypes nct )
42
end
procedure
visit
(NeedsLeftChildType nlct )
43
end
end
Figure 7.24: Reflective Visitor
 
Search WWH ::




Custom Search