Sha256: 01185f43d25ca0f0ab349915ac95ae05d111f490bb5b042313b46d2b075e2916

Contents?: true

Size: 1.16 KB

Versions: 15

Compression:

Stored size: 1.16 KB

Contents

require 'bake/model/metamodel'

require 'rtext/language'



module Bake

  class Idp
    def call(e,unused)
      e.respond_to?(:ident) ? e.ident() : nil # IdentifierProvider.qualified_name(e)
    end
  end


  Language =
  RText::Language.new(Metamodel.ecore,
    :feature_provider => proc {|c|
      RGen::Serializer::OppositeReferenceFilter.call(c.eAllStructuralFeatures).reject {|f|
        f.eAnnotations.any? {|a|
          a.details.any? {|d| d.key == 'internal' && d.value == 'true'}
        }
      }
    },
    :unlabled_arguments => proc {|c|
      if c.name == "Compiler" or c.name == "CompilerAdaptions" 
        ["ctype"]
      elsif c.name == "Define"
        ["str"]
      elsif c.name == "Flags" or c.name == "LibPostfixFlags" or c.name == "LibPrefixFlags"
        ["overwrite"]
      elsif c.name == "UserLibrary"
        ["lib"]
      elsif c.name == "DefaultToolchain"
        ["basedOn"]
      elsif c.name == "Description"
        ["text"]
      else
        ["name"]
      end
    },
    :identifier_provider => Idp.new,
    :line_number_attribute => "line_number",
    :fragment_ref_attribute => "fragment_ref"
  )

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
bake-toolkit-2.13.1 lib/bake/model/language.rb
bake-toolkit-2.13.0 lib/bake/model/language.rb
bake-toolkit-2.12.2 lib/bake/model/language.rb
bake-toolkit-2.12.1 lib/bake/model/language.rb
bake-toolkit-2.12.0 lib/bake/model/language.rb
bake-toolkit-2.11.4 lib/bake/model/language.rb
bake-toolkit-2.11.3 lib/bake/model/language.rb
bake-toolkit-2.11.2 lib/bake/model/language.rb
bake-toolkit-2.11.1 lib/bake/model/language.rb
bake-toolkit-2.11.0 lib/bake/model/language.rb
bake-toolkit-2.10.3 lib/bake/model/language.rb
bake-toolkit-2.10.2 lib/bake/model/language.rb
bake-toolkit-2.10.1 lib/bake/model/language.rb
bake-toolkit-2.10.0 lib/bake/model/language.rb
bake-toolkit-2.9.2 lib/bake/model/language.rb