Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
moclodash
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Erwan BOUSSE
moclodash
Commits
5ab9e438
Commit
5ab9e438
authored
Mar 31, 2014
by
Erwan Bousse
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Working version for the paper, and working plugin UI
parent
96371bd5
Changes
89
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
89 changed files
with
3061 additions
and
1987 deletions
+3061
-1987
AB/src/somemmdeep/ADeepPImpl.java
AB/src/somemmdeep/ADeepPImpl.java
+0
-278
AB/src/somemmdeep/BDeepPImpl.java
AB/src/somemmdeep/BDeepPImpl.java
+0
-157
AB/src/somemmdeep/SomeMMDeepCloningMaterial.java
AB/src/somemmdeep/SomeMMDeepCloningMaterial.java
+0
-28
AB/src/somemmdeep/SomeMMDeepLightCopier.java
AB/src/somemmdeep/SomeMMDeepLightCopier.java
+0
-18
AB/src/somemmdeep/SomeMMDeepTags.java
AB/src/somemmdeep/SomeMMDeepTags.java
+0
-52
AB/src/somemmmutclassonly/AMutClassOnlyPImpl.java
AB/src/somemmmutclassonly/AMutClassOnlyPImpl.java
+0
-264
AB/src/somemmmutclassonly/SomeMMMutClassOnlyCloningMaterial.java
...somemmmutclassonly/SomeMMMutClassOnlyCloningMaterial.java
+0
-29
AB/src/somemmmutclassonly/SomeMMMutClassOnlyLightCopier.java
AB/src/somemmmutclassonly/SomeMMMutClassOnlyLightCopier.java
+0
-18
AB/src/somemmmutclassonly/SomeMMMutClassOnlyTags.java
AB/src/somemmmutclassonly/SomeMMMutClassOnlyTags.java
+0
-52
AB/src/yayabdeep/ADeepPImpl.java
AB/src/yayabdeep/ADeepPImpl.java
+0
-278
AB/src/yayabdeep/BDeepPImpl.java
AB/src/yayabdeep/BDeepPImpl.java
+0
-157
AB/src/yayabdeep/YayABDeepCloningMaterial.java
AB/src/yayabdeep/YayABDeepCloningMaterial.java
+0
-22
AB/src/yayabdeep/YayABDeepLightCopier.java
AB/src/yayabdeep/YayABDeepLightCopier.java
+0
-19
AB/src/yayabdeep/YayABDeepTags.java
AB/src/yayabdeep/YayABDeepTags.java
+0
-49
AB/src/yayabmutclassonly/AMutClassOnlyPImpl.java
AB/src/yayabmutclassonly/AMutClassOnlyPImpl.java
+0
-264
AB/src/yayabmutclassonly/YayABMutClassOnlyCloningMaterial.java
...c/yayabmutclassonly/YayABMutClassOnlyCloningMaterial.java
+0
-22
AB/src/yayabmutclassonly/YayABMutClassOnlyLightCopier.java
AB/src/yayabmutclassonly/YayABMutClassOnlyLightCopier.java
+0
-19
AB/src/yayabmutclassonly/YayABMutClassOnlyTags.java
AB/src/yayabmutclassonly/YayABMutClassOnlyTags.java
+0
-49
fr.inria.diverse.cloning.benchmark.materialgenerator/main.product
....diverse.cloning.benchmark.materialgenerator/main.product
+1
-5
fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/main/Application.java
...cloning/benchmark/materialgenerator/main/Application.java
+36
-25
fr.inria.diverse.cloning.benchmark.tool/META-INF/MANIFEST.MF
fr.inria.diverse.cloning.benchmark.tool/META-INF/MANIFEST.MF
+1
-3
fr.inria.diverse.cloning.benchmark.tool/main.product
fr.inria.diverse.cloning.benchmark.tool/main.product
+217
-0
fr.inria.diverse.cloning.benchmark.tool/plugin.xml
fr.inria.diverse.cloning.benchmark.tool/plugin.xml
+13
-0
fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.log
...oning.benchmark.tool/runtime-BenchmarkTool/.metadata/.log
+10
-0
fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
....eclipse.core.resources/.root/.indexes/properties.version
+0
-0
fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
...e.core.runtime/.settings/org.eclipse.core.resources.prefs
+0
-0
fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Benchmark.java
...verse.cloning.benchmark.tool/src/benchmark/Benchmark.java
+33
-11
fr.inria.diverse.cloning.benchmark.tool/src/benchmark/BenchmarkResults.java
...loning.benchmark.tool/src/benchmark/BenchmarkResults.java
+0
-9
fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Performance.java
...rse.cloning.benchmark.tool/src/benchmark/Performance.java
+4
-4
fr.inria.diverse.cloning.benchmark.tool/src/main/Application.java
....diverse.cloning.benchmark.tool/src/main/Application.java
+79
-8
fr.inria.diverse.cloning.benchmark.tool/src/main/BundleLoader.java
...diverse.cloning.benchmark.tool/src/main/BundleLoader.java
+6
-3
fr.inria.diverse.cloning.benchmark.tool/src/memoryanalysis/MemoryAnalyzer.java
...ing.benchmark.tool/src/memoryanalysis/MemoryAnalyzer.java
+3
-0
fr.inria.diverse.cloning.benchmark.tool/target/classes/benchmark/Benchmark.class
...g.benchmark.tool/target/classes/benchmark/Benchmark.class
+0
-0
fr.inria.diverse.cloning.benchmark.tool/target/classes/benchmark/BenchmarkResults.class
...mark.tool/target/classes/benchmark/BenchmarkResults.class
+0
-0
fr.inria.diverse.cloning.benchmark.tool/target/classes/main/Application.class
...ning.benchmark.tool/target/classes/main/Application.class
+0
-0
fr.inria.diverse.cloning.benchmark.tool/target/classes/main/BundleLoader.class
...ing.benchmark.tool/target/classes/main/BundleLoader.class
+0
-0
fr.inria.diverse.cloning.benchmark.tool/target/classes/memoryanalysis/MemoryAnalyzer.class
...k.tool/target/classes/memoryanalysis/MemoryAnalyzer.class
+0
-0
fr.inria.diverse.cloning.materialgenerator/META-INF/MANIFEST.MF
...ia.diverse.cloning.materialgenerator/META-INF/MANIFEST.MF
+9
-1
fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/main/Application.class
.../diverse/cloning/materialgenerator/main/Application.class
+0
-0
fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/metrics/CloningMetrics.class
...se/cloning/materialgenerator/metrics/CloningMetrics.class
+0
-0
fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/tagger/impl/MutClassesOnlyTagger.class
.../materialgenerator/tagger/impl/MutClassesOnlyTagger.class
+0
-0
fr.inria.diverse.cloning.materialgenerator/plugin.xml
fr.inria.diverse.cloning.materialgenerator/plugin.xml
+23
-1
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.log
...rse.cloning.materialgenerator/runtime-data/.metadata/.log
+30
-3
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.location
...projects/.org.eclipse.jdt.core.external.folders/.location
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.markers.snap
...ects/.org.eclipse.jdt.core.external.folders/.markers.snap
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.syncinfo.snap
...cts/.org.eclipse.jdt.core.external.folders/.syncinfo.snap
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.location
...plugins/org.eclipse.core.resources/.projects/AB/.location
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.markers.snap
...ins/org.eclipse.core.resources/.projects/AB/.markers.snap
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.syncinfo.snap
...ns/org.eclipse.core.resources/.projects/AB/.syncinfo.snap
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
...rg.eclipse.core.resources/.root/.indexes/properties.index
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
....eclipse.core.resources/.root/.indexes/properties.version
+0
-1
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap
...a/.plugins/org.eclipse.core.resources/.root/.markers.snap
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
...ipse.core.resources/.safetable/org.eclipse.core.resources
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.snap
...-data/.metadata/.plugins/org.eclipse.core.resources/.snap
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
...eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
+7
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
...se.core.runtime/.settings/org.eclipse.jdt.launching.prefs
+2
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs
...eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs
+2
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/.project
....jdt.core/.org.eclipse.jdt.core.external.folders/.project
+23
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/2369791033.index
.../.metadata/.plugins/org.eclipse.jdt.core/2369791033.index
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3185608247.index
.../.metadata/.plugins/org.eclipse.jdt.core/3185608247.index
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3765020915.index
.../.metadata/.plugins/org.eclipse.jdt.core/3765020915.index
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
...data/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
....metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
+1
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
...etadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
+3
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
.../.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
....metadata/.plugins/org.eclipse.jdt.launching/.install.xml
+4
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
...adata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
+25
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1355312039518.target/.lazy
....plugins/org.eclipse.pde.core/-1355312039518.target/.lazy
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1355312039518.target/.pluginInfo
...ns/org.eclipse.pde.core/-1355312039518.target/.pluginInfo
+1702
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1355312039518.target/.state
...plugins/org.eclipse.pde.core/-1355312039518.target/.state
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1746579760.workspace/.lazy
....plugins/org.eclipse.pde.core/-1746579760.workspace/.lazy
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1746579760.workspace/.pluginInfo
...ns/org.eclipse.pde.core/-1746579760.workspace/.pluginInfo
+6
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1746579760.workspace/.state
...plugins/org.eclipse.pde.core/-1746579760.workspace/.state
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTableLock
.../org.eclipse.pde.core/.extensions/.manager/.fileTableLock
+0
-0
fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/.local_targets/1395999341423.target
.../org.eclipse.pde.core/.local_targets/1395999341423.target
+15
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/application/Application.java
...se/cloning/materialgenerator/application/Application.java
+95
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/generators/EMFCodeGenerator.java
...loning/materialgenerator/generators/EMFCodeGenerator.java
+1
-1
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/generators/ManifestEditor.java
.../cloning/materialgenerator/generators/ManifestEditor.java
+139
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/main/TestTagger.java
...ia/diverse/cloning/materialgenerator/main/TestTagger.java
+0
-57
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/metrics/CloningMetrics.java
...rse/cloning/materialgenerator/metrics/CloningMetrics.java
+0
-1
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/Activator.java
...a/diverse/cloning/materialgenerator/plugin/Activator.java
+61
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/CloningMaterialGenerationLaunch.java
...rialgenerator/plugin/CloningMaterialGenerationLaunch.java
+39
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/CloningMaterialGenerationLaunchTab.java
...lgenerator/plugin/CloningMaterialGenerationLaunchTab.java
+252
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/CloningMaterialGenerationLaunchTabGroup.java
...rator/plugin/CloningMaterialGenerationLaunchTabGroup.java
+20
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/EcoreFileFilter.java
...rse/cloning/materialgenerator/plugin/EcoreFileFilter.java
+12
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/start/Start.java
.../inria/diverse/cloning/materialgenerator/start/Start.java
+113
-0
fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/tagger/impl/MutClassesOnlyTagger.java
...g/materialgenerator/tagger/impl/MutClassesOnlyTagger.java
+2
-65
fr.inria.diverse.cloning.runtime/META-INF/MANIFEST.MF
fr.inria.diverse.cloning.runtime/META-INF/MANIFEST.MF
+5
-1
fr.inria.diverse.cloning.runtime/src/fr/inria/diverse/cloning/runtime/util/Log.java
...untime/src/fr/inria/diverse/cloning/runtime/util/Log.java
+67
-13
No files found.
AB/src/somemmdeep/ADeepPImpl.java
deleted
100644 → 0
View file @
96371bd5
/**
*/
package
somemmdeep
;
import
ab.A
;
import
ab.AbPackage
;
import
ab.B
;
import
java.util.Collection
;
import
org.eclipse.emf.common.notify.Notification
;
import
org.eclipse.emf.common.notify.NotificationChain
;
import
org.eclipse.emf.common.util.EList
;
import
org.eclipse.emf.ecore.EClass
;
import
org.eclipse.emf.ecore.InternalEObject
;
import
org.eclipse.emf.ecore.impl.ENotificationImpl
;
import
org.eclipse.emf.ecore.impl.MinimalEObjectImpl
;
import
org.eclipse.emf.ecore.util.EObjectContainmentEList
;
import
org.eclipse.emf.ecore.util.InternalEList
;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>A</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>
* { @link ab.impl.ADeepPImpl#getI <em>I</em>}
* </li>
* <li>
* { @link ab.impl.ADeepPImpl#getJ_m <em>Jm</em>}
* </li>
* <li>
* { @link ab.impl.ADeepPImpl#getB <em>B</em>}
* </li>
* </ul>
* </p>
* @generated
*/
public
class
ADeepPImpl
extends
MinimalEObjectImpl
.
Container
implements
A
{
protected
A
cloned
;
/**
* The default value of the '
* { @link #getI() <em>I</em>}
* ' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getI()
* @generated
* @ordered
*/
protected
static
final
int
I_EDEFAULT
=
0
;
/**
* The default value of the '
* { @link #getJ_m() <em>Jm</em>}
* ' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getJ_m()
* @generated
* @ordered
*/
protected
static
final
int
JM_EDEFAULT
=
0
;
/**
* The cached value of the '
* { @link #getJ_m() <em>Jm</em>}
* ' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getJ_m()
* @generated
* @ordered
*/
protected
int
j_m
=
JM_EDEFAULT
;
/**
* The cached value of the '
* { @link #getB() <em>B</em>}
* ' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getB()
* @generated
* @ordered
*/
protected
EList
<
B
>
b
;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected
ADeepPImpl
(
A
clonedParam
)
{
super
();
cloned
=
clonedParam
;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected
EClass
eStaticClass
()
{
return
AbPackage
.
Literals
.
A
;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public
int
getI
()
{
return
cloned
.
getI
();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public
void
setI
(
int
newI
)
{
System
.
out
.
println
(
"[Info] ADeepPImpl: i is readonly and cannot be set."
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public
int
getJ_m
()
{
return
j_m
;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public
void
setJ_m
(
int
newJ_m
)
{
int
oldJ_m
=
j_m
;
j_m
=
newJ_m
;
if
(
eNotificationRequired
())
eNotify
(
new
ENotificationImpl
(
this
,
Notification
.
SET
,
AbPackage
.
A__JM
,
oldJ_m
,
j_m
));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public
EList
<
B
>
getB
()
{
if
(
b
==
null
)
{
b
=
new
EObjectContainmentEList
<
B
>(
B
.
class
,
this
,
AbPackage
.
A__B
);
}
return
b
;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
NotificationChain
eInverseRemove
(
InternalEObject
otherEnd
,
int
featureID
,
NotificationChain
msgs
)
{
switch
(
featureID
)
{
case
AbPackage
.
A__B
:
return
((
InternalEList
<?>)
getB
()).
basicRemove
(
otherEnd
,
msgs
);
}
return
super
.
eInverseRemove
(
otherEnd
,
featureID
,
msgs
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
Object
eGet
(
int
featureID
,
boolean
resolve
,
boolean
coreType
)
{
switch
(
featureID
)
{
case
AbPackage
.
A__I
:
return
getI
();
case
AbPackage
.
A__JM
:
return
getJ_m
();
case
AbPackage
.
A__B
:
return
getB
();
}
return
super
.
eGet
(
featureID
,
resolve
,
coreType
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings
(
"unchecked"
)
@Override
public
void
eSet
(
int
featureID
,
Object
newValue
)
{
switch
(
featureID
)
{
case
AbPackage
.
A__I
:
setI
((
Integer
)
newValue
);
return
;
case
AbPackage
.
A__JM
:
setJ_m
((
Integer
)
newValue
);
return
;
case
AbPackage
.
A__B
:
getB
().
clear
();
getB
().
addAll
((
Collection
<?
extends
B
>)
newValue
);
return
;
}
super
.
eSet
(
featureID
,
newValue
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
void
eUnset
(
int
featureID
)
{
switch
(
featureID
)
{
case
AbPackage
.
A__I
:
setI
(
I_EDEFAULT
);
return
;
case
AbPackage
.
A__JM
:
setJ_m
(
JM_EDEFAULT
);
return
;
case
AbPackage
.
A__B
:
getB
().
clear
();
return
;
}
super
.
eUnset
(
featureID
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
boolean
eIsSet
(
int
featureID
)
{
switch
(
featureID
)
{
case
AbPackage
.
A__I
:
return
cloned
.
getI
()
!=
I_EDEFAULT
;
case
AbPackage
.
A__JM
:
return
j_m
!=
JM_EDEFAULT
;
case
AbPackage
.
A__B
:
return
b
!=
null
&&
!
b
.
isEmpty
();
}
return
super
.
eIsSet
(
featureID
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
String
toString
()
{
if
(
eIsProxy
())
return
super
.
toString
();
StringBuffer
result
=
new
StringBuffer
(
super
.
toString
());
result
.
append
(
" (i: "
);
result
.
append
(
cloned
.
getI
());
result
.
append
(
", j_m: "
);
result
.
append
(
j_m
);
result
.
append
(
')'
);
return
result
.
toString
();
}
}
//AImpl
AB/src/somemmdeep/BDeepPImpl.java
deleted
100644 → 0
View file @
96371bd5
/**
*/
package
somemmdeep
;
import
ab.AbPackage
;
import
ab.B
;
import
org.eclipse.emf.common.notify.Notification
;
import
org.eclipse.emf.ecore.EClass
;
import
org.eclipse.emf.ecore.impl.ENotificationImpl
;
import
org.eclipse.emf.ecore.impl.MinimalEObjectImpl
;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>B</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>
* { @link ab.impl.BDeepPImpl#getX <em>X</em>}
* </li>
* </ul>
* </p>
* @generated
*/
public
class
BDeepPImpl
extends
MinimalEObjectImpl
.
Container
implements
B
{
protected
B
cloned
;
/**
* The default value of the '
* { @link #getX() <em>X</em>}
* ' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getX()
* @generated
* @ordered
*/
protected
static
final
int
X_EDEFAULT
=
0
;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected
BDeepPImpl
(
B
clonedParam
)
{
super
();
cloned
=
clonedParam
;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected
EClass
eStaticClass
()
{
return
AbPackage
.
Literals
.
B
;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public
int
getX
()
{
return
cloned
.
getX
();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public
void
setX
(
int
newX
)
{
System
.
out
.
println
(
"[Info] BDeepPImpl: x is readonly and cannot be set."
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
Object
eGet
(
int
featureID
,
boolean
resolve
,
boolean
coreType
)
{
switch
(
featureID
)
{
case
AbPackage
.
B__X
:
return
getX
();
}
return
super
.
eGet
(
featureID
,
resolve
,
coreType
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
void
eSet
(
int
featureID
,
Object
newValue
)
{
switch
(
featureID
)
{
case
AbPackage
.
B__X
:
setX
((
Integer
)
newValue
);
return
;
}
super
.
eSet
(
featureID
,
newValue
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
void
eUnset
(
int
featureID
)
{
switch
(
featureID
)
{
case
AbPackage
.
B__X
:
setX
(
X_EDEFAULT
);
return
;
}
super
.
eUnset
(
featureID
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
boolean
eIsSet
(
int
featureID
)
{
switch
(
featureID
)
{
case
AbPackage
.
B__X
:
return
cloned
.
getX
()
!=
X_EDEFAULT
;
}
return
super
.
eIsSet
(
featureID
);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public
String
toString
()
{
if
(
eIsProxy
())
return
super
.
toString
();
StringBuffer
result
=
new
StringBuffer
(
super
.
toString
());
result
.
append
(
" (x: "
);
result
.
append
(
cloned
.
getX
());
result
.
append
(
')'
);
return
result
.
toString
();
}
}
//BImpl
AB/src/somemmdeep/SomeMMDeepCloningMaterial.java
deleted
100644 → 0
View file @
96371bd5
package
somemmdeep
;
import
fr.inria.diverse.cloning.cloner.common.CloningMaterial
;
import
fr.inria.diverse.cloning.cloner.emfextension.impl.LooseCopier
;
import
fr.inria.diverse.cloning.cloner.common.MetamodelTags
;
public
class
SomeMMDeepCloningMaterial
implements
CloningMaterial
{
private
static
SomeMMDeepCloningMaterial
instance
;
private
SomeMMDeepTags
tags
;
private
SomeMMDeepCloningMaterial
(
SomeMMDeepTags
tags
)
{
this
.
tags
=
tags
;
};
public
static
SomeMMDeepCloningMaterial
getInstance
()
{
if
(
instance
==
null
)
instance
=
new
SomeMMDeepCloningMaterial
(
new
SomeMMDeepTags
());
return
instance
;
}
public
MetamodelTags
getTags
()
{
return
tags
;
}
public
LooseCopier
createLightCopier
()
{
return
new
SomeMMDeepLightCopier
();
}
}
AB/src/somemmdeep/SomeMMDeepLightCopier.java
deleted
100644 → 0
View file @
96371bd5
package
somemmdeep
;
import
org.eclipse.emf.ecore.EObject
;
import
fr.inria.diverse.cloning.cloner.emfextension.impl.LooseCopier
;
import
ab.B
;
import
ab.A
;
@SuppressWarnings
(
"serial"
)
public
class
SomeMMDeepLightCopier
extends
LooseCopier
{
protected
EObject
createCopy
(
EObject
eObject
)
{
if
(
eObject
instanceof
B
)
return
new
BDeepPImpl
((
B
)
eObject
);
if
(
eObject
instanceof
A
)
return
new
ADeepPImpl
((
A
)
eObject
);
else
return
super
.
createCopy
(
eObject
);
}
}
AB/src/somemmdeep/SomeMMDeepTags.java
deleted
100644 → 0
View file @
96371bd5
package
somemmdeep
;
import
org.eclipse.emf.ecore.EClass
;
import
fr.inria.diverse.cloning.cloner.common.ClassTag
;
import
fr.inria.diverse.cloning.cloner.common.MetamodelTags
;
import
org.eclipse.emf.ecore.EStructuralFeature
;
import
ab.B
;
import
ab.A
;
public
class
SomeMMDeepTags
implements
MetamodelTags
{
public
ClassTag
getTagOf
(
EClass
eClass
)
{
if
(
eClass
.
equals
(
ab
.
AbPackage
.
eINSTANCE
.
getB
()))
return
ClassTag
.
PARTIALLY_SHAREABLE
;
if
(
eClass
.
equals
(
ab
.
AbPackage
.
eINSTANCE
.
getA
()))
return
ClassTag
.
PARTIALLY_SHAREABLE
;
else
return
null
;
}
public
boolean
mayTagClassesShareable
()
{
return
false
;
}
public
boolean
isPropertyShareable
(
EStructuralFeature
prop
)
{
if
(
prop
.
equals
(
ab
.
AbPackage
.
eINSTANCE
.
getB_X
()))
return
true
;
if
(
prop
.
equals
(
ab
.
AbPackage
.
eINSTANCE
.
getA_I
()))
return
true
;
if
(
prop
.
equals
(
ab
.
AbPackage
.
eINSTANCE
.
getA_J_m
()))
return
false
;
if
(
prop
.
equals
(
ab
.
AbPackage
.
eINSTANCE
.
getA_B
()))
return
false
;
else
return
false
;
}
public
double
getCompShareableClassesRatio
()
{
return
0.0
;
}
public
double
getPartShareableClassesRatio
()
{
return
1.0
;
}
public
double
getShareablePropertiesInShareableClassesRatio
()
{
return
0.5
;
}
public
double
getMeanShareablePropertiesInShareableClasses
()
{
return
1.0
;
}
}
AB/src/somemmmutclassonly/AMutClassOnlyPImpl.java
deleted
100644 → 0
View file @
96371bd5
/**
*/
package
somemmmutclassonly
;
import
ab.A
;
import
ab.AbPackage
;
import
ab.B
;
import
java.util.Collection
;
import
org.eclipse.emf.common.notify.Notification
;
import
org.eclipse.emf.common.notify.NotificationChain
;
import
org.eclipse.emf.common.util.EList
;
import
org.eclipse.emf.ecore.EClass
;
import
org.eclipse.emf.ecore.InternalEObject
;
import
org.eclipse.emf.ecore.impl.ENotificationImpl
;
import
org.eclipse.emf.ecore.impl.MinimalEObjectImpl
;
import
org.eclipse.emf.ecore.util.EObjectContainmentEList
;
import
org.eclipse.emf.ecore.util.InternalEList
;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>A</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>
* { @link ab.impl.AMutClassOnlyPImpl#getI <em>I</em>}
* </li>
* <li>
* { @link ab.impl.AMutClassOnlyPImpl#getJ_m <em>Jm</em>}
* </li>
* <li>
* { @link ab.impl.AMutClassOnlyPImpl#getB <em>B</em>}
* </li>
* </ul>
* </p>
* @generated
*/
public
class
AMutClassOnlyPImpl
extends
MinimalEObjectImpl
.
Container
implements
A
{
protected
A
cloned
;
/**
* The default value of the '
* { @link #getI() <em>I</em>}
* ' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getI()
* @generated
* @ordered
*/
protected
static
final
int
I_EDEFAULT
=
0
;
/**
* The default value of the '
* { @link #getJ_m() <em>Jm</em>}
* ' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getJ_m()
* @generated
* @ordered
*/
protected
static
final
int
JM_EDEFAULT
=
0
;
/**
* The cached value of the '
* { @link #getJ_m() <em>Jm</em>}