Vala mpamoron-kira fandaharana amin'ny fiteny 0.50.4

Navoaka ny dikan-teny vaovaon'ny mpanangona ny fiteny fandaharana Vala 0.50.4. Ny sampana fanohanana maharitra (LTS) Vala 0.48.14 (fonosana ho an'ny Ubuntu 18.04) sy ny sampana andrana Vala 0.51.3 dia nohavaozina ihany koa.

Ny fiteny Vala dia fiteny fandaharana mifototra amin'ny zavatra izay manome syntax mitovy amin'ny C# na Java. Gobject (Glib Object System) dia ampiasaina ho maodely zavatra. Ny fitantanana ny fitadidiana dia tanterahana amin'ny alalan'ny fananana (rohy manana/tsy misy) na amin'ny fampiasana ARC (fanoloana ireo mpandrava sy fampihenana ny kaontera fanondro zavatra amin'ny dingana fanangonana).

Ny fiteny dia manana fanohanana ho an'ny fisafoana, ny fiasa lambda, ny fifandraisana, ny solontena sy ny fanakatonana, ny famantarana sy ny slot, ny maningana, ny fananana, ny karazana tsy misy dikany, ny karazana inference ho an'ny fari-piainana eo an-toerana. Ny kitapo dia misy fatorana marobe amin'ny tranomboky ao amin'ny C (vala-girs, vala-extra-vapis). Ny programa Vala dia adika amin'ny fanehoana C ary avy eo natambatra amin'ny compiler mahazatra C. Azo atao ny mampandeha programa amin'ny fomba script.

Lisitry ny fanovana:

  • Nampiana fanohanana fanampiny ho an'ny teny fanalahidy params ho an'ny kilasy mpanorina Foo{ public Foo(params string[] args){ foreach (var arg in args) print(arg); } }
  • codegen:
    • Fanohanana nohatsaraina ho an'ny mpamorona structeur SimpleType (ohatra ampiasaina hamatotra typedef uint32_t people_inside; avy amin'ny C) [SimpleType] [CCode (cname = "people_inside")] public struct PeopleInside : uint32 {}
    • Nohatsaraina ny fikarakarana ny toetra "NoWrapper".
    • CCode.type_cname sy get_ccode_type_name() dia navela ho an'ny kilasy.
    • G_TYPE_INSTANCE_GET_CLASS/INTERFACE dia ampiasaina foana amin'ny marika ivelany.
    • Nampiasaina ny g_boxed_free amin'ny free-wrapper mba hanomezana GLib.Value amin'ny heap.
    • Namboarina ny fahatapahan'ny fitadidiana nandritra ny famoahana an-kolaka an'i GLib.Value (fitehirizam-bokatra manerantany amin'ny karazana sanda rehetra).
    • Namboarina ny fitadidiana mitete rehefa mamindra rafitra natokana ho an'ny antontam-bato.
    • Ny lovan'ny mpandrava ny rafitry ny ray aman-dreny dia azo antoka
    • Nohatsaraina ny fakana marina ny symbol_reference amin'ny fanehoana ankafizina.
    • Nesoriny ny fisehoan-javatra rehetra an'ny CCodeCastExpression.
    • Diso nijanona ny fiantsoana ny mpandrindra famantarana.
    • Ampifandraisina amin'ny "string.h" ho an'ny strcmp() (profil POSIX, fomba izay mahatonga an'i Vala kaody tsy mampiasa afa-tsy ny tranomboky C mahazatra).
  • Vala:
    • Nohatsaraina ny fahitana ireo rakitra loharanon'ny fonosana dika mitovy.
    • Tsy maintsy ambara ho tsy tompony ny saha/fananana GtkChild.
    • Voarara ny famerenana ny saha/fananana GtkChild.
    • Nisy fepetra henjana kokoa nampiharina tamin'ny lambda rehefa manolotra andraikitra.
    • Voarara ny mampiasa rafitra SimpleType ampiasaina tokana.
    • Ny GLib.Value unboxing dia miantoka fa averina ny sanda tsy misy tompony.
    • Voarara ny fandefasana GLib.Value amin'ny karazana structable/tsotra.
    • Fanamarinana karazana tohankevitra fanampiny amin'ny karazana fototra/kilasy/interface mialoha.
    • Voarara ny maka va_list parameters/variables.
    • Generics misy tondro ho an'ny rafitra dia tsy maintsy atsipy amin'ny karazana marina rehefa idirana mba hisorohana ny C UB.
    • Fampidirana karazana nampiharina ho an'ny "in" ao anaty enum.
    • Fanamarinana teny manodidina nohatsaraina ho an'ny andraikitry ny saha azo soratana.
    • Nampidirina "stdlib.h" ho an'ny Enum.to_string() (POSIX).
    • Ny source_reference marina dia napetraka ho an'ny fari-pahalalana implicit "ity" sy "vokatra"
    • Nanome hafatra diso ho an'ny operand anatiny tsy mety amin'ny fomba fiteny tsy misy dikany.
  • Π‘odewriter: Nitsahatra ny nanampy ny ";" aorian'ny vatana WithStatement.
  • Girparser:
    • Ny fanodinana solontena tsy mitonona anarana tsy tohanan'ny fomba virtoaly na famantarana dia omena.
    • Nampiasa metadata "delegate_target" ho an'ny fomba sy masontsivana
    • Ampiharo metadata "destroy_notify_cname" amin'ny saha
    • Ampiharo metadata "type_get_function" ho an'ny kilasy sy interface
    • Mametraha CCode.type_cname ho an'ny kilasy raha tsy ny default.
  • girwriter: Miantoka fa voasoratra ny singa parameter ohatra.
  • girwriter: Navoakan'ny mpandrindra famantarana mahazatra.
  • libvaladoc/html: Nesorina ny fanasokajiana ny saha firafitry mba hamela ny filaharany tany am-boalohany rehefa mamorona antontan-taratasy html valadoc.org
  • libvaladoc: Ataovy azo antoka fa azo alaina tsara ny soatoavina ho an'ny Api.Class.is_compact
  • libvaladoc: Nampiana fonosana ho an'ny tranomboky graphviz "agedge".
  • Famatorana:
    • Fanamboarana kely rehefa mamorona fatorana: cairo, gobject-2.0, pango, goocanvas-2.0, ozona, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4 fuse, libxml-2.0
    • gdk-pixbuf-2.0: Ahitsio Pixbuf.save_to_streamv_async()
    • gio-2.0: PollableOutputStream.write*_nonblocking() fanamboarana
    • gio-2.0,gtk+-3.0,gtk4: Ny toetra c-karazana mazava amin'ny masontsivana va_list dia ariana
    • gio-2.0: Mpampiasa tsy hita voafantina ho an'ny fomba AppInfo/File sasany.*().
    • glib-2.0: Nampiana GLib.[S]List.is_empty() fomba mora ho an'ny tsy-null
    • glib-2.0: Mamatotra ny asa assert_cmp* [#395]
    • glib-2.0: karazana saha OptionEntry.flags nohatsaraina
    • glib-2.0: PtrArray dia zana-kilasy an'ny GenericArray ankehitriny
    • gstreamer-1.0: CCode.type_id an'ny MiniObject dia napetraka amin'ny G_TYPE_BOXED [#1133]
    • gtk+-2.0,javascriptcoregtk-4.0: Nahitsy ny fampiasana ny toetra CCode.type_cname
    • gtk + -3.0, gtk4: Namboarina ny soatoavina sy ny mari-pamantarana fiverenan'ny solontena
    • gtk4: Nohavaozina ho version 4.0.2.

Source: opennet.ru

Add a comment