Method: CType::Pointer#evaluate

Defined in:
lib/caphir/ctype.rb

#evaluate(identifier) ⇒ Object



365
366
367
368
369
370
371
372
373
374
# File 'lib/caphir/ctype.rb', line 365

def evaluate(identifier)
  return self if identifier.empty?
  if identifier =~ /\A->/
    self.base_type.evaluate('.' + $')
  elsif identifier =~ /\A\[.+?\]/
    self.base_type.evaluate($')
  else
    CType.evaluation_error(identifier)
  end
end