Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Roxane MARECHAL
Source Code Analyzer
Commits
e0e51997
Commit
e0e51997
authored
Dec 21, 2019
by
Roxane Kang Maréchal
Browse files
Simplified way of getting annotation (removed previous method which was unessacerily heavy
parents
3ca162c6
bd429a49
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
input/.gitignore
0 → 100644
View file @
e0e51997
/org.eclipse.jdt.source.all.xmi
input/avoid-prefixing-method-parameters.xmi
0 → 100644
View file @
e0e51997
<?xml version="1.0" encoding="ASCII"?>
<java:Model
xmi:version=
"2.0"
xmlns:xmi=
"http://www.omg.org/XMI"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:java=
"http://www.eclipse.org/MoDisco/Java/0.2.incubation/java"
name=
"AvoidPrefixingMethodParameters"
>
<ownedElements
name=
"main"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"AvoidPrefixingMethodParameters"
>
<modifier
visibility=
"public"
/>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test1"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
/>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"in"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"out"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test2"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
/>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"inParam"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"outParam"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test3"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
/>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"param1"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"param2"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
</ownedElements>
</ownedElements>
<orphanTypes
xsi:type=
"java:PrimitiveTypeInt"
name=
"int"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.0/@type //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.1/@type //@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@parameters.0/@type //@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@parameters.1/@type //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@parameters.0/@type //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@parameters.1/@type"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeLong"
name=
"long"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeFloat"
name=
"float"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeDouble"
name=
"double"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeBoolean"
name=
"boolean"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeVoid"
name=
"void"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@returnType //@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@returnType //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@returnType"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeChar"
name=
"char"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeShort"
name=
"short"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeByte"
name=
"byte"
/>
<compilationUnits
name=
"AvoidPrefixingMethodParameters.java"
originalFilePath=
"/home/asao/eclipse-photon-workspace/AvoidPrefixingMethodParameters/src/main/AvoidPrefixingMethodParameters.java"
package=
"//@ownedElements.0"
types=
"//@ownedElements.0/@ownedElements.0"
/>
</java:Model>
\ No newline at end of file
input/avoid-reassigning-parameters.xmi
0 → 100644
View file @
e0e51997
<?xml version="1.0" encoding="ASCII"?>
<java:Model
xmi:version=
"2.0"
xmlns:xmi=
"http://www.omg.org/XMI"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:java=
"http://www.eclipse.org/MoDisco/Java/0.2.incubation/java"
name=
"testIdenticalCatchBranches"
>
<ownedElements
name=
"test"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"Main"
>
<modifier
visibility=
"public"
/>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test"
>
<modifier
visibility=
"public"
static=
"true"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:Assignment"
originalCompilationUnit=
"//@compilationUnits.0"
>
<leftHandSide
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.0"
/>
<rightHandSide
xsi:type=
"java:StringLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
escapedValue=
""5""
/>
</expression>
</statements>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:Assignment"
originalCompilationUnit=
"//@compilationUnits.0"
operator=
"+="
>
<leftHandSide
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.1"
/>
<rightHandSide
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"3"
/>
</expression>
</statements>
</body>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"a"
usageInVariableAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@expression/@leftHandSide"
>
<modifier/>
<type
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0"
/>
</parameters>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"b"
usageInVariableAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@expression/@leftHandSide"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"c"
>
<modifier/>
<type
type=
"//@orphanTypes.4"
/>
</parameters>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
</ownedElements>
</ownedElements>
<ownedElements
name=
"java"
proxy=
"true"
>
<ownedPackages
name=
"lang"
proxy=
"true"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"String"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.0/@type"
>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.0"
/>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1"
/>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.2"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"Comparable"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.1"
>
<typeParameters
name=
"T"
proxy=
"true"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"CharSequence"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.2"
/>
</ownedPackages>
<ownedPackages
name=
"io"
proxy=
"true"
>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"Serializable"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.0"
/>
</ownedPackages>
</ownedElements>
<orphanTypes
xsi:type=
"java:PrimitiveTypeInt"
name=
"int"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.1/@type"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeLong"
name=
"long"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeFloat"
name=
"float"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeDouble"
name=
"double"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeBoolean"
name=
"boolean"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.2/@type"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeVoid"
name=
"void"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@returnType"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeChar"
name=
"char"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeShort"
name=
"short"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeByte"
name=
"byte"
/>
<compilationUnits
name=
"Main.java"
originalFilePath=
"D:\Arthur\eclipse-workspace-atl\testIdenticalCatchBranches\src\test\Main.java"
package=
"//@ownedElements.0"
types=
"//@ownedElements.0/@ownedElements.0"
/>
</java:Model>
input/do-not-call-system-exit.xmi
0 → 100644
View file @
e0e51997
<?xml version="1.0" encoding="ASCII"?>
<java:Model
xmi:version=
"2.0"
xmlns:xmi=
"http://www.omg.org/XMI"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:java=
"http://www.eclipse.org/MoDisco/Java/0.2.incubation/java"
name=
"DoNotCallSystemExit"
>
<ownedElements
name=
"main"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"DoNotCallSystemExit"
>
<modifier
visibility=
"public"
/>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test1"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.0"
>
<arguments
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"1"
/>
<expression
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0"
/>
</expression>
</statements>
</body>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test2"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1"
>
<arguments
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"1"
/>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0"
>
<expression
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1"
/>
</expression>
</expression>
</statements>
</body>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test3"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1"
>
<arguments
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"1"
/>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0"
>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0"
>
<expression
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1"
/>
</expression>
</expression>
</expression>
</statements>
</body>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test4"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1"
>
<arguments
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"1"
/>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.1"
>
<expression
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.0/@ownedElements.1"
/>
</expression>
</expression>
</statements>
</body>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"test5"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.2"
>
<arguments
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"1"
/>
<expression
xsi:type=
"java:ClassInstanceCreation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.3"
>
<type
type=
"//@ownedElements.0/@ownedElements.1"
/>
</expression>
</expression>
</statements>
</body>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
</ownedElements>
<ownedElements
xsi:type=
"java:ClassDeclaration"
originalCompilationUnit=
"//@compilationUnits.1"
name=
"Class1"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.3/@body/@statements.0/@expression/@expression/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.4/@body/@statements.0/@expression/@expression/@type //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@expression/@leftOperand/@qualifier //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@thenStatement/@statements.0/@expression/@leftHandSide/@qualifier //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.1/@expression/@qualifier"
>
<modifier
visibility=
"public"
/>
<bodyDeclarations
xsi:type=
"java:FieldDeclaration"
originalCompilationUnit=
"//@compilationUnits.1"
>
<modifier
visibility=
"private"
static=
"true"
/>
<type
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1"
/>
<fragments
originalCompilationUnit=
"//@compilationUnits.1"
name=
"instance"
usageInVariableAccess=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@expression/@leftOperand //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@thenStatement/@statements.0/@expression/@leftHandSide //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.1/@expression"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.1"
name=
"getClass2Instance"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.3/@body/@statements.0/@expression/@expression"
>
<modifier
visibility=
"public"
static=
"true"
/>
<body
originalCompilationUnit=
"//@compilationUnits.1"
>
<statements
xsi:type=
"java:IfStatement"
originalCompilationUnit=
"//@compilationUnits.1"
>
<expression
xsi:type=
"java:InfixExpression"
originalCompilationUnit=
"//@compilationUnits.1"
operator=
"=="
>
<rightOperand
xsi:type=
"java:NullLiteral"
originalCompilationUnit=
"//@compilationUnits.1"
/>
<leftOperand
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.0/@fragments.0"
>
<qualifier
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.0/@ownedElements.1"
/>
</leftOperand>
</expression>
<thenStatement
xsi:type=
"java:Block"
originalCompilationUnit=
"//@compilationUnits.1"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.1"
>
<expression
xsi:type=
"java:Assignment"
originalCompilationUnit=
"//@compilationUnits.1"
>
<leftHandSide
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.0/@fragments.0"
>
<qualifier
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.0/@ownedElements.1"
/>
</leftHandSide>
<rightHandSide
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.1"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0"
>
<expression
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1"
/>
</rightHandSide>
</expression>
</statements>
</thenStatement>
</statements>
<statements
xsi:type=
"java:ReturnStatement"
originalCompilationUnit=
"//@compilationUnits.1"
>
<expression
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.0/@fragments.0"
>
<qualifier
xsi:type=
"java:TypeAccess"
type=
"//@ownedElements.0/@ownedElements.1"
/>
</expression>
</statements>
</body>
<returnType
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.1"
name=
"exit"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.4/@body/@statements.0/@expression"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.1"
/>
<parameters
originalCompilationUnit=
"//@compilationUnits.1"
name=
"code"
>
<modifier/>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:ConstructorDeclaration"
name=
"Class1"
proxy=
"true"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.4/@body/@statements.0/@expression/@expression"
/>
</ownedElements>
</ownedElements>
<ownedElements
name=
"java"
proxy=
"true"
>
<ownedPackages
name=
"lang"
proxy=
"true"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"System"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@expression/@expression"
>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
name=
"exit"
proxy=
"true"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@expression"
>
<parameters
name=
"arg0"
proxy=
"true"
>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
</bodyDeclarations>
</ownedElements>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"Runtime"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@body/@statements.0/@expression/@expression/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@body/@statements.0/@expression/@expression/@expression/@expression //@ownedElements.0/@ownedElements.1/@bodyDeclarations.0/@type //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@returnType //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@thenStatement/@statements.0/@expression/@rightHandSide/@expression"
>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
name=
"getRuntime"
proxy=
"true"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@body/@statements.0/@expression/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@body/@statements.0/@expression/@expression/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@body/@statements.0/@expression/@expression //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@thenStatement/@statements.0/@expression/@rightHandSide"
/>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
name=
"exit"
proxy=
"true"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@body/@statements.0/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@body/@statements.0/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.3/@body/@statements.0/@expression"
>
<parameters
name=
"arg0"
proxy=
"true"
>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
</bodyDeclarations>
</ownedElements>
</ownedPackages>
</ownedElements>
<orphanTypes
xsi:type=
"java:PrimitiveTypeInt"
name=
"int"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.1/@bodyDeclarations.2/@parameters.0/@type //@ownedElements.1/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.0/@parameters.0/@type //@ownedElements.1/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@parameters.0/@type"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeLong"
name=
"long"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeFloat"
name=
"float"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeDouble"
name=
"double"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeBoolean"
name=
"boolean"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeVoid"
name=
"void"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@returnType //@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@returnType //@ownedElements.0/@ownedElements.0/@bodyDeclarations.2/@returnType //@ownedElements.0/@ownedElements.0/@bodyDeclarations.3/@returnType //@ownedElements.0/@ownedElements.0/@bodyDeclarations.4/@returnType //@ownedElements.0/@ownedElements.1/@bodyDeclarations.2/@returnType"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeChar"
name=
"char"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeShort"
name=
"short"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeByte"
name=
"byte"
/>
<compilationUnits
name=
"DoNotCallSystemExit.java"
originalFilePath=
"/home/asao/eclipse-photon-workspace/DoNotCallSystemExit/src/main/DoNotCallSystemExit.java"
package=
"//@ownedElements.0"
types=
"//@ownedElements.0/@ownedElements.0"
/>
<compilationUnits
name=
"Class1.java"
originalFilePath=
"/home/asao/eclipse-photon-workspace/DoNotCallSystemExit/src/main/Class1.java"
package=
"//@ownedElements.0"
types=
"//@ownedElements.0/@ownedElements.1"
/>
</java:Model>
input/field-declarations-should-be-at-start-of-class.xmi
0 → 100644
View file @
e0e51997
<?xml version="1.0" encoding="ASCII"?>
<java:Model
xmi:version=
"2.0"
xmlns:xmi=
"http://www.omg.org/XMI"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:java=
"http://www.eclipse.org/MoDisco/Java/0.2.incubation/java"
name=
"FieldDeclarationsShouldBeAtStartOfClass"
>
<ownedElements
name=
"main"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"ClassWithoutAllFieldsDeclaredAtTop"
>
<modifier
visibility=
"public"
/>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"something"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
/>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:FieldDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
>
<modifier
visibility=
"private"
/>
<type
type=
"//@orphanTypes.0"
/>
<fragments
originalCompilationUnit=
"//@compilationUnits.0"
name=
"x"
/>
</bodyDeclarations>
</ownedElements>
<ownedElements
xsi:type=
"java:ClassDeclaration"
originalCompilationUnit=
"//@compilationUnits.1"
name=
"ClassWithAllFieldsDeclaredAtTop"
>
<modifier
visibility=
"public"
/>
<bodyDeclarations
xsi:type=
"java:FieldDeclaration"
originalCompilationUnit=
"//@compilationUnits.1"
>
<modifier
visibility=
"private"
/>
<type
type=
"//@orphanTypes.0"
/>
<fragments
originalCompilationUnit=
"//@compilationUnits.1"
name=
"x"
/>
</bodyDeclarations>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.1"
name=
"something"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.1"
/>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
</ownedElements>
</ownedElements>
<orphanTypes
xsi:type=
"java:PrimitiveTypeInt"
name=
"int"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.1/@type //@ownedElements.0/@ownedElements.1/@bodyDeclarations.0/@type"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeLong"
name=
"long"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeFloat"
name=
"float"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeDouble"
name=
"double"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeBoolean"
name=
"boolean"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeVoid"
name=
"void"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@returnType //@ownedElements.0/@ownedElements.1/@bodyDeclarations.1/@returnType"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeChar"
name=
"char"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeShort"
name=
"short"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeByte"
name=
"byte"
/>
<compilationUnits
name=
"ClassWithoutAllFieldsDeclaredAtTop.java"
originalFilePath=
"/home/asao/eclipse-photon-workspace/FieldDeclarationsShouldBeAtStartOfClass/src/main/ClassWithoutAllFieldsDeclaredAtTop.java"
package=
"//@ownedElements.0"
types=
"//@ownedElements.0/@ownedElements.0"
/>
<compilationUnits
name=
"ClassWithAllFieldsDeclaredAtTop.java"
originalFilePath=
"/home/asao/eclipse-photon-workspace/FieldDeclarationsShouldBeAtStartOfClass/src/main/ClassWithAllFieldsDeclaredAtTop.java"
package=
"//@ownedElements.0"
types=
"//@ownedElements.0/@ownedElements.1"
/>
</java:Model>
\ No newline at end of file
input/for-loop-variable-count.xmi
0 → 100644
View file @
e0e51997
This diff is collapsed.
Click to expand it.
input/use-arrays-as-list.xmi
0 → 100644
View file @
e0e51997
<?xml version="1.0" encoding="ASCII"?>
<java:Model
xmi:version=
"2.0"
xmlns:xmi=
"http://www.omg.org/XMI"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:java=
"http://www.eclipse.org/MoDisco/Java/0.2.incubation/java"
name=
"test"
>
<ownedElements
name=
"test"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"SimpleTest"
>
<modifier
visibility=
"public"
/>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
originalCompilationUnit=
"//@compilationUnits.0"
name=
"foo"
>
<modifier
visibility=
"public"
/>
<body
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:VariableDeclarationStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<comments
xsi:type=
"java:LineComment"
originalCompilationUnit=
"//@compilationUnits.0"
content=
"// could just use Arrays.asList(ints)"
prefixOfParent=
"true"
/>
<type
type=
"//@orphanTypes.10"
/>
<fragments
originalCompilationUnit=
"//@compilationUnits.0"
name=
"l"
usageInVariableAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@body/@statements.0/@expression/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@body/@statements.0/@expression/@expression"
>
<initializer
xsi:type=
"java:ClassInstanceCreation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.0"
>
<arguments
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"100"
/>
<type
type=
"//@orphanTypes.11"
/>
</initializer>
</fragments>
<modifier/>
</statements>
<statements
xsi:type=
"java:ForStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:InfixExpression"
originalCompilationUnit=
"//@compilationUnits.0"
operator=
"<"
>
<rightOperand
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"100"
/>
<leftOperand
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@initializers.0/@fragments.0"
/>
</expression>
<updaters
xsi:type=
"java:PostfixExpression"
originalCompilationUnit=
"//@compilationUnits.0"
>
<operand
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@initializers.0/@fragments.0"
/>
</updaters>
<initializers
xsi:type=
"java:VariableDeclarationExpression"
originalCompilationUnit=
"//@compilationUnits.0"
>
<type
type=
"//@orphanTypes.0"
/>
<fragments
originalCompilationUnit=
"//@compilationUnits.0"
name=
"i"
usageInVariableAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@expression/@leftOperand //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@updaters.0/@operand //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@body/@statements.0/@expression/@arguments.0/@index"
>
<initializer
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"0"
/>
</fragments>
<modifier/>
</initializers>
<body
xsi:type=
"java:Block"
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0"
>
<arguments
xsi:type=
"java:ArrayAccess"
originalCompilationUnit=
"//@compilationUnits.0"
>
<array
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.0"
/>
<index
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@initializers.0/@fragments.0"
/>
</arguments>
<expression
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@fragments.0"
/>
</expression>
</statements>
</body>
</statements>
<statements
xsi:type=
"java:ForStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<expression
xsi:type=
"java:InfixExpression"
originalCompilationUnit=
"//@compilationUnits.0"
operator=
"<"
>
<rightOperand
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"100"
/>
<leftOperand
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@initializers.0/@fragments.0"
/>
</expression>
<updaters
xsi:type=
"java:PostfixExpression"
originalCompilationUnit=
"//@compilationUnits.0"
>
<operand
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@initializers.0/@fragments.0"
/>
</updaters>
<initializers
xsi:type=
"java:VariableDeclarationExpression"
originalCompilationUnit=
"//@compilationUnits.0"
>
<type
type=
"//@orphanTypes.0"
/>
<fragments
originalCompilationUnit=
"//@compilationUnits.0"
name=
"i"
usageInVariableAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@expression/@leftOperand //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@updaters.0/@operand //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@body/@statements.0/@expression/@arguments.0"
>
<initializer
xsi:type=
"java:NumberLiteral"
originalCompilationUnit=
"//@compilationUnits.0"
tokenValue=
"0"
/>
</fragments>
<modifier/>
</initializers>
<body
xsi:type=
"java:Block"
originalCompilationUnit=
"//@compilationUnits.0"
>
<statements
xsi:type=
"java:ExpressionStatement"
originalCompilationUnit=
"//@compilationUnits.0"
>
<comments
xsi:type=
"java:LineComment"
originalCompilationUnit=
"//@compilationUnits.0"
content=
"// won't trigger the rule"
/>
<expression
xsi:type=
"java:MethodInvocation"
originalCompilationUnit=
"//@compilationUnits.0"
method=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0"
>
<arguments
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@initializers.0/@fragments.0"
/>
<expression
xsi:type=
"java:SingleVariableAccess"
variable=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@fragments.0"
/>
</expression>
</statements>
</body>
</statements>
</body>
<parameters
originalCompilationUnit=
"//@compilationUnits.0"
name=
"ints"
usageInVariableAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@body/@statements.0/@expression/@arguments.0/@array"
>
<modifier/>
<type
type=
"//@orphanTypes.9"
/>
</parameters>
<returnType
type=
"//@orphanTypes.5"
/>
</bodyDeclarations>
</ownedElements>
</ownedElements>
<ownedElements
name=
"java"
proxy=
"true"
>
<ownedPackages
name=
"util"
proxy=
"true"
>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"ArrayList"
proxy=
"true"
usagesInImports=
"//@compilationUnits.0/@imports.0"
usagesInTypeAccess=
"//@orphanTypes.11/@type"
>
<bodyDeclarations
xsi:type=
"java:ConstructorDeclaration"
name=
"ArrayList"
proxy=
"true"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@fragments.0/@initializer"
>
<parameters
name=
"arg0"
proxy=
"true"
>
<type
type=
"//@orphanTypes.0"
/>
</parameters>
</bodyDeclarations>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.4"
/>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.5"
/>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.1"
/>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.2/@ownedElements.0"
/>
<typeParameters
name=
"E"
proxy=
"true"
/>
<superClass
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"AbstractList"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superClass"
>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.4"
/>
<typeParameters
name=
"E"
proxy=
"true"
/>
<superClass
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.2"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"AbstractCollection"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@superClass"
>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.3"
/>
<typeParameters
name=
"E"
proxy=
"true"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"Collection"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.2/@superInterfaces.0 //@ownedElements.1/@ownedPackages.0/@ownedElements.4/@superInterfaces.0"
>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.0"
/>
<typeParameters
name=
"E"
proxy=
"true"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"List"
proxy=
"true"
usagesInImports=
"//@compilationUnits.0/@imports.1"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.1/@superInterfaces.0 //@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.0 //@orphanTypes.10/@type"
>
<bodyDeclarations
xsi:type=
"java:MethodDeclaration"
name=
"add"
proxy=
"true"
usages=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@body/@statements.0/@expression //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@body/@statements.0/@expression"
>
<parameters
name=
"arg0"
proxy=
"true"
>
<type
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.5"
/>
</parameters>
</bodyDeclarations>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.3"
/>
<typeParameters
name=
"E"
proxy=
"true"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"RandomAccess"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.1"
/>
</ownedPackages>
<ownedPackages
name=
"lang"
proxy=
"true"
>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"Iterable"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.0"
>
<typeParameters
name=
"T"
proxy=
"true"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"Cloneable"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.2"
/>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"Integer"
proxy=
"true"
usagesInTypeAccess=
"//@orphanTypes.9/@elementType //@orphanTypes.10/@typeArguments.0"
>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.4"
/>
<superClass
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.3"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"Number"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.2/@superClass"
>
<superInterfaces
type=
"//@ownedElements.1/@ownedPackages.2/@ownedElements.0"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"Comparable"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.2/@superInterfaces.0"
>
<typeParameters
name=
"T"
proxy=
"true"
/>
</ownedElements>
<ownedElements
xsi:type=
"java:ClassDeclaration"
name=
"Object"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@parameters.0/@type"
/>
</ownedPackages>
<ownedPackages
name=
"io"
proxy=
"true"
>
<ownedElements
xsi:type=
"java:InterfaceDeclaration"
name=
"Serializable"
proxy=
"true"
usagesInTypeAccess=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.3 //@ownedElements.1/@ownedPackages.1/@ownedElements.3/@superInterfaces.0"
/>
</ownedPackages>
</ownedElements>
<orphanTypes
xsi:type=
"java:PrimitiveTypeInt"
name=
"int"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.1/@initializers.0/@type //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@initializers.0/@type //@ownedElements.1/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.0/@parameters.0/@type"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeLong"
name=
"long"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeFloat"
name=
"float"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeDouble"
name=
"double"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeBoolean"
name=
"boolean"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeVoid"
name=
"void"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@returnType"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeChar"
name=
"char"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeShort"
name=
"short"
/>
<orphanTypes
xsi:type=
"java:PrimitiveTypeByte"
name=
"byte"
/>
<orphanTypes
xsi:type=
"java:ArrayType"
name=
"java.lang.Integer[]"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@parameters.0/@type"
dimensions=
"1"
>
<elementType
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.2"
/>
</orphanTypes>
<orphanTypes
xsi:type=
"java:ParameterizedType"
name=
"java.util.List<java.lang.Integer>"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@type"
>
<type
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.4"
/>
<typeArguments
type=
"//@ownedElements.1/@ownedPackages.1/@ownedElements.2"
/>
</orphanTypes>
<orphanTypes
xsi:type=
"java:ParameterizedType"
name=
"java.util.ArrayList<java.lang.Integer>"
usagesInTypeAccess=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@fragments.0/@initializer/@type"
>
<type
type=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0"
/>
</orphanTypes>
<compilationUnits
name=
"SimpleTest.java"
originalFilePath=
"E:\Henri\Documents\Projet Gerson\test\src\test\SimpleTest.java"
commentList=
"//@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@comments.0 //@ownedElements.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.2/@body/@statements.0/@comments.0"
package=
"//@ownedElements.0"
types=
"//@ownedElements.0/@ownedElements.0"
>
<imports
originalCompilationUnit=
"//@compilationUnits.0"
importedElement=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.0"
/>
<imports
originalCompilationUnit=
"//@compilationUnits.0"
importedElement=
"//@ownedElements.1/@ownedPackages.0/@ownedElements.4"
/>
</compilationUnits>
</java:Model>
src/main/atl/analysis.atl
View file @
e0e51997
...
...
@@ -39,11 +39,15 @@ helper def: allMeasures(project : java!Model): Set(smm!Measure) =
--
thisModule.avoidThreadGroup(),
thisModule.useNotifyAllInsteadOfNotify(),
thisModule.dontCallThreadRun(),
-- Code Style rules
--
thisModule.avoidDollarSigns(),
thisModule.avoidPrefixingMethodParameters(),
thisModule.extendsObject(),
thisModule.fieldDeclarationsShouldBeAtStartOfClass(),
thisModule.genericsNaming(),
thisModule.longVariable(),
thisModule.misLeadingVariableName(),
...
...
@@ -56,19 +60,20 @@ helper def: allMeasures(project : java!Model): Set(smm!Measure) =
-- Design rules
--
thisModule.abstractClassWithoutAnyMethod(),
thisModule.avoidThrowingNullPointerException(),
thisModule.ExcessiveClassLength(),
thisModule.
IfBrace
s(),
thisModule.
excessiveImport
s(),
thisModule.excessiveParameterList(),
thisModule.finalFieldCouldBeStatic(),
thisModule.IfBraces(),
thisModule.longInstantiation(),
thisModule.returnFromFinallyBlock(),
thisModule.shortInstantiation(),
thisModule.signatureDeclareThrowsException(),
thisModule.tooManyFields(),
thisModule.tooManyMethods(),
-- thisModule.SimplifyBooleanAssertion(),
thisModule.abstractClassWithoutAnyMethod(),
thisModule.excessiveImports(),
thisModule.SimplifyBooleanAssertion(),
-- Performance rules
--
...
...
@@ -77,12 +82,15 @@ helper def: allMeasures(project : java!Model): Set(smm!Measure) =
thisModule.avoidRethrowingException(),
thisModule.avoidUsingShortType(),
thisModule.emptyStatementBlock(),
-- #FIXME:
-- thisModule.insufficientStringBufferDeclaration(),
thisModule.integerInstantiation(),
thisModule.useIndexOfChar(),
thisModule.uselessStringValueOf(),
-- #FIXME:
-- thisModule.startsWith(),
thisModule.tooFewBranchesForASwitchStatement(),
-- #FIXME: thisModule.useArraysAsList(),
thisModule.useIndexOfChar(),
thisModule.uselessStringValueOf(),
-- Documentation rules
--
...
...
@@ -97,6 +105,7 @@ helper def: allMeasures(project : java!Model): Set(smm!Measure) =
thisModule.AvoidEnumAsIdentifier(),
thisModule.CloneMethodMustBePublic(),
thisModule.doNotCallGarbageCollectionExplicitly(),
thisModule.doNotCallSystemExit(),
thisModule.doNotExtendJavaLangError(),
thisModule.doNotExtendJavaLangThrowable(),
thisModule.dontImportSun(),
...
...
@@ -105,6 +114,8 @@ helper def: allMeasures(project : java!Model): Set(smm!Measure) =
thisModule.emptySwitchStatement(),
thisModule.emptySynchronizedBlock(),
thisModule.emptyTryBlock(),
thisModule.emptyWhileStmt(),
thisModule.finalizeShouldBeProtected(),
thisModule.importFromSamePackage(),
thisModule.missingBreakInSwitch(),
thisModule.suspiciousEqualsMethodName(),
...
...
@@ -113,29 +124,26 @@ helper def: allMeasures(project : java!Model): Set(smm!Measure) =
thisModule.UseProperClassLoader(),
-- Best practices rules
-- #FIXME: thisModule.avoidReassigningParameters(),
thisModule.avoidStringBufferField(),
thisModule.forLoopVariableCount(),
thisModule.switchDensity(),
thisModule.useAssertSameInsteadOfAssertTrue(),
thisModule.useAssertTrueInsteadOfAssertEquals()
-- Bugged rules:
--
-- thisModule.avoidThrowingNullPointerException(),
-- thisModule.UseArrayListInsteadOfVector(),
-- thisModule.commentRequired(),
-- thisModule.compareObjectsWithEquals(),
-- thisModule.emptyWhileStmt(),
-- thisModule.emptyFinallyBlock(),
-- thisModule.emptyfinalizeMethod(),
-- thisModule.doNotThrowExceptionInFinally(),
-- thisModule.finalizeShouldBeProtected(),