- # Produce an HTMLTag with the correct contents and CSS classes
- # Subclasses can redefine it to decorate the tag
- redef fun make_tag(v): HTMLTag
- do
- var res = new HTMLTag("span")
- res.text(text)
- return res
- end
-end
-
-redef class TokenKeyword
- redef fun make_tag(v)
- do
- var res = super
- res.add_class("nc_k")
- return res
- end
-end
-redef class TokenOperator
- redef fun make_tag(v)
- do
- var res = super
- res.add_class("nc_o")
- return res
- end
-end
-
-redef class AVarFormExpr
- redef fun decorate_tag(v, res, token)
- do
- if token != n_id then return null
- var variable = self.variable
- if variable == null then return null
- res.add_class("nc_v")
- return variable.infobox(v)
- end
-end
-
-redef class AVardeclExpr
- redef fun decorate_tag(v, res, token)
- do
- if token != n_id then return null
- var variable = self.variable
- if variable == null then return null
- res.add_class("nc_v")
- return variable.infobox(v)
- end
-end
-
-redef class AForGroup
- redef fun decorate_tag(v, res, token)
- do
- if not token isa TId then return null
- var vs = variables
- if vs == null then return null
- res.add_class("nc_v")
- var idx = n_ids.index_of(token)
- var variable = vs[idx]
- return variable.infobox(v)
- end
-end
-
-redef class AParam
- redef fun decorate_tag(v, res, token)
- do
- if token != n_id then return null
- var mp = mparameter
- if mp == null then return null
- var variable = self.variable
- if variable == null then return null
- res.add_class("nc_v")
- return variable.infobox(v)
- end
-end
-
-redef class AAssertExpr
- redef fun decorate_tag(v, res, token)
- do
- if not token isa TId then return null
- res.add_class("nc_ast")
- return null
- end
-end
-
-redef class ALabel
- redef fun decorate_tag(v, res, token)
- do
- if not token isa TId then return null
- res.add_class("nc_la")
- return null
- end
-end
-
-redef class ASendExpr
- redef fun decorate_tag(v, res, token)
- do
- var callsite = self.callsite
- if callsite == null then return null
- return callsite.infobox(v)
- end
-end
-
-redef class ANewExpr
- redef fun decorate_tag(v, res, token)
- do
- var callsite = self.callsite
- if callsite == null then return null
- return callsite.infobox(v)
- end
-end
-
-redef class AAssignOp
- redef fun decorate_tag(v, res, token)
- do
- var p = parent
- assert p isa AReassignFormExpr
-
- var callsite = p.reassign_callsite
- if callsite == null then return null
- return callsite.infobox(v)
- end
-end
-
-redef class AModuleName
- redef fun decorate_tag(v, res, token)
- do
- var p = parent
- if p == null then return null
- return p.decorate_tag(v, res, token)
- end