Sabunta mai haɗa harshen Vala 0.50.4

An fitar da sabon sigar mai tarawa don harshen shirye-shiryen Vala 0.50.4. An sabunta reshen tallafi na dogon lokaci (LTS) Vala 0.48.14 (an kunshe don Ubuntu 18.04) da reshen gwaji Vala 0.51.3 kuma an sabunta su.

Harshen Vala shine yaren shirye-shiryen da ke da alaƙa da abu wanda ke ba da ma'amala mai kama da C # ko Java. Ana amfani da Gobject (Tsarin Abubuwan Glib) azaman samfurin abu. Ana gudanar da sarrafa ƙwaƙwalwar ajiya ta hanyar mallakar (mallaka/hanyoyin da ba a mallaka ba) ko ta amfani da ARC (masanin masu lalata da rage ƙididdiga na abubuwan ƙididdiga a matakin tattarawa).

Harshen yana da goyan baya don introspection, ayyukan lambda, musaya, wakilai da rufewa, sigina da ramummuka, keɓantawa, kaddarorin, nau'ikan marasa amfani, nau'in ƙima don masu canjin gida. Kit ɗin ya zo tare da adadi mai yawa na ɗaure zuwa ɗakunan karatu a cikin C (vala-girs, vala-extra-vapis). Ana fassara shirye-shiryen Vala zuwa wakilcin C sannan kuma ana haɗa su ta daidaitaccen mahaɗar C. Yana yiwuwa a gudanar da shirye-shirye cikin yanayin rubutun.

Jerin canje-canje:

  • Ƙara ƙarin goyan baya don mahimmin kalmar params don ajin maginin ginin Foo{ jama'a Foo(string params[] args){ foreach (var arg in args) print(arg); } }
  • codegen:
    • Ingantattun tallafi ga masu ginin tsarin SimpleType (misali ana amfani da su don ɗaure typedef uint32_t people_inside; daga C) [SimpleType] [CCode (cname = "mutane_inside")] tsarin jama'a PeopleInside: uint32 {}
    • Ingantacciyar sarrafa sifa ta "NoWrapper".
    • CCode.type_cname da samun_ccode_type_name() an yarda dasu don azuzuwa.
    • G_TYPE_INSTANCE_GET_CLASS/INTERFACE kullum ana amfani dashi don alamomin waje.
    • An yi amfani da g_boxed_free a cikin nannade kyauta don ware GLib.Value akan tudu.
    • Kafaffen ƙwanƙwasa ƙwaƙwalwar ajiya yayin buɗe akwatin glib.Value a fakaice (kwandon duniya na kowane nau'in ƙima).
    • Kafaffen ƙwanƙwasa ƙwaƙwalwar ajiya lokacin matsar da tsarin da aka keɓance tudu zuwa tari.
    • An tabbatar da gadon mai lalata tsarin iyaye
    • An inganta ingantaccen dawo da alamar_reference na simintin gyaran kafa.
    • An cire duk abubuwan da suka faru na CCodeCastExpression.
    • Dakatar da kiran tsohon mai sarrafa siginar kuskure.
    • Haɗa "string.h" don strcmp () (bayanin bayanan POSIX, yanayin da Vala ke samar da lamba ta amfani da daidaitaccen ɗakin karatu na C kawai).
  • Vala:
    • Ingantattun gano fayilolin tushen fakitin kwafi.
    • Dole ne a bayyana filayen/kaddarorin GtkChild ba su da mallaka.
    • An haramta sake sanya filin/kaddarorin GtkChild.
    • An yi amfani da yanayi mai tsauri ga lambda lokacin ba da wani aiki.
    • An haramta amfani da tsarin SimpleType mai amfani guda ɗaya.
    • GLib.Value unboxing yana tabbatar da cewa an dawo da ƙimar da ba ta mallaka ba.
    • An haramta yin simintin gyare-gyaren GLib.darajar zuwa tsari mai sauƙi/nau'i mai sauƙi.
    • Ƙara nau'in gardama na dubawa a cikin nau'ikan tushe/aji/ sharaɗin mu'amala.
    • An haramta ɗaukar sigogin va_list/masu canzawa.
    • Dole ne a jefa jigon da ke ɗauke da mai nuni ga tsari zuwa nau'in daidai lokacin da aka samu don guje wa C UB.
    • Nau'in da aka aiwatar don "a" cikin enum.
    • Ingantattun binciken mahallin don ayyuka zuwa filin da ake iya rubutawa.
    • An haɗa da "stdlib.h" don Enum.to_string() (POSIX).
    • An saita madaidaicin tushen_reference don madaidaitan masu canji "wannan" da "sakamako"
    • Bayar da saƙon kuskure don aiki na ciki mara inganci kuma na maganganun da ba a bayyana ba.
  • Codewriter: An dakatar da ƙara sawun ";" bayan jiki WithStatement.
  • Girbi:
    • Ana ba da aikin aiwatar da wakili mara suna wanda ba a goyan bayan hanyar kama-da-wane ko sigina ba.
    • Aiwatar da metadata "delegate_target" don hanyoyi da sigogi
    • Aiwatar da "destroy_notify_cname" metadata zuwa filayen
    • Aiwatar da "type_get_function" metadata don azuzuwa da mu'amala
    • Saita CCode.type_cname don azuzuwan idan ba tsoho ba.
  • girwriter: Yana tabbatar da an rubuta abubuwan siga.
  • girwriter: Aiwatar da tsoho mai sarrafa siginar fitarwa.
  • libvaladoc/html: An cire nau'ikan filayen tsari don barin tsarinsu na asali lokacin ƙirƙirar takaddun html valadoc.org
  • libvaladoc: Tabbatar cewa an dawo da ƙimar Api.Class.is_compact daidai
  • libvaladoc: Ƙara abin rufewa don ɗakin karatu na "agedge" graphviz
  • Daure:
    • Ƙananan gyare-gyare lokacin samar da ɗaurin: cairo, gobject-2.0, pango, goocanvas-2.0, la'ana, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk fuse, libxml-4
    • gdk-pixbuf-2.0: Gyara Pixbuf.save_to_streamv_async()
    • gio-2.0: PollableOutputStream.write*_nonblocking() gyara ɗaurin
    • gio-2.0,gtk+-3.0,gtk4: Ana watsar da madaidaitan nau'in c-nau'in sigogin va_list
    • gio-2.0: Zaɓin mai kiran da ya ɓace don wasu hanyoyin AppInfo/Fayil.*().
    • glib-2.0: Ƙara GLib.[S]List.is_empty() hanyoyin dacewa don waɗanda ba su da tushe
    • glib-2.0: Daure aikin assert_cmp* [#395]
    • glib-2.0: Ingantaccen OptionEntry.flags nau'in filin
    • glib-2.0: PtrArray yanzu ƙaramin aji ne na GenericArray
    • gstreamer-1.0: CCode.type_id na MiniObject an saita zuwa G_TYPE_BOXED [#1133]
    • gtk+-2.0,javascriptcoregtk-4.0: Gyaran amfani da sifa CCode.type_cname
    • gtk + -3.0, gtk4: Kafaffen wasu ƙimar dawowar wakilai da sigogi
    • gtk4: An sabunta shi zuwa sigar 4.0.2.

source: budenet.ru

Add a comment