Class: Cheri::Java::Builder::GenericBuilderFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/cheri/java/builder/main.rb

Overview

GenericCheriYieldBuilder

Constant Summary collapse

BuildType =

:stopdoc:

Cheri::Builder::BuildType
BuildTypes =
Cheri::Builder::BuildTypes

Instance Method Summary collapse

Constructor Details

#initialize(mod, types) ⇒ GenericBuilderFactory

:startdoc:



380
381
382
383
384
385
# File 'lib/cheri/java/builder/main.rb', line 380

def initialize(mod,types)
  raise Cheri.type_error(types,BuildType) unless BuildTypes === types
  @mod = mod
  @types = types
  @inv = types.invert
end

Instance Method Details

#builder(ctx, sym, *r, &k) ⇒ Object



386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
# File 'lib/cheri/java/builder/main.rb', line 386

def builder(ctx,sym,*r,&k)
  if (type = @types[sym])
    GenericClassBuilder.new(@mod,type,ctx,sym,*r,&k)
  elsif @inv[r.first.class]
    if sym == :cherify
      GenericCherifyBuilder.new(@mod,ctx,sym,*r,&k)
    elsif sym == :cheri_yield
      GenericCheriYieldBuilder.new(@mod,ctx,sym,*r,&k)
    else
      nil
    end
  else
    nil
  end
end