public Iterator<Object> iterator(EStructuralFeature feature) { return feature instanceof EReference && ((EReference)feature).isResolveProxies() ? new ResolvingFeatureEIterator<Object>(feature, this) : new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> listIterator(EStructuralFeature feature) { return feature instanceof EReference && ((EReference)feature).isResolveProxies() ? new ResolvingFeatureEIterator<Object>(feature, this) : new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> listIterator(EStructuralFeature feature, int index) { ListIterator<Object> result = feature instanceof EReference && ((EReference)feature).isResolveProxies() ? new ResolvingFeatureEIterator<Object>(feature, this) : new FeatureEIterator<Object>(feature, this); for (int i = 0; i < index; ++i) { result.next(); } return result; } public ValueListIterator<Object> valueListIterator() { return new ValueListIteratorImpl<Object>(); } public ValueListIterator<Object> valueListIterator(int index) { return new ValueListIteratorImpl<Object>(index); } protected class ValueListIteratorImpl<E1> extends EListIterator<E1> implements ValueListIterator<E1> { public ValueListIteratorImpl() { super(); } public ValueListIteratorImpl(int index) { super(index); } public EStructuralFeature feature() { if (lastCursor == -1) { throw new IllegalStateException(); } return getEStructuralFeature(lastCursor); } @SuppressWarnings("unchecked") @Override public E1 next() { return (E1)doNext().getValue(); } @SuppressWarnings("unchecked") @Override public E1 previous() { return (E1)doPrevious().getValue(); } @Override public void add(E1 value) { doAdd(FeatureMapUtil.createEntry(feature(), value)); } public void add(EStructuralFeature eStructuralFeature, Object value) { doAdd(FeatureMapUtil.createEntry(eStructuralFeature, value)); } } /* public List subList(EStructuralFeature feature, int from, int to) { return null; } */ @SuppressWarnings("unchecked") public <T> EList<T> list(EStructuralFeature feature) { return FeatureMapUtil.isFeatureMap(feature) ? (EList<T>)new FeatureMapUtil.FeatureFeatureMap(feature, this): new FeatureMapUtil.FeatureEList<T>(feature, this); } public EStructuralFeature.Setting setting(EStructuralFeature feature) { return isMany(feature) ? (EStructuralFeature.Setting)list(feature) : (EStructuralFeature.Setting)new FeatureMapUtil.FeatureValue(feature, this); } public List<Object> basicList(final EStructuralFeature feature) { return new FeatureMapUtil.FeatureEList.Basic<Object>(feature, this); } public Iterator<Object> basicIterator(EStructuralFeature feature) { return new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> basicListIterator(EStructuralFeature feature) { return new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> basicListIterator(EStructuralFeature feature, int index) { ListIterator<Object> result = new FeatureEIterator<Object>(feature, this); for (int i = 0; i < index; ++i) { result.next(); } return result; } public Object[] toArray(EStructuralFeature feature) { return toArray(feature, isResolveProxies(feature)); } public Object[] basicToArray(EStructuralFeature feature) { return toArray(feature, false);
public Iterator<Object> iterator(EStructuralFeature feature) { return feature instanceof EReference && ((EReference)feature).isResolveProxies() ? new ResolvingFeatureEIterator<Object>(feature, this) : new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> listIterator(EStructuralFeature feature) { return feature instanceof EReference && ((EReference)feature).isResolveProxies() ? new ResolvingFeatureEIterator<Object>(feature, this) : new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> listIterator(EStructuralFeature feature, int index) { ListIterator<Object> result = feature instanceof EReference && ((EReference)feature).isResolveProxies() ? new ResolvingFeatureEIterator<Object>(feature, this) : new FeatureEIterator<Object>(feature, this); for (int i = 0; i < index; ++i) { result.next(); } return result; } public ValueListIterator<Object> valueListIterator() { return new ValueListIteratorImpl<Object>(); } public ValueListIterator<Object> valueListIterator(int index) { return new ValueListIteratorImpl<Object>(index); } protected class ValueListIteratorImpl<E> extends EListIterator<E> implements ValueListIterator<E> { public ValueListIteratorImpl() { super(); } public ValueListIteratorImpl(int index) { super(index); } public EStructuralFeature feature() { if (lastCursor == -1) { throw new IllegalStateException(); } return getEStructuralFeature(lastCursor); } @SuppressWarnings("unchecked") @Override public E next() { return (E)doNext().getValue(); } @SuppressWarnings("unchecked") @Override public E previous() { return (E)doPrevious().getValue(); } @Override public void add(E value) { doAdd(FeatureMapUtil.createEntry(feature(), value)); } public void add(EStructuralFeature eStructuralFeature, Object value) { doAdd(FeatureMapUtil.createEntry(eStructuralFeature, value)); } } /* public List subList(EStructuralFeature feature, int from, int to) { return null; } */ @SuppressWarnings("unchecked") public <T> EList<T> list(EStructuralFeature feature) { return FeatureMapUtil.isFeatureMap(feature) ? (EList<T>)new FeatureMapUtil.FeatureFeatureMap(feature, this) : new FeatureMapUtil.FeatureEList<T>(feature, this); } public EStructuralFeature.Setting setting(EStructuralFeature feature) { return isMany(feature) ? (EStructuralFeature.Setting)list(feature) : (EStructuralFeature.Setting)new FeatureMapUtil.FeatureValue(feature, this); } public List<Object> basicList(EStructuralFeature feature) { return new FeatureMapUtil.FeatureEList.Basic<Object>(feature, this); } public Iterator<Object> basicIterator(EStructuralFeature feature) { return new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> basicListIterator(EStructuralFeature feature) { return new FeatureEIterator<Object>(feature, this); } public ListIterator<Object> basicListIterator(EStructuralFeature feature, int index) { ListIterator<Object> result = new FeatureEIterator<Object>(feature, this); for (int i = 0; i < index; ++i) { result.next(); } return result; } public Object[] toArray(EStructuralFeature feature) { return toArray(feature, isResolveProxies(feature)); } public Object[] basicToArray(EStructuralFeature feature) { return toArray(feature, false);
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/BasicFeatureMap.java File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/DelegatingFeatureMap.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public Iterator<Object> iterator(EStructuralFeature feature)
1
public Iterator<Object> iterator(EStructuralFeature feature)
2
  {
2
  {
3
    return 
3
    return 
4
      feature instanceof EReference && ((EReference)feature).isResolveProxies() ?
4
      feature instanceof EReference && ((EReference)feature).isResolveProxies() ?
5
        new ResolvingFeatureEIterator<Object>(feature, this) :
5
        new ResolvingFeatureEIterator<Object>(feature, this) :
6
        new FeatureEIterator<Object>(feature, this);
6
        new FeatureEIterator<Object>(feature, this);
7
  }
7
  }
8
  public ListIterator<Object> listIterator(EStructuralFeature feature)
8
  public ListIterator<Object> listIterator(EStructuralFeature feature)
9
  {
9
  {
10
    return 
10
    return 
11
      feature instanceof EReference && ((EReference)feature).isResolveProxies() ?
11
      feature instanceof EReference && ((EReference)feature).isResolveProxies() ?
12
        new ResolvingFeatureEIterator<Object>(feature, this) :
12
        new ResolvingFeatureEIterator<Object>(feature, this) :
13
        new FeatureEIterator<Object>(feature, this);
13
        new FeatureEIterator<Object>(feature, this);
14
  }
14
  }
15
  public ListIterator<Object> listIterator(EStructuralFeature feature, int index)
15
  public ListIterator<Object> listIterator(EStructuralFeature feature, int index)
16
  {
16
  {
17
    ListIterator<Object> result =
17
    ListIterator<Object> result =
18
      feature instanceof EReference && ((EReference)feature).isResolveProxies() ?
18
      feature instanceof EReference && ((EReference)feature).isResolveProxies() ?
19
        new ResolvingFeatureEIterator<Object>(feature, this) :
19
        new ResolvingFeatureEIterator<Object>(feature, this) :
20
        new FeatureEIterator<Object>(feature, this);
20
        new FeatureEIterator<Object>(feature, this);
21
    for (int i = 0; i < index; ++i)
21
    for (int i = 0; i < index; ++i)
22
    {
22
    {
23
      result.next();
23
      result.next();
24
    }
24
    }
25
    return result;
25
    return result;
26
  }
26
  }
27
  public ValueListIterator<Object> valueListIterator()
27
  public ValueListIterator<Object> valueListIterator()
28
  {
28
  {
29
    return new ValueListIteratorImpl<Object>();
29
    return new ValueListIteratorImpl<Object>();
30
  }
30
  }
31
  
31
  
32
  public ValueListIterator<Object> valueListIterator(int index)
32
  public ValueListIterator<Object> valueListIterator(int index)
33
  {
33
  {
34
    return new ValueListIteratorImpl<Object>(index);
34
    return new ValueListIteratorImpl<Object>(index);
35
  }
35
  }
36
  
36
  
37
  protected class ValueListIteratorImpl<E1> extends EListIterator<E1> implements ValueListIterator<E1>
37
  protected class ValueListIteratorImpl<E> extends EListIterator<E> implements ValueListIterator<E>
38
  {
38
  {
39
    public ValueListIteratorImpl()
39
    public ValueListIteratorImpl()
40
    {
40
    {
41
      super();
41
      super();
42
    }
42
    }
43
    
43
    
44
    public ValueListIteratorImpl(int index)
44
    public ValueListIteratorImpl(int index)
45
    {
45
    {
46
      super(index);
46
      super(index);
47
    }
47
    }
48
    
48
    
49
    public EStructuralFeature feature()
49
    public EStructuralFeature feature()
50
    {
50
    {
51
      if (lastCursor == -1)
51
      if (lastCursor == -1)
52
      {
52
      {
53
        throw new IllegalStateException();
53
        throw new IllegalStateException();
54
      }
54
      }
55
      return getEStructuralFeature(lastCursor);
55
      return getEStructuralFeature(lastCursor);
56
    }
56
    }
57
    
57
    
58
    @SuppressWarnings("unchecked")
58
    @SuppressWarnings("unchecked")
59
    @Override
59
    @Override
60
    public E1 next()
60
    public E next()
61
    {
61
    {
62
      return (E1)doNext().getValue();
62
      return (E)doNext().getValue();
63
    }
63
    }
64
    
64
    
65
    @SuppressWarnings("unchecked")
65
    @SuppressWarnings("unchecked")
66
    @Override
66
    @Override
67
    public E1 previous()
67
    public E previous()
68
    {
68
    {
69
      return (E1)doPrevious().getValue();
69
      return (E)doPrevious().getValue();
70
    }
70
    }
71
    @Override
71
    @Override
72
    public void add(E1 value)
72
    public void add(E value)
73
    {
73
    {
74
      doAdd(FeatureMapUtil.createEntry(feature(), value));
74
      doAdd(FeatureMapUtil.createEntry(feature(), value));
75
    }
75
    }
76
    
76
    
77
    public void add(EStructuralFeature eStructuralFeature, Object value)
77
    public void add(EStructuralFeature eStructuralFeature, Object value)
78
    {
78
    {
79
      doAdd(FeatureMapUtil.createEntry(eStructuralFeature, value));
79
      doAdd(FeatureMapUtil.createEntry(eStructuralFeature, value));
80
    }
80
    }
81
  }
81
  }
82
  
83
/*
82
/*
84
  public List subList(EStructuralFeature feature, int from, int to)
83
  public List subList(EStructuralFeature feature, int from, int to)
85
  {
84
  {
86
    return null;
85
    return null;
87
  }
86
  }
88
*/
87
*/
89
  @SuppressWarnings("unchecked")
88
  @SuppressWarnings("unchecked")
90
  public <T> EList<T> list(EStructuralFeature feature)
89
  public <T> EList<T> list(EStructuralFeature feature)
91
  {
90
  {
92
    return 
91
    return
93
      FeatureMapUtil.isFeatureMap(feature) ? 
92
      FeatureMapUtil.isFeatureMap(feature) ?
94
        (EList<T>)new FeatureMapUtil.FeatureFeatureMap(feature, this):
93
        (EList<T>)new FeatureMapUtil.FeatureFeatureMap(feature, this) :
95
        new FeatureMapUtil.FeatureEList<T>(feature, this);
94
        new FeatureMapUtil.FeatureEList<T>(feature, this);
96
  }
95
  }
97
  public EStructuralFeature.Setting setting(EStructuralFeature feature)
96
  public EStructuralFeature.Setting setting(EStructuralFeature feature)
98
  {
97
  {
99
    return 
98
    return 
100
      isMany(feature) ?
99
      isMany(feature) ?
101
        (EStructuralFeature.Setting)list(feature) :
100
        (EStructuralFeature.Setting)list(feature) :
102
        (EStructuralFeature.Setting)new FeatureMapUtil.FeatureValue(feature, this);
101
        (EStructuralFeature.Setting)new FeatureMapUtil.FeatureValue(feature, this);
103
  }
102
  }
104
  public List<Object> basicList(final EStructuralFeature feature)
103
  public List<Object> basicList(EStructuralFeature feature)
105
  {
104
  {
106
    return new FeatureMapUtil.FeatureEList.Basic<Object>(feature, this);
105
    return new FeatureMapUtil.FeatureEList.Basic<Object>(feature, this);
107
  }
106
  }
108
  public Iterator<Object> basicIterator(EStructuralFeature feature)
107
  public Iterator<Object> basicIterator(EStructuralFeature feature)
109
  {
108
  {
110
    return new FeatureEIterator<Object>(feature, this);
109
    return new FeatureEIterator<Object>(feature, this);
111
  }
110
  }
112
  public ListIterator<Object> basicListIterator(EStructuralFeature feature)
111
  public ListIterator<Object> basicListIterator(EStructuralFeature feature)
113
  {
112
  {
114
    return new FeatureEIterator<Object>(feature, this);
113
    return new FeatureEIterator<Object>(feature, this);
115
  }
114
  }
116
  public ListIterator<Object> basicListIterator(EStructuralFeature feature, int index)
115
  public ListIterator<Object> basicListIterator(EStructuralFeature feature, int index)
117
  {
116
  {
118
    ListIterator<Object> result = new FeatureEIterator<Object>(feature, this);
117
    ListIterator<Object> result = new FeatureEIterator<Object>(feature, this);
119
    for (int i = 0; i < index; ++i)
118
    for (int i = 0; i < index; ++i)
120
    {
119
    {
121
      result.next();
120
      result.next();
122
    }
121
    }
123
    return result;
122
    return result;
124
  }
123
  }
125
  public Object[] toArray(EStructuralFeature feature)
124
  public Object[] toArray(EStructuralFeature feature)
126
  {
125
  {
127
    return toArray(feature, isResolveProxies(feature));
126
    return toArray(feature, isResolveProxies(feature));
128
  }
127
  }
129
  public Object[] basicToArray(EStructuralFeature feature)
128
  public Object[] basicToArray(EStructuralFeature feature)
130
  {
129
  {
131
    return toArray(feature, false);
130
    return toArray(feature, false);
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0