Commit [ba8d0c] Maximize Restore History

Added support for 'alias "()"'.

Eric Bezault Eric Bezault 2014-03-05

1 2 3 .. 6 > >> (Page 1 of 6)
changed History.txt
changed library
changed library/tools
changed library/tools/eiffel
changed library/tools/eiffel/ast
changed library/tools/eiffel/ast/expression
changed library/tools/eiffel/ast/expression/et_call_expression.e
changed library/tools/eiffel/ast/expression/et_feature_call_expression.e
changed library/tools/eiffel/ast/expression/et_precursor_expression.e
changed library/tools/eiffel/ast/expression/et_static_call_expression.e
changed library/tools/eiffel/ast/feature
changed library/tools/eiffel/ast/feature/et_feature.e
changed library/tools/eiffel/ast/instruction
changed library/tools/eiffel/ast/instruction/et_call_instruction.e
changed library/tools/eiffel/ast/instruction/et_feature_call.e
changed library/tools/eiffel/ast/instruction/et_precursor_instruction.e
changed library/tools/eiffel/ast/instruction/et_regular_feature_call.e
changed library/tools/eiffel/ast/instruction/et_static_call_instruction.e
changed library/tools/eiffel/ast/instruction/et_static_feature_call.e
changed library/tools/eiffel/ast/misc
changed library/tools/eiffel/ast/misc/et_token_codes.e
changed library/tools/eiffel/ast/misc/et_token_constants.e
changed library/tools/eiffel/ast/name
copied library/tools/eiffel/ast/instruction/et_precursor.e -> library/tools/eiffel/ast/instruction/et_precursor_call.e
History.txt Diff Switch to side-by-side view
Loading...
library
Directory.
library/tools
Directory.
library/tools/eiffel/ast/expression/et_call_expression.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/expression/et_feature_call_expression.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/expression/et_precursor_expression.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/expression/et_static_call_expression.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/feature/et_feature.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/instruction/et_call_instruction.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/instruction/et_feature_call.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/instruction/et_precursor_instruction.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/instruction/et_regular_feature_call.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/instruction/et_static_call_instruction.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/instruction/et_static_feature_call.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/misc/et_token_codes.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/misc/et_token_constants.e Diff Switch to side-by-side view
Loading...
library/tools/eiffel/ast/instruction/et_precursor.e to library/tools/eiffel/ast/instruction/et_precursor_call.e
--- a/library/tools/eiffel/ast/instruction/et_precursor.e
+++ b/library/tools/eiffel/ast/instruction/et_precursor_call.e
@@ -5,12 +5,12 @@
 		"Eiffel precursor calls"
 
 	library: "Gobo Eiffel Tools Library"
-	copyright: "Copyright (c) 1999-2002, Eric Bezault and others"
+	copyright: "Copyright (c) 1999-2014, Eric Bezault and others"
 	license: "MIT License"
 	date: "$Date$"
 	revision: "$Revision$"
 
-deferred class ET_PRECURSOR
+deferred class ET_PRECURSOR_CALL
 
 inherit
 
@@ -44,6 +44,7 @@
 			if arguments /= Void then
 				arguments.reset
 			end
+			parenthesis_call := Void
 		end
 
 feature -- Access
@@ -60,6 +61,11 @@
 	parent_type: ET_BASE_TYPE
 			-- Parent type;
 			-- Void if not resolved yet.
+
+	parenthesis_call: detachable ET_REGULAR_FEATURE_CALL
+			-- Unfolded form when the current precursor call is of the parenthesis alias form;
+			-- For example, if the current precursor call is 'precursor (args)', its parenthesis call
+			-- will be 'precursor.g (args)' where 'g' is declared as 'g alias "()"'.
 
 	position: ET_POSITION
 			-- Position of first character of
@@ -126,6 +132,21 @@
 			parent_type_set: parent_type = a_parent_type
 		end
 
+	set_parenthesis_call (a_target: ET_EXPRESSION; a_name: ET_PARENTHESIS_SYMBOL; a_arguments: ET_ACTUAL_ARGUMENT_LIST)
+			-- Set `parenthesis_call' with `a_target', `a_name' and `a_arguments'.
+		require
+			a_target_not_void: a_target /= Void
+			a_name_not_void: a_name /= Void
+			a_arguments_not_void: a_arguments /= Void
+			a_arguments_not_empty: a_arguments.count > 0
+		deferred
+		ensure
+			parenthesis_call_set: attached parenthesis_call as l_parenthesis_call
+			target_set: l_parenthesis_call.target = a_target
+			name_set: l_parenthesis_call.name = a_name
+			arguments_set: l_parenthesis_call.arguments = a_arguments
+		end
+
 feature -- Status report
 
 	is_parent_prefixed: BOOLEAN
1 2 3 .. 6 > >> (Page 1 of 6)