Sha256: c51106b23353f8a9d83da4f8418ef12bcf0c3020b2ca27fbe96af2cd0eeed114

Contents?: true

Size: 1.15 KB

Versions: 7

Compression:

Stored size: 1.15 KB

Contents

require 'bake/model/metamodel'

require 'rtext/language'



module Bake

  class Idp
    def call(e,notUsed1,notUsed2,notUsed3)
      e.respond_to?(:ident) ? e.ident() : nil
    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 == "DefaultToolchain"
        ["basedOn"]
      elsif c.name == "Description"
        ["text"]
      elsif c.name == "SrcFileEndings"
        ["endings"]
      else
        ["name"]
      end
    },
    :identifier_provider => Idp.new,
    :line_number_attribute => "line_number",
    :fragment_ref_attribute => "fragment_ref"
  )

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
bake-toolkit-2.46.0 lib/bake/model/language.rb
bake-toolkit-2.45.0 lib/bake/model/language.rb
bake-toolkit-2.44.1 lib/bake/model/language.rb
bake-toolkit-2.44.0 lib/bake/model/language.rb
bake-toolkit-2.43.2 lib/bake/model/language.rb
bake-toolkit-2.43.1 lib/bake/model/language.rb
bake-toolkit-2.43.0 lib/bake/model/language.rb