Skip to content

Commit 0fb1615

Browse files
committed
Issue #48 - Made getNamesOfMember return Collection instead of List.
- This allows an implementation to, e.g.., return a set to improve performance of searching over the collection.
1 parent 1f13952 commit 0fb1615

File tree

5 files changed

+7
-5
lines changed

5 files changed

+7
-5
lines changed

org.modeldriven.alf.fuml.impl/src/org/modeldriven/alf/fuml/impl/uml/NamedElement.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
package org.modeldriven.alf.fuml.impl.uml;
1010

1111
import java.util.ArrayList;
12+
import java.util.Collection;
1213
import java.util.List;
1314

1415
public abstract class NamedElement extends Element implements
@@ -70,8 +71,8 @@ public boolean isDistinguishableFrom(org.modeldriven.alf.uml.NamedElement otherE
7071
org.modeldriven.alf.uml.Namespace namespace) {
7172
if (this.getClass().isAssignableFrom(otherElement.getClass()) ||
7273
otherElement.getClass().isAssignableFrom(this.getClass())) {
73-
List<String> names = namespace.getNamesOfMember(this);
74-
names.removeAll(namespace.getNamesOfMember(otherElement));
74+
Collection<String> names = namespace.getNamesOfMember(this);
75+
names.retainAll(namespace.getNamesOfMember(otherElement));
7576
return names.isEmpty();
7677
} else {
7778
return true;
560 Bytes
Binary file not shown.

org.modeldriven.alf/src/org/modeldriven/alf/syntax/common/impl/ExternalElementReferenceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ public List<Member> getInheritableMembers() {
483483
if (this.isClassifier()) {
484484
Classifier classifier = this.asClassifier();
485485
for (NamedElement element: classifier.inheritableMembers()) {
486-
List<String> names = classifier.getNamesOfMember(element);
486+
Collection<String> names = classifier.getNamesOfMember(element);
487487
if (names.isEmpty()) {
488488
names = Collections.singletonList(element.getName());
489489
}

org.modeldriven.alf/src/org/modeldriven/alf/syntax/units/impl/ExternalNamespaceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ protected Collection<Member> deriveMember() {
116116
List<Member> members = this.getTemplateParameterMembers();
117117
Namespace umlNamespace = this.getSelf().getUmlNamespace();
118118
for (NamedElement member: umlNamespace.getMember()) {
119-
List<String> names = umlNamespace.getNamesOfMember(member);
119+
Collection<String> names = umlNamespace.getNamesOfMember(member);
120120
if (names.isEmpty()) {
121121
members.add(ImportedMemberImpl.makeImportedMember(
122122
member.getName(), member, self));

org.modeldriven.alf/src/org/modeldriven/alf/uml/Namespace.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*******************************************************************************/
99
package org.modeldriven.alf.uml;
1010

11+
import java.util.Collection;
1112
import java.util.List;
1213

1314
public interface Namespace extends NamedElement {
@@ -25,7 +26,7 @@ public interface Namespace extends NamedElement {
2526

2627
public List<PackageableElement> getImportedMember();
2728

28-
public List<String> getNamesOfMember(NamedElement member);
29+
public Collection<String> getNamesOfMember(NamedElement member);
2930

3031
public List<NamedElement> resolveInScope(String name, boolean classifierOnly);
3132
}

0 commit comments

Comments
 (0)