Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Henri BOUVET
Source Code Analyzer
Commits
91fa89af
Commit
91fa89af
authored
Oct 28, 2019
by
Gerson Sunyé
Browse files
first rule
parent
dd054ab4
Changes
4
Show whitespace changes
Inline
Side-by-side
.gitignore
View file @
91fa89af
.DS_Store
/bin/
target/
.project
...
...
META-INF/MANIFEST.MF
View file @
91fa89af
...
...
@@ -7,9 +7,9 @@ Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.xtext.xbase.lib,
org.eclipse.emf.ecore.xcore.lib
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
README.adoc
View file @
91fa89af
...
...
@@ -50,3 +50,12 @@ Chaque demande doit contenir au moins une règle ATL claire et bien commentée,
Comme niveau de difficulté de chaque ticket est estimé, il est possible que la difficulté d'une règle ait été mal évaluée.
Si après avoir écrit une règle, vous pensez que sa difficulté a été sur or sous-estimée, demandez à changer l'étiquette du ticket.
== Configuration
Ce projet a été préparé en Eclipse Oxygène, avec les logiciels suivants:
* ATL
* EMF
* EMF XCore
* Modisco
src/main/atl/analysis.atl
View file @
91fa89af
-- @path MM=/Source%20Code%20Analyzer/src/main/model/java.ecore
-- @path MM1=/Source%20Code%20Analyzer/src/main/model/smm.ecore
-- @nsURI smm=http://www.eclipse.org/MoDisco/SMM/1.0.Beta2/smm
-- @nsURI java=http://www.eclipse.org/MoDisco/Java/0.2.incubation/java
module analysis;
create OUT : MM1 from IN : MM;
create OUT: smm from IN: java;
rule Java2SMM {
from
project: java!Model
to
model: smm!SmmModel (
name <- project.name,
librairies <- lib
),
lib: smm!MeasureLibrary (
name <- 'Java metrics',
measureElements <- thisModule.allMeasures(project)
)
}
helper def: allMeasures(project : java!Model): Set(smm!Measure) =
Set{
thisModule.numberOfClasses()
--
-- Placeholder for other Measures
--
};
rule numberOfClasses() {
to
om: smm!ObservedMeasure (
measure <- noc,
measurements <- measurement
),
noc: smm!DimensionalMeasure (
name <- 'Number of Classes'
),
measurement: smm!DirectMeasurement (
value <- java!ClassDeclaration.allInstances() -> reject(each | each.isProxy()) -> size()
)
do {
noc;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment