Method: Genprovider.classmask

Defined in:
lib/genprovider.rb

.classmask(klass) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/genprovider.rb', line 10

def self.classmask klass
  c = klass
  mask = 0
  while c
    mask |= INSTANCE_MASK if c.instance?
    mask |= METHOD_MASK if c.method?
    mask |= ASSOCIATION_MASK if c.association?
    mask |= INDICATION_MASK if c.indication?
    c = c.parent
  end
  if mask == 0
    STDERR.puts "Assuming that #{klass.name} defines an Instance"
    mask |= INSTANCE_MASK
  end
  mask
end