Module: Chelsy

Defined in:
lib/chelsy/ast.rb,
lib/chelsy/ast.rb,
lib/chelsy/syntax.rb,
lib/chelsy/version.rb,
lib/chelsy/translator.rb

Defined Under Namespace

Modules: Comment, Constant, Directive, NodeList, Operator, Syntax, Type Classes: BitField, Block, Break, Case, Continue, Declaration, Declarative, Designator, DoWhile, Document, Element, EmptyStmt, EnumMember, EnumMemberList, Expr, For, Fragment, FragmentList, Function, Goto, IdentList, If, IndexDesignator, Initializer, InitializerList, Iteration, Labeled, Macro, MemberDesignator, Node, Param, ParamList, ProtoParamList, Raw, Return, Stmt, StructOrUnionMemberList, Switch, Translator, Typedef, While

Constant Summary collapse

VERSION =
"0.0.9"

Class Method Summary collapse

Class Method Details

.immutable_stringify(obj) ⇒ String

Returns an object as an immutable string.

Parameters:

  • obj (Object)

    an Object

Returns:

  • (String)

    The string representation of obj. It's frozen (unmodifiable).



10
11
12
13
14
15
16
17
# File 'lib/chelsy/ast.rb', line 10

def immutable_stringify(obj)
  str = obj.to_s
  if str.frozen?
    str
  else
    str.dup.freeze
  end
end