BUG: ClassView Incorrectly Allows Non-Abstract/Abstract Method

SYMPTOMS

ClassView allows you to add methods that use the abstract modifier to non-abstract classes. In Visual J++ 1.0 it also allows you to add methods thatdo not use the abstract modifier to interfaces. As a result, errors occurwhen you compile the source code. ClassView should not allow thesescenarios.

RESOLUTION

Avoid adding methods that use ClassView in this manner.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft productslisted at the beginning of this article. We are researching this problemand will post new information here in the Microsoft Knowledge Base as itbecomes available.

MORE INFORMATION

Steps to Reproduce Behavior

In Visual J++ 1.0, add the following interface definition to an AppWizard-generated Java applet:

interface Test{}

Save the changes to the file, and view the ClassView tab of the Project Workspace window. The "new" interface Test appears in the project "classes" display. In the ClassView pane, right-click "interface Test" to open the context menu. Use the context menu to add a non-abstract class method to the interface Test. Invalid Java code is generated that can cause various compile-time errors.

In either Visual J++ 1.0 or 1.1, add the following class definition to anAppWizard-generated Java applet:

class Test1{}

Save the changes to the file, and view the ClassView tab of the Project Workspace window. The "new" class Test1 appears in the project "classes" display. In the ClassView pane, right-click "class Test1" to open the context menu. Use the context menu to add an abstract class method to the class Test1. Invalid Java code is generated that can cause various compile-time errors.

REFERENCES

For the support information onVisual J++ and the SDK for Java, see the following page on the MicrosoftTechnical Support site: