class XfOOrth::Token
A class used to hold vital info extracted from the source code.
Attributes
The code fragment in this token.
Public Class Methods
Set up an empty token
# File lib/fOOrth/compiler/token.rb, line 13 def initialize @code = '' @tags = [] end
Public Instance Methods
Append some text/tags to the code_fragment.
Parameters
-
text - A string of code to be appended to this token.
-
tags - An optional array of tags to be added to this token.
Possible tag values:
-
:class - This token contains a class constant..
-
:immediate - The token is executed, even in compile modes.
-
:macro - This token contains an in-line macro.
-
:numeric - This token contains a numeric literal.
-
:procedure - This token contains a procedure literal.
-
:string - This token contains a string literal.
-
:stub - This token contains a stub spec.
-
:temp - This token contains code from a temporary spec.
-
none - Nothing special here. Move along, move along.
# File lib/fOOrth/compiler/token.rb, line 32 def add(text, tags=nil) @code << text @tags.concat(tags).uniq! if tags self end
Does this token have the specified tag value?
# File lib/fOOrth/compiler/token.rb, line 39 def has_tag?(value) @tags.include?(value) end
As a string for debugging.
# File lib/fOOrth/compiler/token.rb, line 44 def to_s "Tags=#{@tags.inspect} Code=#{@code.inspect}" end