summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@osg.samsung.com>2016-05-12 15:41:56 +0100
committerDaniel Kolesa <d.kolesa@osg.samsung.com>2016-05-12 16:15:24 +0100
commit7e94eb22b43c5b61fbdb40f109e8177cdc4eb1fc (patch)
tree56616a664b07620699e129d76ab3e175365c990b
parent6cacef250391aea0a62cb888df90679ebb64cd53 (diff)
downloadefl-7e94eb22b43c5b61fbdb40f109e8177cdc4eb1fc.tar.gz
eolian: mark pure virtual funcs outside of implements
This is a better syntax and should've been like this in the first place.
-rw-r--r--src/lib/ecore_audio/ecore_audio.eo11
-rw-r--r--src/lib/ecore_audio/ecore_audio_in.eo10
-rw-r--r--src/lib/ecore_con/efl_network.eo28
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo.eo3
-rw-r--r--src/lib/ector/ector_buffer.eo17
-rw-r--r--src/lib/ector/ector_renderer.eo9
-rw-r--r--src/lib/ector/ector_surface.eo8
-rw-r--r--src/lib/ector/gl/ector_renderer_gl.eo3
-rw-r--r--src/lib/ector/software/ector_renderer_software.eo5
-rw-r--r--src/lib/elementary/elm_interface_atspi_action.eo19
-rw-r--r--src/lib/elementary/elm_interface_atspi_image.eo5
-rw-r--r--src/lib/elementary/elm_interface_atspi_widget_action.eo3
-rw-r--r--src/lib/elementary/elm_web.eo117
-rw-r--r--src/lib/elementary/elm_widget.eo9
-rw-r--r--src/lib/eolian/database_fill.c57
-rw-r--r--src/lib/eolian/eo_lexer.h2
-rw-r--r--src/lib/eolian/eo_parser.c38
-rw-r--r--src/lib/evas/canvas/efl_canvas_surface.eo3
-rw-r--r--src/lib/evas/canvas/efl_vg.eo3
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.eo12
-rw-r--r--src/lib/evas/canvas/evas_filter.eo9
-rw-r--r--src/tests/eolian/data/base.eo5
-rw-r--r--src/tests/eolian/data/nmsp1_nmsp11_class2.eo5
-rw-r--r--src/tests/eolian/data/object_impl.eo6
-rw-r--r--src/tests/eolian/data/override.eo6
-rw-r--r--src/tests/eolian/data/override_ref.c10
-rw-r--r--src/tests/eolian/eolian_parsing.c27
27 files changed, 154 insertions, 276 deletions
diff --git a/src/lib/ecore_audio/ecore_audio.eo b/src/lib/ecore_audio/ecore_audio.eo
index 0c8fdfa7f3..bafea5c4ca 100644
--- a/src/lib/ecore_audio/ecore_audio.eo
+++ b/src/lib/ecore_audio/ecore_audio.eo
@@ -58,7 +58,7 @@ class Ecore.Audio (Eo.Base)
volume: double; [[The volume]]
}
}
- @property source {
+ @property source @virtual_pure {
[[Source of the object
What sources are supported depends on the actual object.
@@ -78,7 +78,7 @@ class Ecore.Audio (Eo.Base)
source: const(char)*; [[the source to set to (i.e. file, URL, device)]]
}
}
- @property format {
+ @property format @virtual_pure {
[[Format of the object.]]
set {
[[Set the format of the object
@@ -103,7 +103,7 @@ class Ecore.Audio (Eo.Base)
format: Ecore.Audio.Format; [[the format of the object]]
}
}
- vio_set {
+ vio_set @virtual_pure {
[[Set the virtual IO functions
@since 1.8
@@ -123,10 +123,5 @@ class Ecore.Audio (Eo.Base)
}
implements {
Eo.Base.constructor;
- @virtual .source.get;
- @virtual .source.set;
- @virtual .format.get;
- @virtual .format.set;
- @virtual .vio_set;
}
}
diff --git a/src/lib/ecore_audio/ecore_audio_in.eo b/src/lib/ecore_audio/ecore_audio_in.eo
index fd4da49041..6ab3c8fec7 100644
--- a/src/lib/ecore_audio/ecore_audio_in.eo
+++ b/src/lib/ecore_audio/ecore_audio_in.eo
@@ -44,7 +44,7 @@ class Ecore.Audio.In (Ecore.Audio)
channels: int; [[The number of channels]]
}
}
- @property preloaded {
+ @property preloaded @virtual_pure {
[[Preloaded state of the input
@since 1.8
@@ -82,7 +82,7 @@ class Ecore.Audio.In (Ecore.Audio)
@since 1.8
]]
- set {
+ set @virtual_pure {
}
get {
}
@@ -134,7 +134,7 @@ class Ecore.Audio.In (Ecore.Audio)
@in len: size; [[The amount of samples to read]]
}
}
- seek {
+ seek @virtual_pure {
[[Seek within the input
@since 1.8
@@ -153,10 +153,6 @@ class Ecore.Audio.In (Ecore.Audio)
Eo.Base.constructor;
Eo.Base.destructor;
Ecore.Audio.vio_set;
- @virtual .preloaded.get;
- @virtual .preloaded.set;
- @virtual .seek;
- @virtual .length.set;
}
events {
in,looped; [[Called when an input has looped.]]
diff --git a/src/lib/ecore_con/efl_network.eo b/src/lib/ecore_con/efl_network.eo
index f99bc3c137..de62158c08 100644
--- a/src/lib/ecore_con/efl_network.eo
+++ b/src/lib/ecore_con/efl_network.eo
@@ -45,7 +45,7 @@ abstract Efl.Network (Eo.Base) {
valid after deletion for the svr object. If no IP is known
null is returned.
]]
- get {
+ get @virtual_pure {
legacy: null;
}
values {
@@ -58,14 +58,14 @@ abstract Efl.Network (Eo.Base) {
This function is used to find out how long a client has been
connected.
]]
- get {
+ get @virtual_pure {
legacy: null;
}
values {
uptime: double; [[The total time, in seconds, that the object has been connected.]]
}
}
- @property port {
+ @property port @virtual_pure {
[[The port that the obj is connected to]]
set {
legacy: null;
@@ -91,7 +91,7 @@ abstract Efl.Network (Eo.Base) {
@since 1.1
]]
- get {
+ get @virtual_pure {
legacy: null;
}
values {
@@ -100,14 +100,14 @@ abstract Efl.Network (Eo.Base) {
}
@property connected {
[[Returns whether the client is still connected]]
- get {
+ get @virtual_pure {
legacy: null;
}
values {
connected: bool; [[Returns true if connected, false otherwise.]]
}
}
- @property timeout {
+ @property timeout @virtual_pure {
[[Control the default time after which an inactive client will be
disconnected.
@@ -131,14 +131,14 @@ abstract Efl.Network (Eo.Base) {
timeout: double; [[The timeout, in seconds, to disconnect after.]]
}
}
- flush {
+ flush @virtual_pure {
[[Flushes all pending data to the given server.
This function will block until all data is sent to the server.
]]
legacy: null;
}
- send {
+ send @virtual_pure {
[[Sends the given data to the given server.
This function will send the given data to the server as soon as the
@@ -175,18 +175,6 @@ abstract Efl.Network (Eo.Base) {
return: bool; [[true if the request did not fail to be set up, false otherwise.]]
}
}
- implements {
- @virtual .ip.get;
- @virtual .uptime.get;
- @virtual .port.set;
- @virtual .port.get;
- @virtual .fd.get;
- @virtual .connected.get;
- @virtual .timeout.set;
- @virtual .timeout.get;
- @virtual .flush;
- @virtual .send;
- }
events {
data,received: Ecore.Con.Event_Data.Received; [[Data received on connection]]
connection,upgraded;
diff --git a/src/lib/ector/cairo/ector_renderer_cairo.eo b/src/lib/ector/cairo/ector_renderer_cairo.eo
index 56e3632c8e..fe90d47056 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo.eo
+++ b/src/lib/ector/cairo/ector_renderer_cairo.eo
@@ -2,7 +2,7 @@ abstract Ector.Renderer.Cairo (Ector.Renderer)
{
legacy_prefix: null;
methods {
- fill {
+ fill @virtual_pure {
return: bool;
params {
@in mul_col: uint;
@@ -10,7 +10,6 @@ abstract Ector.Renderer.Cairo (Ector.Renderer)
}
}
implements {
- @virtual .fill;
Ector.Renderer.prepare;
Ector.Renderer.draw;
Ector.Renderer.color.set;
diff --git a/src/lib/ector/ector_buffer.eo b/src/lib/ector/ector_buffer.eo
index 13b14bde3a..1537bd2697 100644
--- a/src/lib/ector/ector_buffer.eo
+++ b/src/lib/ector/ector_buffer.eo
@@ -44,7 +44,7 @@ mixin Ector.Buffer
cspace: Efl.Gfx.Colorspace; [[Colorspace]]
}
}
- map {
+ map @virtual_pure {
[[Map a region of this buffer for read or write access by the CPU,
fetch data from the GPU if needed. This operation may be slow if
cpu_readable_fast or cpu_writeable_fast are not true, or if the
@@ -64,14 +64,14 @@ mixin Ector.Buffer
}
return: void* @warn_unused; [[Pointer to the top-left pixel data. Returns $null in case of failure]]
}
- unmap {
+ unmap @virtual_pure {
[[Unmap a region of this buffer, and upload data to the GPU (if needed).]]
params {
@in data: void*; [[Data pointer returned by a previous call to map]]
@in length: uint; [[Must be the same as returned by map.]]
}
}
- pixels_set {
+ pixels_set @virtual_pure {
[[Set the source pixels for this buffer, or allocate a new memory region]]
params {
@in pixels: void*; [[If $null, allocates an empty buffer]]
@@ -87,7 +87,7 @@ mixin Ector.Buffer
}
return: bool; [[True if pixels_set was successful]]
}
- span_get {
+ span_get @virtual_pure {
[[Get a single horizontal span of length w starting from (x,y)
Call span_free() to release it. This function will try not to
@@ -103,7 +103,7 @@ mixin Ector.Buffer
}
return: uint8*; [[A temporary memory buffer containing the pixels requested.]]
}
- span_free {
+ span_free @virtual_pure {
[[Must be called as soon as possible after span_get]]
params {
data: uint8*; [[Data to be freed]]
@@ -130,11 +130,4 @@ mixin Ector.Buffer
events {
detached; [[Emitted whenever the previously attached pixels are detached during pixels_set]]
}
- implements {
- @virtual .pixels_set;
- @virtual .span_get;
- @virtual .span_free;
- @virtual .map;
- @virtual .unmap;
- }
}
diff --git a/src/lib/ector/ector_renderer.eo b/src/lib/ector/ector_renderer.eo
index 9287e43e78..ff0c84c10b 100644
--- a/src/lib/ector/ector_renderer.eo
+++ b/src/lib/ector/ector_renderer.eo
@@ -105,13 +105,13 @@ abstract Ector.Renderer (Eo.Base)
return: uint; [[CRC value]]
}
}
- bounds_get {
+ bounds_get @virtual_pure {
[[Retrieve the bounds of the renderer]]
params {
@out r: Eina.Rectangle; [[Bounds as @Eina.Rectangle]]
}
}
- draw {
+ draw @virtual_pure {
return: bool @warn_unused;
params {
@in op: Efl.Gfx.Render_Op;
@@ -124,15 +124,12 @@ abstract Ector.Renderer (Eo.Base)
params {
}
}
- done {
+ done @virtual_pure {
return: bool @warn_unused;
}
}
implements {
Eo.Base.destructor;
Eo.Base.finalize;
- @virtual .draw;
- @virtual .bounds_get;
- @virtual .done;
}
}
diff --git a/src/lib/ector/ector_surface.eo b/src/lib/ector/ector_surface.eo
index aea73575a3..9243b170c7 100644
--- a/src/lib/ector/ector_surface.eo
+++ b/src/lib/ector/ector_surface.eo
@@ -8,14 +8,14 @@ mixin Ector.Surface (Ector.Buffer)
methods {
@property reference_point {
[[This define where is (0,0) in pixels coordinate inside the surface]]
- set {
+ set @virtual_pure {
}
values {
x: int; [[X coordinate for reference point]]
y: int; [[Y coordinate for reference point]]
}
}
- renderer_factory_new {
+ renderer_factory_new @virtual_pure {
[[Create a new renderer factory for the given type]]
return: Eo.Base *; /* FIXME: Should be a more restricted type, only here for cyclic. */
params {
@@ -23,8 +23,4 @@ mixin Ector.Surface (Ector.Buffer)
}
}
}
- implements {
- @virtual .renderer_factory_new;
- @virtual .reference_point.set;
- }
}
diff --git a/src/lib/ector/gl/ector_renderer_gl.eo b/src/lib/ector/gl/ector_renderer_gl.eo
index f3ba2329b2..5ee47d8997 100644
--- a/src/lib/ector/gl/ector_renderer_gl.eo
+++ b/src/lib/ector/gl/ector_renderer_gl.eo
@@ -4,7 +4,7 @@ abstract Ector.Renderer.GL (Ector.Renderer)
{
legacy_prefix: null;
methods {
- fill {
+ fill @virtual_pure {
return: bool;
params {
@in flags: uint64;
@@ -15,7 +15,6 @@ abstract Ector.Renderer.GL (Ector.Renderer)
}
}
implements {
- @virtual .fill;
Ector.Renderer.prepare;
Ector.Renderer.draw;
Eo.Base.constructor;
diff --git a/src/lib/ector/software/ector_renderer_software.eo b/src/lib/ector/software/ector_renderer_software.eo
index aa9e46e993..a875e3df21 100644
--- a/src/lib/ector/software/ector_renderer_software.eo
+++ b/src/lib/ector/software/ector_renderer_software.eo
@@ -3,11 +3,8 @@ class Ector.Renderer.Software (Ector.Renderer)
legacy_prefix: null;
data: null;
methods {
- fill {
+ fill @virtual_pure {
return: bool;
}
}
- implements {
- @virtual .fill;
- }
}
diff --git a/src/lib/elementary/elm_interface_atspi_action.eo b/src/lib/elementary/elm_interface_atspi_action.eo
index 558b4a131a..1fea7bff69 100644
--- a/src/lib/elementary/elm_interface_atspi_action.eo
+++ b/src/lib/elementary/elm_interface_atspi_action.eo
@@ -4,7 +4,7 @@ mixin Elm.Interface.Atspi_Action ()
eo_prefix: elm_interface_atspi_action;
data: null;
methods {
- @property name @protected {
+ @property name @protected @virtual_pure {
get {
[[Gets action name for given id]]
}
@@ -26,7 +26,7 @@ mixin Elm.Interface.Atspi_Action ()
id: int;
}
}
- @property description @protected {
+ @property description @protected @virtual_pure {
get {
[[Gets action description for given id]]
}
@@ -42,21 +42,21 @@ mixin Elm.Interface.Atspi_Action ()
}
}
@property actions @protected {
- get {
+ get @virtual_pure {
[[Get list of available widget actions]]
}
values {
actions: list<Elm_Atspi_Action> *; [[contains statically allocated strings]]
}
}
- action_do @protected {
+ action_do @protected @virtual_pure {
[[Performs action on given widget.]]
params {
@in id: int;
}
return: bool;
}
- keybinding_get @protected {
+ keybinding_get @protected @virtual_pure {
[[Gets configured keybinding for specific action and widget.]]
params {
@in id: int;
@@ -64,13 +64,4 @@ mixin Elm.Interface.Atspi_Action ()
return: own(char *) @warn_unused; [[Should be freed by the user.]]
}
}
- implements {
- @virtual .action_do;
- @virtual .keybinding_get;
- @virtual .name.get;
- @virtual .name.set;
- @virtual .description.get;
- @virtual .description.set;
- @virtual .actions.get;
- }
}
diff --git a/src/lib/elementary/elm_interface_atspi_image.eo b/src/lib/elementary/elm_interface_atspi_image.eo
index ed7ce9b612..0ab631dc07 100644
--- a/src/lib/elementary/elm_interface_atspi_image.eo
+++ b/src/lib/elementary/elm_interface_atspi_image.eo
@@ -5,7 +5,7 @@ mixin Elm.Interface.Atspi_Image ()
data: null;
methods {
@property extents @protected {
- get {
+ get @virtual_pure {
[[Gets an image extents.]]
}
keys {
@@ -37,7 +37,4 @@ mixin Elm.Interface.Atspi_Image ()
}
}
}
- implements {
- @virtual .extents.get;
- }
}
diff --git a/src/lib/elementary/elm_interface_atspi_widget_action.eo b/src/lib/elementary/elm_interface_atspi_widget_action.eo
index e93a422aa9..e374b06b4a 100644
--- a/src/lib/elementary/elm_interface_atspi_widget_action.eo
+++ b/src/lib/elementary/elm_interface_atspi_widget_action.eo
@@ -7,7 +7,7 @@ mixin Elm.Interface.Atspi_Widget_Action (Elm.Interface.Atspi_Action)
data: null;
methods {
@property elm_actions @protected {
- get {
+ get @virtual_pure {
}
values {
actions: const(Elm_Atspi_Action)*; [[NULL-terminated array of Elm_Atspi_Action]]
@@ -21,6 +21,5 @@ mixin Elm.Interface.Atspi_Widget_Action (Elm.Interface.Atspi_Action)
Elm.Interface.Atspi_Action.description.set;
Elm.Interface.Atspi_Action.description.get;
Elm.Interface.Atspi_Action.actions.get;
- @virtual .elm_actions.get;
}
}
diff --git a/src/lib/elementary/elm_web.eo b/src/lib/elementary/elm_web.eo
index 5c7205e059..b52ed0644f 100644
--- a/src/lib/elementary/elm_web.eo
+++ b/src/lib/elementary/elm_web.eo
@@ -18,7 +18,7 @@ class Elm.Web (Elm.Widget)
{
eo_prefix: elm_obj_web;
methods {
- @property text_matches_highlight {
+ @property text_matches_highlight @virtual_pure {
set {
[[Sets whether to highlight the matched marks.
@@ -34,7 +34,7 @@ class Elm.Web (Elm.Widget)
highlight: bool; [[Whether to highlight the marks or not.]]
}
}
- @property useragent {
+ @property useragent @virtual_pure {
set {
[[Change useragent of a elm_web object.]]
}
@@ -45,7 +45,7 @@ class Elm.Web (Elm.Widget)
user_agent: const(char)*; [[String for useragent.]]
}
}
- @property url {
+ @property url @virtual_pure {
set {
[[Sets the URL for the web object.
@@ -65,7 +65,7 @@ class Elm.Web (Elm.Widget)
url: const(char)*; [[The URL to set.]]
}
}
- @property bg_color {
+ @property bg_color @virtual_pure {
set {
[[Sets the background color to be used by the web object.
@@ -89,7 +89,7 @@ class Elm.Web (Elm.Widget)
a: int; [[Alpha component.]]
}
}
- @property inwin_mode {
+ @property inwin_mode @virtual_pure {
set {
[[Sets the default dialogs to use an Inwin instead of a
normal window.
@@ -106,7 +106,7 @@ class Elm.Web (Elm.Widget)
value: bool;
}
}
- @property tab_propagate {
+ @property tab_propagate @virtual_pure {
set {
[[Sets whether to use tab propagation.
@@ -124,7 +124,7 @@ class Elm.Web (Elm.Widget)
propagate: bool; [[Whether to propagate Tab keys to Elementary or not.]]
}
}
- @property history_enabled {
+ @property history_enabled @virtual_pure {
set {
[[Enables or disables the browsing history.]]
}
@@ -135,7 +135,7 @@ class Elm.Web (Elm.Widget)
enable: bool; [[Whether to enable or disable the browsing history.]]
}
}
- @property zoom_mode {
+ @property zoom_mode @virtual_pure {
set {
[[Sets the zoom mode to use.
@@ -162,7 +162,7 @@ class Elm.Web (Elm.Widget)
mode: Elm.Web.Zoom_Mode; [[The mode to set.]]
}
}
- @property zoom {
+ @property zoom @virtual_pure {
set {
[[Sets the zoom level of the web object.
@@ -188,7 +188,7 @@ class Elm.Web (Elm.Widget)
}
}
@property console_message_hook {
- set {
+ set @virtual_pure {
[[Sets the function to call when a console message is emitted
from JS.
@@ -203,7 +203,7 @@ class Elm.Web (Elm.Widget)
}
}
@property window_create_hook {
- set {
+ set @virtual_pure {
[[Sets the function to call when a new window is requested.
This hook will be called when a request to create a new
@@ -219,7 +219,7 @@ class Elm.Web (Elm.Widget)
}
}
@property dialog_file_selector_hook {
- set {
+ set @virtual_pure {
[[Sets the function to call when an file selector dialog.
This hook will be called when a JavaScript file selector
@@ -234,7 +234,7 @@ class Elm.Web (Elm.Widget)
}
}
@property dialog_confirm_hook {
- set {
+ set @virtual_pure {
[[Sets the function to call when an confirm dialog.
This hook will be called when a JavaScript confirm dialog is
@@ -248,7 +248,7 @@ class Elm.Web (Elm.Widget)
}
}
@property popup_selected {
- set {
+ set @virtual_pure {
[[Tells the web object which index in the currently open popup
was selected.
@@ -263,7 +263,7 @@ class Elm.Web (Elm.Widget)
}
}
@property dialog_prompt_hook {
- set {
+ set @virtual_pure {
[[Sets the function to call when an prompt dialog.
This hook will be called when a JavaScript prompt dialog is
@@ -277,7 +277,7 @@ class Elm.Web (Elm.Widget)
}
}
@property dialog_alert_hook {
- set {
+ set @virtual_pure {
[[Sets the function to call when an alert dialog.
This hook will be called when a JavaScript alert dialog is
@@ -291,13 +291,13 @@ class Elm.Web (Elm.Widget)
}
}
@property forward_possible {
- get {
+ get @virtual_pure {
[[Queries whether it's possible to go forward in history.]]
return: bool;
}
}
@property webkit_view {
- get {
+ get @virtual_pure {
[[Get internal ewk_view object from web object.
Elementary may not provide some low level features of EWebKit,
@@ -312,13 +312,13 @@ class Elm.Web (Elm.Widget)
}
}
@property back_possible {
- get {
+ get @virtual_pure {
[[Queries whether it's possible to go back in history.]]
return: bool;
}
}
@property load_progress {
- get {
+ get @virtual_pure {
[[Get the overall loading progress of the page.
Returns the estimated loading progress of the page, with a
@@ -330,7 +330,7 @@ class Elm.Web (Elm.Widget)
}
}
@property selection {
- get {
+ get @virtual_pure {
[[Get a copy of the currently selected text.
The string returned must be freed by the user when it's done
@@ -342,7 +342,7 @@ class Elm.Web (Elm.Widget)
}
}
@property title {
- get {
+ get @virtual_pure {
[[Get the current title.
The returned string must not be freed and is guaranteed to be
@@ -354,7 +354,7 @@ class Elm.Web (Elm.Widget)
]]
}
}
- navigate {
+ navigate @virtual_pure {
[[Jumps the given number of steps in the browsing history.
The $steps value can be a negative integer to back in history,
@@ -366,14 +366,14 @@ class Elm.Web (Elm.Widget)
@in steps: int; [[The number of steps to jump.]]
}
}
- back {
+ back @virtual_pure {
[[Goes back one step in the browsing history.
This is equivalent to calling elm_web_object_navigate(obj, -1);
]]
return: bool;
}
- html_string_load {
+ html_string_load @virtual_pure {
[[Loads the specified $html string as the content of the web
object.
@@ -393,7 +393,7 @@ class Elm.Web (Elm.Widget)
@in unreachable_url: const(char)* @optional; [[URL that could not be reached (optional).]]
}
}
- text_search @const {
+ text_search @const @virtual_pure {
[[Searches the given string in a document.]]
return: bool; [[$true if the given string was found, $false if not
or failure.]]
@@ -404,7 +404,7 @@ class Elm.Web (Elm.Widget)
@in wrap: bool; [[If search should wrap at the end.]]
}
}
- popup_destroy {
+ popup_destroy @virtual_pure {
[[Dismisses an open dropdown popup
When the popup from a dropdown widget is to be dismissed, either
@@ -416,7 +416,7 @@ class Elm.Web (Elm.Widget)
return: bool; [[$true if the menu was successfully destroyed, or
$false if there was no menu to destroy.]]
}
- region_show {
+ region_show @virtual_pure {
[[Shows the given region in the web object.]]
params {
@in x: int; [[The x coordinate of the region to show.]]
@@ -425,7 +425,7 @@ class Elm.Web (Elm.Widget)
@in h: int; [[The height of the region to show.]]
}
}
- forward {
+ forward @virtual_pure {
[[Goes forward one step in the browsing history.
This is equivalent to calling elm_web_object_navigate(obj, 1);
@@ -435,7 +435,7 @@ class Elm.Web (Elm.Widget)
]]
return: bool; [[$true on success, $false otherwise.]]
}
- text_matches_mark {
+ text_matches_mark @virtual_pure {
[[Marks matches of the given string in a document.]]
return: uint; [[Number of matched $string.]]
params {
@@ -445,7 +445,7 @@ class Elm.Web (Elm.Widget)
@in limit: uint; [[Maximum amount of matches, or zero to unlimited.]]
}
}
- region_bring_in {
+ region_bring_in @virtual_pure {
[[Brings in the region to the visible area.
Like @.region_show, but it animates the scrolling of the object
@@ -458,7 +458,7 @@ class Elm.Web (Elm.Widget)
@in h: int; [[The height of the region to show.]]
}
}
- stop {
+ stop @virtual_pure {
[[Stops loading the current page.
Cancels the loading of the current page in the web object. This
@@ -467,7 +467,7 @@ class Elm.Web (Elm.Widget)
]]
return: bool; [[$true if the cancel was successful, $false otherwise.]]
}
- navigate_possible_get {
+ navigate_possible_get @virtual_pure {
[[Queries whether it's possible to jump the given number of steps.
The $steps value can be a negative integer to back in history,
@@ -479,17 +479,17 @@ class Elm.Web (Elm.Widget)
@in steps: int; [[The number of steps to check for.]]
}
}
- reload_full {
+ reload_full @virtual_pure {
[[Requests a reload of the current document, avoiding any
existing caches.
]]
return: bool; [[$true on success, $false otherwise.]]
}
- text_matches_unmark_all {
+ text_matches_unmark_all @virtual_pure {
[[Clears all marked matches in the document.]]
return: bool; [[$true on success, $false otherwise.]]
}
- reload {
+ reload @virtual_pure {
[[Requests a reload of the current document in the object.]]
return: bool; [[$true on success, $false otherwise.]]
}
@@ -497,51 +497,6 @@ class Elm.Web (Elm.Widget)
implements {
class.constructor;
Eo.Base.constructor;
- @virtual .tab_propagate.get;
- @virtual .tab_propagate.set;
- @virtual .webkit_view.get;
- @virtual .window_create_hook.set;
- @virtual .dialog_alert_hook.set;
- @virtual .dialog_confirm_hook.set;
- @virtual .dialog_prompt_hook.set;
- @virtual .dialog_file_selector_hook.set;
- @virtual .console_message_hook.set;
- @virtual .useragent.set;
- @virtual .useragent.get;
- @virtual .url.set;
- @virtual .url.get;
- @virtual .html_string_load;
- @virtual .title.get;
- @virtual .bg_color.set;
- @virtual .bg_color.get;
- @virtual .selection.get;
- @virtual .popup_selected.set;
- @virtual .popup_destroy;
- @virtual .text_search;
- @virtual .text_matches_mark;
- @virtual .text_matches_unmark_all;
- @virtual .text_matches_highlight.set;
- @virtual .text_matches_highlight.get;
- @virtual .load_progress.get;
- @virtual .stop;
- @virtual .reload;
- @virtual .reload_full;
- @virtual .back;
- @virtual .forward;
- @virtual .navigate;
- @virtual .back_possible.get;
- @virtual .forward_possible.get;
- @virtual .navigate_possible_get;
- @virtual .history_enabled.get;
- @virtual .history_enabled.set;
- @virtual .zoom.set;
- @virtual .zoom.get;
- @virtual .zoom_mode.set;
- @virtual .zoom_mode.get;
- @virtual .region_show;
- @virtual .region_bring_in;
- @virtual .inwin_mode.set;
- @virtual .inwin_mode.get;
}
events {
uri,changed;
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index 2b8e727e3b..9406fafdda 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -417,7 +417,7 @@ abstract Elm.Widget (Evas.Object.Smart, Elm.Interface.Atspi_Accessible, Elm.Inte
}
}
@property parent_widget {
- get {
+ get @virtual_pure {
return: Evas.Object *;
legacy: null;
}
@@ -612,7 +612,7 @@ abstract Elm.Widget (Evas.Object.Smart, Elm.Interface.Atspi_Accessible, Elm.Inte
@in dir: Elm.Focus_Direction; [[Direction to move the focus.]]
}
}
- focus_direction {
+ focus_direction @virtual_pure {
[['Virtual' function handling passing focus to sub-objects given a direction, in degrees.]]
params {
@in base: const(Evas.Object)*;
@@ -736,7 +736,7 @@ abstract Elm.Widget (Evas.Object.Smart, Elm.Interface.Atspi_Accessible, Elm.Inte
}
focus_hide_handle {
}
- focus_next {
+ focus_next @virtual_pure {
[['Virtual' function handling passing focus to sub-objects.]]
params {
@in dir: Elm.Focus_Direction;
@@ -860,9 +860,6 @@ abstract Elm.Widget (Evas.Object.Smart, Elm.Interface.Atspi_Accessible, Elm.Inte
Evas.Object.Smart.member_add;
Evas.Object.Smart.resize;
Evas.Object.Smart.smart_no_render.set;
- @virtual .focus_direction;
- @virtual .focus_next;
- @virtual .parent_widget.get;
Elm.Interface.Atspi_Accessible.name.get;
Elm.Interface.Atspi_Accessible.state_set.get;
Elm.Interface.Atspi_Accessible.children.get;
diff --git a/src/lib/eolian/database_fill.c b/src/lib/eolian/database_fill.c
index 037199113a..c75f517789 100644
--- a/src/lib/eolian/database_fill.c
+++ b/src/lib/eolian/database_fill.c
@@ -62,25 +62,7 @@ _db_fill_implement(Eolian_Class *cl, Eolian_Implement *impl)
else if (impl->is_prop_set)
ftype = EOLIAN_PROP_SET;
- if (impl->is_virtual)
- {
- foo_id = (Eolian_Function*)eolian_class_function_get_by_name(cl,
- impl_name, ftype);
- if (!foo_id)
- return _func_error(cl, impl);
- if (impl->is_prop_set)
- foo_id->set_virtual_pure = EINA_TRUE;
- else
- foo_id->get_virtual_pure = EINA_TRUE;
-
- impl->full_name = eina_stringshare_printf("%s.%s", cl->full_name,
- impl_name);
- eina_stringshare_del(impl_name);
- impl_name = impl->full_name;
-
- _write_impl(foo_id, impl);
- }
- else if (impl->is_auto)
+ if (impl->is_auto)
{
if (!_get_impl_func(cl, impl, ftype, &foo_id))
return _func_error(cl, impl);
@@ -109,6 +91,14 @@ _db_fill_implement(Eolian_Class *cl, Eolian_Implement *impl)
else if (!_get_impl_func(cl, impl, ftype, &foo_id))
return _func_error(cl, impl);
+ if (foo_id && foo_id->klass == cl && eolian_function_is_virtual_pure(foo_id, ftype))
+ {
+ fprintf(stderr, "eolian:%s:%d:%d: impl of pure virtual '%s%s'\n",
+ impl->base.file, impl->base.line, impl->base.column, impl->full_name,
+ (impl->is_prop_get ? ".get" : (impl->is_prop_set ? ".set" : "")));
+ return EINA_FALSE;
+ }
+
pasttags:
if (impl_name[0] == '.')
{
@@ -148,9 +138,31 @@ _db_build_implement(Eolian_Class *cl, Eolian_Function *foo_id)
if (foo_id->type == EOLIAN_PROPERTY)
{
+ /* FIXME fugly hack, ideally rework the whole implements api altogether */
+ if (foo_id->get_virtual_pure && !foo_id->get_impl)
+ {
+ impl->is_virtual = EINA_TRUE;
+ impl->is_prop_get = EINA_TRUE;
+ foo_id->get_impl = impl;
+ cl->implements = eina_list_append(cl->implements, impl);
+ /* repeat for set */
+ _db_build_implement(cl, foo_id);
+ return;
+ }
+ else if (foo_id->set_virtual_pure && !foo_id->set_impl)
+ {
+ impl->is_virtual = EINA_TRUE;
+ impl->is_prop_set = EINA_TRUE;
+ foo_id->set_impl = impl;
+ cl->implements = eina_list_append(cl->implements, impl);
+ /* repeat for get */
+ _db_build_implement(cl, foo_id);
+ return;
+ }
if (foo_id->get_impl)
{
impl->is_prop_set = EINA_TRUE;
+ impl->is_virtual = foo_id->set_virtual_pure;
foo_id->set_impl = impl;
}
else if (foo_id->set_impl)
@@ -164,15 +176,20 @@ _db_build_implement(Eolian_Class *cl, Eolian_Function *foo_id)
else if (foo_id->type == EOLIAN_PROP_SET)
{
impl->is_prop_set = EINA_TRUE;
+ impl->is_virtual = foo_id->get_virtual_pure;
foo_id->set_impl = impl;
}
else if (foo_id->type == EOLIAN_PROP_GET)
{
impl->is_prop_get = EINA_TRUE;
+ impl->is_virtual = foo_id->set_virtual_pure;
foo_id->get_impl = impl;
}
else
- foo_id->get_impl = foo_id->set_impl = impl;
+ {
+ impl->is_virtual = foo_id->get_virtual_pure;
+ foo_id->get_impl = foo_id->set_impl = impl;
+ }
cl->implements = eina_list_append(cl->implements, impl);
}
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index c00f7f3b91..e84b3c1005 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -32,7 +32,7 @@ enum Tokens
KWAT(c_only), KWAT(class), KWAT(const), KWAT(empty), KWAT(extern), \
KWAT(free), KWAT(hot), KWAT(restart), KWAT(in), KWAT(inout), KWAT(nonull), KWAT(nullable), \
KWAT(optional), KWAT(out), KWAT(private), KWAT(property), \
- KWAT(protected), KWAT(virtual), KWAT(warn_unused), \
+ KWAT(protected), KWAT(virtual_pure), KWAT(warn_unused), \
\
KW(byte), KW(ubyte), KW(char), KW(short), KW(ushort), KW(int), KW(uint), \
KW(long), KW(ulong), KW(llong), KW(ullong), \
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 07b0864661..aac1ce4770 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1105,6 +1105,12 @@ parse_accessor(Eo_Lexer *ls, Eolian_Function *prop)
prop->type = EOLIAN_PROP_SET;
}
eo_lexer_get(ls);
+ if (ls->t.kw == KW_at_virtual_pure)
+ {
+ if (is_get) prop->get_virtual_pure = EINA_TRUE;
+ else prop->set_virtual_pure = EINA_TRUE;
+ eo_lexer_get(ls);
+ }
line = ls->line_number;
col = ls->column;
check_next(ls, '{');
@@ -1181,9 +1187,9 @@ end:
}
static void
-_interface_virtual_set(Eo_Lexer *ls, Eolian_Function *foo_id)
+_func_virtual_set(Eo_Lexer *ls, Eolian_Function *foo_id, Eina_Bool virt)
{
- if (ls->tmp.kls->type != EOLIAN_CLASS_INTERFACE)
+ if (ls->tmp.kls->type != EOLIAN_CLASS_INTERFACE && !virt)
return;
if (foo_id->type == EOLIAN_PROP_GET || foo_id->type == EOLIAN_METHOD)
@@ -1202,7 +1208,8 @@ parse_property(Eo_Lexer *ls)
Eina_Bool has_get = EINA_FALSE, has_set = EINA_FALSE,
has_keys = EINA_FALSE, has_values = EINA_FALSE,
has_protected = EINA_FALSE, has_class = EINA_FALSE,
- has_c_only = EINA_FALSE, has_beta = EINA_FALSE;
+ has_c_only = EINA_FALSE, has_beta = EINA_FALSE,
+ has_virtp = EINA_FALSE;
prop = calloc(1, sizeof(Eolian_Function));
prop->klass = ls->tmp.kls;
prop->type = EOLIAN_UNRESOLVED;
@@ -1233,6 +1240,10 @@ parse_property(Eo_Lexer *ls)
prop->is_beta = EINA_TRUE;
eo_lexer_get(ls);
break;
+ case KW_at_virtual_pure:
+ CASE_LOCK(ls, virtp, "virtual_pure qualifier");
+ eo_lexer_get(ls);
+ break;
default:
goto body;
}
@@ -1266,7 +1277,7 @@ end:
check_match(ls, '}', '{', line, col);
if (!has_get && !has_set)
prop->type = EOLIAN_PROPERTY;
- _interface_virtual_set(ls, prop);
+ _func_virtual_set(ls, prop, has_virtp);
}
static void
@@ -1278,7 +1289,7 @@ parse_method(Eo_Lexer *ls)
has_return = EINA_FALSE, has_legacy = EINA_FALSE,
has_protected = EINA_FALSE, has_class = EINA_FALSE,
has_eo = EINA_FALSE, has_c_only = EINA_FALSE,
- has_beta = EINA_FALSE;
+ has_beta = EINA_FALSE, has_virtp = EINA_FALSE;
meth = calloc(1, sizeof(Eolian_Function));
meth->klass = ls->tmp.kls;
meth->type = EOLIAN_METHOD;
@@ -1314,6 +1325,10 @@ parse_method(Eo_Lexer *ls)
meth->is_beta = EINA_TRUE;
eo_lexer_get(ls);
break;
+ case KW_at_virtual_pure:
+ CASE_LOCK(ls, virtp, "virtual_pure qualifier");
+ eo_lexer_get(ls);
+ break;
default:
goto body;
}
@@ -1356,7 +1371,7 @@ body:
}
end:
check_match(ls, '}', '{', line, col);
- _interface_virtual_set(ls, meth);
+ _func_virtual_set(ls, meth, has_virtp);
}
static void
@@ -1389,10 +1404,6 @@ parse_implement(Eo_Lexer *ls, Eina_Bool iface)
ls->tmp.kls->implements = eina_list_append(ls->tmp.kls->implements, impl);
switch (ls->t.kw)
{
- case KW_at_virtual:
- impl->is_virtual = EINA_TRUE;
- eo_lexer_get(ls);
- break;
case KW_at_auto:
impl->is_auto = EINA_TRUE;
eo_lexer_get(ls);
@@ -1406,15 +1417,12 @@ parse_implement(Eo_Lexer *ls, Eina_Bool iface)
}
if (ls->t.token == '.')
{
- if (!impl->is_virtual && !impl->is_auto && !impl->is_empty)
+ if (!impl->is_auto && !impl->is_empty)
goto fullclass;
check_next(ls, '.');
if ((ls->t.token != TOK_VALUE) || (ls->t.kw == KW_get || ls->t.kw == KW_set))
eo_lexer_syntax_error(ls, "name expected");
- if (impl->is_virtual)
- impl->full_name = eina_stringshare_ref(ls->t.value.s);
- else
- impl->full_name = eina_stringshare_printf(".%s", ls->t.value.s);
+ impl->full_name = eina_stringshare_printf(".%s", ls->t.value.s);
eo_lexer_get(ls);
if (ls->t.token == '.')
{
diff --git a/src/lib/evas/canvas/efl_canvas_surface.eo b/src/lib/evas/canvas/efl_canvas_surface.eo
index 3a78d2bc8a..e83c4ed001 100644
--- a/src/lib/evas/canvas/efl_canvas_surface.eo
+++ b/src/lib/evas/canvas/efl_canvas_surface.eo
@@ -16,7 +16,7 @@ mixin Efl.Canvas.Surface (Evas.Image)
Set to $null to detach this surface from the external buffer.
]]
get {}
- set {
+ set @virtual_pure {
[[Set the buffer. If this fails, this function returns $false,
and the surface is left without any attached buffer.
]]
@@ -29,6 +29,5 @@ mixin Efl.Canvas.Surface (Evas.Image)
}
implements {
Eo.Base.constructor;
- @virtual .native_buffer.set;
}
}
diff --git a/src/lib/evas/canvas/efl_vg.eo b/src/lib/evas/canvas/efl_vg.eo
index 48d0e663f9..b34f0bc1a8 100644
--- a/src/lib/evas/canvas/efl_vg.eo
+++ b/src/lib/evas/canvas/efl_vg.eo
@@ -80,7 +80,7 @@ abstract Efl.VG (Eo.Base, Efl.Gfx, Efl.Gfx.Stack)
Evas_VG_Quality q;
}
} */
- bounds_get {
+ bounds_get @virtual_pure {
[[Give the bounding box in screen coordinate as being drawn.
It will start as the control box until it is refined once the shape
@@ -124,6 +124,5 @@ abstract Efl.VG (Eo.Base, Efl.Gfx, Efl.Gfx.Stack)
Efl.Gfx.Stack.stack_above;
Efl.Gfx.Stack.raise;
Efl.Gfx.Stack.lower;
- @virtual .bounds_get;
}
}
diff --git a/src/lib/evas/canvas/evas_canvas3d_object.eo b/src/lib/evas/canvas/evas_canvas3d_object.eo
index 5d2b2d5fc5..75dadeed3b 100644
--- a/src/lib/evas/canvas/evas_canvas3d_object.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_object.eo
@@ -35,13 +35,13 @@ class Evas.Canvas3D.Object (Eo.Base, Evas.Common_Interface)
update {
[[Update request for the object.]]
}
- update_notify {
+ update_notify @virtual_pure {
[[Pure virtual update_notify function.
Update request for the object.]]
}
- change_notify {
+ change_notify @virtual_pure {
[[Pure virtual change_notify function.
Update request for the object.]]
@@ -50,14 +50,14 @@ class Evas.Canvas3D.Object (Eo.Base, Evas.Common_Interface)
@in ref: Evas.Canvas3D.Object *; [[The Object that caused the change.]]
}
}
- callback_register {
+ callback_register @virtual_pure {
[[Pure virtual register samrt callback function.]]
params {
@in event: const(char)*; [[Event type.]]
@in data: const(void)*; [[User data.]]
}
}
- callback_unregister {
+ callback_unregister @virtual_pure {
[[Pure virtual unregister smart callback function.]]
params {
@in event: const(char)*; [[Event type.]]
@@ -70,10 +70,6 @@ class Evas.Canvas3D.Object (Eo.Base, Evas.Common_Interface)
Eo.Base.event_callback_priority_add;
Eo.Base.event_callback_del;
Evas.Common_Interface.evas.get;
- @virtual .update_notify;
- @virtual .change_notify;
- @virtual .callback_register;
- @virtual .callback_unregister;
}
events {
clicked; [[Clicked Event.]]
diff --git a/src/lib/evas/canvas/evas_filter.eo b/src/lib/evas/canvas/evas_filter.eo
index 8383567987..d9e4d7ac56 100644
--- a/src/lib/evas/canvas/evas_filter.eo
+++ b/src/lib/evas/canvas/evas_filter.eo
@@ -22,11 +22,11 @@ mixin Evas.Filter (Efl.Gfx.Filter, Eo.Base)
val: bool;
}
}
- filter_input_alpha @protected {
+ filter_input_alpha @protected @virtual_pure {
[[Called by Evas.Filter to determine whether the input is alpha or rgba.]]
return: bool;
}
- filter_input_render @protected {
+ filter_input_render @protected @virtual_pure {
[[Called by Evas.Filter when the parent class must render the input.
;
]]
@@ -41,7 +41,7 @@ mixin Evas.Filter (Efl.Gfx.Filter, Eo.Base)
do_async: bool;
}
}
- filter_dirty @protected {
+ filter_dirty @protected @virtual_pure {
[[Called when the filter changes must trigger a redraw of the object.
Virtual, to be implemented in the parent class.
@@ -71,8 +71,5 @@ mixin Evas.Filter (Efl.Gfx.Filter, Eo.Base)
Efl.Gfx.Filter.filter_source.get;
Efl.Gfx.Filter.filter_data.get;
Efl.Gfx.Filter.filter_data.set;
- @virtual .filter_input_alpha;
- @virtual .filter_input_render;
- @virtual .filter_dirty;
}
}
diff --git a/src/tests/eolian/data/base.eo b/src/tests/eolian/data/base.eo
index 1b4ee4fc95..7fcd73e860 100644
--- a/src/tests/eolian/data/base.eo
+++ b/src/tests/eolian/data/base.eo
@@ -7,14 +7,11 @@ class Base {
c: float;
}
}
- constructor {
+ constructor @virtual_pure {
}
destructor {
}
}
- implements {
- @virtual .constructor;
- }
constructors {
.constructor;
}
diff --git a/src/tests/eolian/data/nmsp1_nmsp11_class2.eo b/src/tests/eolian/data/nmsp1_nmsp11_class2.eo
index 78c3414976..27dd47cb06 100644
--- a/src/tests/eolian/data/nmsp1_nmsp11_class2.eo
+++ b/src/tests/eolian/data/nmsp1_nmsp11_class2.eo
@@ -2,11 +2,8 @@ class nmsp1.nmsp11.class2
{
methods {
@property a {
- set {
+ set @virtual_pure {
}
}
}
- implements {
- @virtual .a.set;
- }
}
diff --git a/src/tests/eolian/data/object_impl.eo b/src/tests/eolian/data/object_impl.eo
index 17643a6719..96352615b7 100644
--- a/src/tests/eolian/data/object_impl.eo
+++ b/src/tests/eolian/data/object_impl.eo
@@ -19,7 +19,7 @@ class Object_Impl (Base) {
@property b {
set {
}
- get {
+ get @virtual_pure {
/* set as virtual pure - no implementation expected */
}
values {
@@ -50,7 +50,7 @@ class Object_Impl (Base) {
@in b: const(char)*;
}
}
- pure_foo3 {
+ pure_foo3 @virtual_pure {
/* set as virtual pure - no implementation expected */
}
}
@@ -59,8 +59,6 @@ class Object_Impl (Base) {
class.destructor;
Base.constructor;
Base.destructor;
- @virtual .pure_foo3;
- @virtual .b.get;
}
constructors {
.constructor_1;
diff --git a/src/tests/eolian/data/override.eo b/src/tests/eolian/data/override.eo
index 121efe91bd..7ab1f7124c 100644
--- a/src/tests/eolian/data/override.eo
+++ b/src/tests/eolian/data/override.eo
@@ -1,7 +1,7 @@
class Override (Base) {
methods {
@property a {
- set {
+ set @virtual_pure {
}
get {
}
@@ -32,7 +32,7 @@ class Override (Base) {
c: int(50);
}
}
- foo {
+ foo @virtual_pure {
}
bar {
params {
@@ -44,8 +44,6 @@ class Override (Base) {
}
implements {
Base.constructor;
- @virtual .a.set;
- @virtual .foo;
@auto .b.set;
@empty .bar;
@auto .c.get;
diff --git a/src/tests/eolian/data/override_ref.c b/src/tests/eolian/data/override_ref.c
index b910f71c85..bd8ff133e2 100644
--- a/src/tests/eolian/data/override_ref.c
+++ b/src/tests/eolian/data/override_ref.c
@@ -1,5 +1,3 @@
-EOAPI EO_VOID_FUNC_BODY(override_a_set);
-EOAPI EO_VOID_FUNC_BODY(override_foo);
static void __eolian_override_b_set(Eo *obj EINA_UNUSED, Override_Data *pd, int idx EINA_UNUSED, float a, char b, int c)
{
@@ -24,6 +22,7 @@ static int __eolian_override_c_get(Eo *obj EINA_UNUSED, Override_Data *pd EINA_U
}
EOAPI EO_FUNC_BODYV_CONST(override_c_get, int, 50, EO_FUNC_CALL(idx), int idx);
+EOAPI EO_VOID_FUNC_BODY(override_a_set);
void _override_a_get(Eo *obj, Override_Data *pd);
@@ -36,6 +35,7 @@ EOAPI EO_VOID_FUNC_BODYV_CONST(override_b_get, EO_FUNC_CALL(idx, a, b, c), int i
void _override_c_set(Eo *obj, Override_Data *pd, int idx, int c);
EOAPI EO_VOID_FUNC_BODYV(override_c_set, EO_FUNC_CALL(idx, c), int idx, int c);
+EOAPI EO_VOID_FUNC_BODY(override_foo);
void _override_base_constructor(Eo *obj, Override_Data *pd);
@@ -57,14 +57,14 @@ static const Eo_Op_Description _override_op_desc[] = {
EO_OP_FUNC_OVERRIDE(base_constructor, _override_base_constructor),
EO_OP_FUNC_OVERRIDE(base_z_get, __eolian_override_base_z_get),
EO_OP_FUNC_OVERRIDE(base_z_set, __eolian_override_base_z_set),
- EO_OP_FUNC(override_a_set, NULL),
- EO_OP_FUNC(override_foo, NULL),
EO_OP_FUNC(override_b_set, __eolian_override_b_set),
EO_OP_FUNC(override_bar, __eolian_override_bar),
EO_OP_FUNC(override_c_get, __eolian_override_c_get),
+ EO_OP_FUNC(override_a_set, NULL),
EO_OP_FUNC(override_a_get, _override_a_get),
EO_OP_FUNC(override_b_get, _override_b_get),
EO_OP_FUNC(override_c_set, _override_c_set),
+ EO_OP_FUNC(override_foo, NULL),
};
static const Eo_Class_Description _override_class_desc = {
@@ -78,4 +78,4 @@ static const Eo_Class_Description _override_class_desc = {
NULL
};
-EO_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL);
+EO_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL); \ No newline at end of file
diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c
index 874045d03c..f50af42d86 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -222,33 +222,6 @@ START_TEST(eolian_override)
fail_if(strcmp(eolian_function_name_get(impl_func), "constructor"));
fail_if(!(eina_iterator_next(iter, (void**)&impl)));
- fail_if(eolian_implement_is_auto(impl));
- fail_if(eolian_implement_is_empty(impl));
- fail_if(!eolian_implement_is_virtual(impl));
- fail_if(!(impl_class = eolian_implement_class_get(impl)));
- fail_if(!(impl_func = eolian_implement_function_get(impl, NULL)));
- fail_if(impl_class != class);
- fail_if(strcmp(eolian_function_name_get(impl_func), "a"));
- fail_if(eolian_function_is_auto(impl_func, EOLIAN_PROP_SET));
- fail_if(eolian_function_is_auto(impl_func, EOLIAN_PROP_GET));
- fail_if(eolian_function_is_empty(impl_func, EOLIAN_PROP_SET));
- fail_if(eolian_function_is_empty(impl_func, EOLIAN_PROP_GET));
- fail_if(!eolian_function_is_virtual_pure(impl_func, EOLIAN_PROP_SET));
- fail_if(eolian_function_is_virtual_pure(impl_func, EOLIAN_PROP_GET));
-
- fail_if(!(eina_iterator_next(iter, (void**)&impl)));
- fail_if(eolian_implement_is_auto(impl));
- fail_if(eolian_implement_is_empty(impl));
- fail_if(!eolian_implement_is_virtual(impl));
- fail_if(!(impl_class = eolian_implement_class_get(impl)));
- fail_if(!(impl_func = eolian_implement_function_get(impl, NULL)));
- fail_if(impl_class != class);
- fail_if(strcmp(eolian_function_name_get(impl_func), "foo"));
- fail_if(eolian_function_is_auto(impl_func, EOLIAN_METHOD));
- fail_if(eolian_function_is_empty(impl_func, EOLIAN_METHOD));
- fail_if(!eolian_function_is_virtual_pure(impl_func, EOLIAN_METHOD));
-
- fail_if(!(eina_iterator_next(iter, (void**)&impl)));
fail_if(!eolian_implement_is_auto(impl));
fail_if(eolian_implement_is_empty(impl));
fail_if(eolian_implement_is_virtual(impl));