PR# 19411 [er] Full class checking and VBAC-2

Problem Report Summary
Submitter: axarosenberg
Category: Compiler
Priority: High
Date: 2017/11/28
Class: Bug
Severity: Serious
Number: 19411
Release: 17.11
Confidential: No
Status: Open
Responsible:
Environment: win
Synopsis: [er] Full class checking and VBAC-2

Description
When compiling the code below in full_class_checking mode, we get a VBAC-2 error:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
VBAC(2)	Target of assigner call has no associated assigner command.	

Error: target of assigner call has no associated assigner command.
What to do: add an assigner mark to the declaration of the target feature
  or use a dot form of a call.

Class: B
Source class: A
Feature: f
Line: 7
      do
->      Current.item (1) := 2
      end	
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~		

I think that this is wrong. The code of feature `f' should first be unfolded in the context of class A, and then checked in the context of B. So the code which should be checked in the context of B should be:

   Current.put (2, 1)	

And this code is valid.

--
Eric Bezault
To Reproduce
~~~~~~~~~~~~~~~~~~~~~~~~~~
class TEST

create

	make

feature

	make
		local
			b: B
		do
			create b
			b.f
		end

end
~~~~~~~~~~~~~~~~~~~~~~~~~~
class A

feature

	f
		do
			Current.item (1) := 2
		end

	item (i: INTEGER): INTEGER assign put
		do
		end

	put (v: INTEGER; i: INTEGER)
		do
		end

end
~~~~~~~~~~~~~~~~~~~~~~~~~~
class B

inherit

	A
		redefine
			item
		end

feature

	item (i: INTEGER): INTEGER
		do
		end

end
~~~~~~~~~~~~~~~~~~~~~~~~~~
Problem Report Interactions