class Bpl::AST::Identifier
Attributes
name[RW]
Public Instance Methods
hilite()
click to toggle source
# File lib/bpl/ast/expression.rb, line 54 def hilite (declaration ? (is_global? ? @name.blue : @name.green) : @name.red) + (type ? ":#{type.hilite}" : "") end
ident()
click to toggle source
# File lib/bpl/passes/analysis/modification.rb, line 5 def ident; self end
is_global?()
click to toggle source
# File lib/bpl/ast/expression.rb, line 50 def is_global? declaration && declaration.parent && declaration.parent.is_a?(Program) || false end
is_variable?()
click to toggle source
# File lib/bpl/ast/expression.rb, line 47 def is_variable? declaration && declaration.is_a?(VariableDeclaration) || false end
show()
click to toggle source
# File lib/bpl/ast/expression.rb, line 53 def show; @name end
type()
click to toggle source
XXX identifiers should be unique so that we can distinguish between bindings, for example def hash; name.hash end def <=>(id) @name <=> id.name end def eql?(id) id.is_a?(self.class) && id.name == @name end
# File lib/bpl/ast/expression.rb, line 44 def type declaration.type if declaration.respond_to? :type end