protected boolean eIsCaching() { return true; } @Override public Object dynamicGet(int dynamicFeatureID) { Object result = eSettings[dynamicFeatureID]; if (result == null) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (!eStructuralFeature.isTransient()) { if (FeatureMapUtil.isFeatureMap(eStructuralFeature)) { eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature); } else if (eStructuralFeature.isMany()) { eSettings[dynamicFeatureID] = result = createList(eStructuralFeature); } else { result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX); if (eIsCaching()) { eSettings[dynamicFeatureID] = result; } } } } return result; } @Override public void dynamicSet(int dynamicFeatureID, Object value) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (eStructuralFeature.isTransient()) { eSettings[dynamicFeatureID] = value; } else { eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value == NIL ? null : value); if (eIsCaching()) { eSettings[dynamicFeatureID] = value; } } } @Override public void dynamicUnset(int dynamicFeatureID) { eStore().unset(this, eDynamicFeature(dynamicFeatureID)); eSettings[dynamicFeatureID] = null;
protected boolean eIsCaching() { return true; } public Object dynamicGet(int dynamicFeatureID) { Object result = eSettings[dynamicFeatureID]; if (result == null) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (!eStructuralFeature.isTransient()) { if (FeatureMapUtil.isFeatureMap(eStructuralFeature)) { eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature); } else if (eStructuralFeature.isMany()) { eSettings[dynamicFeatureID] = result = createList(eStructuralFeature); } else { result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX); if (eIsCaching()) { eSettings[dynamicFeatureID] = result; } } } } return result; } public void dynamicSet(int dynamicFeatureID, Object value) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (eStructuralFeature.isTransient()) { eSettings[dynamicFeatureID] = value; } else { eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value == NIL ? null : value); if (eIsCaching()) { eSettings[dynamicFeatureID] = value; } } } public void dynamicUnset(int dynamicFeatureID) { eStore().unset(this, eDynamicFeature(dynamicFeatureID)); eSettings[dynamicFeatureID] = null;
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/impl/DynamicEStoreEObjectImpl.java File path: /emf-2.4.1/src/org/eclipse/emf/ecore/impl/EStoreEObjectImpl.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
protected boolean eIsCaching()
1
protected boolean eIsCaching()
2
  {
2
  {
3
    return true;
3
    return true;
4
  }
4
  }
5
  @Override
6
  public Object dynamicGet(int dynamicFeatureID)
5
  public Object dynamicGet(int dynamicFeatureID)
7
  {
6
  {
8
    Object result = eSettings[dynamicFeatureID];
7
    Object result = eSettings[dynamicFeatureID];
9
    if (result == null)
8
    if (result == null)
10
    {
9
    {
11
      EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);
10
      EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);
12
      if (!eStructuralFeature.isTransient())
11
      if (!eStructuralFeature.isTransient())
13
      {
12
      {
14
        if (FeatureMapUtil.isFeatureMap(eStructuralFeature))
13
        if (FeatureMapUtil.isFeatureMap(eStructuralFeature))
15
        {
14
        {
16
          eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature);
15
          eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature);
17
        }
16
        }
18
        else if (eStructuralFeature.isMany())
17
        else if (eStructuralFeature.isMany())
19
        {
18
        {
20
          eSettings[dynamicFeatureID] = result = createList(eStructuralFeature);
19
          eSettings[dynamicFeatureID] = result = createList(eStructuralFeature);
21
        }
20
        }
22
        else
21
        else
23
        {
22
        {
24
          result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX);
23
          result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX);
25
          if (eIsCaching())
24
          if (eIsCaching())
26
          {
25
          {
27
            eSettings[dynamicFeatureID] = result;
26
            eSettings[dynamicFeatureID] = result;
28
          }
27
          }
29
        }
28
        }
30
      }
29
      }
31
    }
30
    }
32
    return result;
31
    return result;
33
  }
32
  }
34
  @Override
35
  public void dynamicSet(int dynamicFeatureID, Object value)
33
  public void dynamicSet(int dynamicFeatureID, Object value)
36
  {
34
  {
37
    EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);
35
    EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);
38
    if (eStructuralFeature.isTransient())
36
    if (eStructuralFeature.isTransient())
39
    {
37
    {
40
      eSettings[dynamicFeatureID] = value;
38
      eSettings[dynamicFeatureID] = value;
41
    }
39
    }
42
    else
40
    else
43
    {
41
    {
44
      eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value == NIL ? null : value);
42
      eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value == NIL ? null : value);
45
      if (eIsCaching())
43
      if (eIsCaching())
46
      {
44
      {
47
        eSettings[dynamicFeatureID] = value;
45
        eSettings[dynamicFeatureID] = value;
48
      }
46
      }
49
    }
47
    }
50
  }
48
  }
51
  @Override
52
  public void dynamicUnset(int dynamicFeatureID)
49
  public void dynamicUnset(int dynamicFeatureID)
53
  {
50
  {
54
    eStore().unset(this, eDynamicFeature(dynamicFeatureID));
51
    eStore().unset(this, eDynamicFeature(dynamicFeatureID));
55
    eSettings[dynamicFeatureID] = null;
52
    eSettings[dynamicFeatureID] = null;
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