Bug mit Parameternamen beim Überschreiben #306
Labels
No Label
Codegen
confirmed
duplicate
Eclipse-Plugin
Feature Request
generics
in progress
invalid
JavaCompilerCore
needs info
Parser
Trash
Type
Unify
won't fix
works for me
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: JavaTX/JavaCompilerCore#306
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beim Überschreiben einer Methode der Oberklasse gibt es aktuell den Bug, dass die Parameter der erbenden Klasse die gleichen Namen wie die Parameter der Oberklasse haben müssen.
Beispiel:
Dieser Code führt zu der Fehlermeldung
Exception in thread "main" de.dhbwstuttgart.bytecode.CodeGenException: Unknown symbol 'b'
. Die Methodefoo(List<Integer> b);
scheint den Scope der Methodefoo(List<Integer> a);
der Oberklasse zu nutzen. So ist die lokale Variable a statt b in der Unterklasse bekannt.Wenn in der Unterklasse die add-Funktion also auf der Variable a aufgerufen wird, die es in dem Scope gar nicht geben sollte, kompiliert der Code: