/[eiffelstudio]/branches/eth/eve/Src/Eiffel/API/error/eiffel/feature/unused_local_warning.e
ViewVC logotype

Diff of /branches/eth/eve/Src/Eiffel/API/error/eiffel/feature/unused_local_warning.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 94982 by jasonw, Mon Jan 21 13:30:30 2013 UTC revision 94983 by jasonw, Fri May 2 11:05:28 2014 UTC
# Line 10  class UNUSED_LOCAL_WARNING Line 10  class UNUSED_LOCAL_WARNING
10  inherit  inherit
11          EIFFEL_WARNING          EIFFEL_WARNING
12                  redefine                  redefine
13                          help_file_name, build_explain, trace_primary_context,                          build_explain,
14                          print_single_line_error_message                          fix_option,
15                            help_file_name,
16                            print_single_line_error_message,
17                            trace_primary_context
18                  end                  end
19    
20            SHARED_NAMES_HEAP
21    
22  create  create
23          make          make
24    
# Line 37  feature -- Properties Line 42  feature -- Properties
42          associated_feature: E_FEATURE          associated_feature: E_FEATURE
43                          -- Feature containing the unused local variable                          -- Feature containing the unused local variable
44    
45          unused_locals: LINKED_LIST [TUPLE [name: STRING; type: TYPE_A]]          unused_locals: LINKED_LIST [TUPLE [name: INTEGER_32; type: TYPE_A]]
46                          -- List of unused local names and type.                          -- List of unused local names and type.
47    
48          code: STRING = "Unused_local_warning"          code: STRING = "Unused_local_warning"
# Line 50  feature -- Output Line 55  feature -- Output
55    
56          build_explain (a_text_formatter: TEXT_FORMATTER)          build_explain (a_text_formatter: TEXT_FORMATTER)
57                  local                  local
58                          l_name: STRING                          l_name: INTEGER_32
59                          l_type: TYPE_A                          l_type: TYPE_A
60                          l_group: CONF_GROUP                          l_group: CONF_GROUP
61                  do                  do
# Line 77  feature -- Output Line 82  feature -- Output
82                                  l_name := unused_locals.item.name                                  l_name := unused_locals.item.name
83                                  l_type := unused_locals.item.type                                  l_type := unused_locals.item.type
84                                  check                                  check
85                                          l_name_not_void: l_name /= Void                                          valid_l_name: names_heap.valid_index (l_name)
86                                          l_type_not_void: l_type /= Void                                          l_type_not_void: l_type /= Void
87                                  end                                  end
88                                  a_text_formatter.add_indent                                  a_text_formatter.add_indent
89                                  a_text_formatter.add (l_name)                                  a_text_formatter.add (names_heap.item_32 (l_name))
90                                  a_text_formatter.add (": ")                                  a_text_formatter.add (": ")
91                                  l_type.append_to (a_text_formatter)                                  l_type.append_to (a_text_formatter)
92                                  a_text_formatter.add_new_line                                  a_text_formatter.add_new_line
# Line 104  feature -- Output Line 109  feature -- Output
109                          end                          end
110                  end                  end
111    
112    feature -- Automated correction
113    
114            fix_option: detachable ITERABLE [FIX [TEXT_FORMATTER]]
115                            -- <Precursor>
116                    do
117                            if not associated_class.lace_class.is_read_only then
118                                    create {SPECIAL [FIX [TEXT_FORMATTER]]} Result.make_filled
119                                            (create {FIX_UNUSED_LOCAL}.make (Current), 1)
120                            end
121                    end
122    
123  feature {NONE} -- Output  feature {NONE} -- Output
124    
125          print_single_line_error_message (a_text_formatter: TEXT_FORMATTER)          print_single_line_error_message (a_text_formatter: TEXT_FORMATTER)
# Line 121  feature {NONE} -- Output Line 137  feature {NONE} -- Output
137                          l_cursor := l_locals.cursor                          l_cursor := l_locals.cursor
138                          from l_locals.start until l_locals.after loop                          from l_locals.start until l_locals.after loop
139                                  l_text.append_character ('`')                                  l_text.append_character ('`')
140                                  l_text.append_string_general (l_locals.item.name)                                  l_text.append_string_general (names_heap.item_32 (l_locals.item.name))
141                                  l_text.append_character ('%'')                                  l_text.append_character ('%'')
142                                  if not l_locals.islast then                                  if not l_locals.islast then
143                                          l_text.append_string_general (", ")                                          l_text.append_string_general (", ")
# Line 135  feature {NONE} -- Output Line 151  feature {NONE} -- Output
151    
152  feature {COMPILER_EXPORTER}  feature {COMPILER_EXPORTER}
153    
154          add_unused_local (s: STRING; t: TYPE_A)          add_unused_local (s: INTEGER_32; t: TYPE_A)
155                          -- Extend `unused_locals' with unused local `s' of type `t'.                          -- Extend `unused_locals' with unused local `s' of type `t'.
156                  require                  require
157                          s_not_void: s /= Void                          valid_name: names_heap.valid_index (s)
158                          t_not_void: t /= Void                          t_not_void: t /= Void
159                  do                  do
160                          unused_locals.extend ([s, t])                          unused_locals.extend ([s, t])
# Line 152  invariant Line 168  invariant
168          unused_locals_not_void: unused_locals /= Void          unused_locals_not_void: unused_locals /= Void
169    
170  note  note
171          copyright:      "Copyright (c) 1984-2013, Eiffel Software"          copyright:      "Copyright (c) 1984-2014, Eiffel Software"
172          license:        "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"          license:        "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
173          licensing_options:      "http://www.eiffel.com/licensing"          licensing_options:      "http://www.eiffel.com/licensing"
174          copying: "[          copying: "[

Legend:
Removed from v.94982  
changed lines
  Added in v.94983

  ViewVC Help
Powered by ViewVC 1.1.23