Class: C::Int

Inherits:
PrimitiveType show all
Defined in:
lib/cast/c_nodes.rb,
lib/cast/c_nodes.rb

Constant Summary

Constants inherited from Node

Node::INSPECT_TAB

Instance Attribute Summary

Attributes inherited from Node

#parent, #pos, #subclasses

Instance Method Summary collapse

Methods inherited from DirectType

#direct_type, #indirect_type

Methods inherited from Type

parse

Methods inherited from Node

#==, #=~, abstract, add_field, #assert_invariants, #attached?, child, #clone, #depth_first, #detach, #detached?, #dup, #each, #eql?, field, #fields, fields, #hash, inherited, initializer, #insert_next, #insert_prev, #inspect, inspect1, #list_next, #list_prev, #match?, #method_missing, new_at, #next, #node_after, #node_before, #postorder, #preorder, #prev, #remove_node, #replace_node, #replace_with, #reverse_depth_first, #reverse_each, #reverse_postorder, #reverse_preorder, subclasses_recursive, #swap_with

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class C::Node

Instance Method Details

#long?Boolean

Returns:

  • (Boolean)


857
858
859
# File 'lib/cast/c_nodes.rb', line 857

def long?
  longness.equal? 1
end

#long_long?Boolean

Returns:

  • (Boolean)


860
861
862
# File 'lib/cast/c_nodes.rb', line 860

def long_long?
  longness.equal? 2
end

#plain?Boolean

Returns:

  • (Boolean)


854
855
856
# File 'lib/cast/c_nodes.rb', line 854

def plain?
  longness.equal? 0
end

#short?Boolean

Returns:

  • (Boolean)


851
852
853
# File 'lib/cast/c_nodes.rb', line 851

def short?
  longness.equal?(-1)
end

#signed=(val) ⇒ Object



848
849
850
# File 'lib/cast/c_nodes.rb', line 848

def signed=(val)
  self.unsigned = !val
end

#signed?Boolean

Returns:

  • (Boolean)


845
846
847
# File 'lib/cast/c_nodes.rb', line 845

def signed?
  !unsigned?
end