![]() |
|
Navigation |
Synopsis Extract a full m3 model from an Eclipse project
Function
M3 createM3FromEclipseProject(loc project)
Usage
import lang::java::jdt::m3::Core;
Examples
rascal>import lang::java::jdt::m3::Core; ok rascal>myModel = createM3FromEclipseProject(|project://example-project|); M3: m3(|project://example-project|)[ @annotations={ <|java+method:///Apple/edible()|,|java+interface:///java/lang/Override|>, <|java+method:///Fruit/edible()|,|java+interface:///java/lang/Override|> }, @typeDependency={ <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,|java+class:///java/io/PrintStream|>, <|java+method:///Apple/edible()|,|java+primitiveType:///boolean|>, <|java+method:///Apple/edible()|,|java+interface:///java/lang/Override|>, <|java+method:///Fruit/edible()|,|java+primitiveType:///boolean|>, <|java+method:///Fruit/edible()|,|java+interface:///java/lang/Override|>, <|java+parameter:///HelloWorld/main(java.lang.String%5B%5D)/args|,|java+array:///java/lang/String%5B%5D|>, <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,|java+class:///java/lang/System|>, <|java+class:///Apple|,|java+class:///Fruit|>, <|java+method:///IFruit/edible()|,|java+primitiveType:///boolean|>, <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,|java+primitiveType:///void|>, <|java+parameter:///HelloWorld/main(java.lang.String%5B%5D)/args|,|java+class:///java/lang/String|>, <|java+class:///Fruit|,|java+interface:///IFruit|> }, @methodOverrides={ <|java+method:///Apple/edible()|,|java+method:///IFruit/edible()|>, <|java+method:///Fruit/edible()|,|java+method:///IFruit/edible()|>, <|java+method:///Apple/edible()|,|java+method:///Fruit/edible()|> }, @names={ <"IFruit",|java+interface:///IFruit|>, <"HelloWorld",|java+class:///HelloWorld|>, <"args",|java+parameter:///HelloWorld/main(java.lang.String%5B%5D)/args|>, <"edible",|java+method:///Fruit/edible()|>, <"out",|java+field:///java/lang/System/out|>, <"edible",|java+method:///Apple/edible()|>, <"main",|java+method:///HelloWorld/main(java.lang.String%5B%5D)|>, <"String",|java+class:///java/lang/String|>, <"edible",|java+method:///IFruit/edible()|>, <"println",|java+method:///java/io/PrintStream/println(java.lang.String)|>, <"Override",|java+interface:///java/lang/Override|>, <"System",|java+class:///java/lang/System|>, <"Apple",|java+class:///Apple|>, <"Fruit",|java+class:///Fruit|> }, @implements={<|java+class:///Fruit|,|java+interface:///IFruit|>}, @methodInvocation={<|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,|java+method:///java/io/PrintStream/println(java.lang.String)|>}, @containment={ <|java+compilationUnit:///src/IFruit.java|,|java+interface:///IFruit|>, <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,|java+parameter:///HelloWorld/main(java.lang.String%5B%5D)/args|>, <|java+class:///Fruit|,|java+method:///Fruit/edible()|>, <|java+class:///HelloWorld|,|java+method:///HelloWorld/main(java.lang.String%5B%5D)|>, <|java+compilationUnit:///src/Fruit.java|,|java+class:///Fruit|>, <|java+compilationUnit:///src/HelloWorld.java|,|java+class:///HelloWorld|>, <|java+class:///Apple|,|java+method:///Apple/edible()|>, <|java+interface:///IFruit|,|java+method:///IFruit/edible()|>, <|java+compilationUnit:///src/Apple.java|,|java+class:///Apple|> }, @documentation={}, @modifiers={ <|java+interface:///IFruit|,public()>, <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,static()>, <|java+class:///Fruit|,abstract()>, <|java+method:///Apple/edible()|,public()>, <|java+method:///Fruit/edible()|,public()>, <|java+class:///Apple|,public()>, <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,public()>, <|java+class:///HelloWorld|,public()>, <|java+method:///Fruit/edible()|,abstract()>, <|java+class:///Fruit|,public()> }, @fieldAccess={<|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,|java+field:///java/lang/System/out|>}, @messages=[], @uses={ <|project://example-project/src/Apple.java|(28,5,<2,27>,<2,32>),|java+class:///Fruit|>, <|project://example-project/src/HelloWorld.java|(71,6,<4,2>,<4,8>),|java+class:///java/lang/System|>, <|project://example-project/src/HelloWorld.java|(82,7,<4,13>,<4,20>),|java+method:///java/io/PrintStream/println(java.lang.String)|>, <|project://example-project/src/Fruit.java|(51,8,<3,2>,<3,10>),|java+interface:///java/lang/Override|>, <|project://example-project/src/Apple.java|(39,8,<4,2>,<4,10>),|java+interface:///java/lang/Override|>, <|project://example-project/src/HelloWorld.java|(78,3,<4,9>,<4,12>),|java+field:///java/lang/System/out|>, <|project://example-project/src/Fruit.java|(40,6,<2,39>,<2,45>),|java+interface:///IFruit|>, <|project://example-project/src/HelloWorld.java|(52,6,<3,25>,<3,31>),|java+class:///java/lang/String|> }, @types={ <|java+class:///HelloWorld|,class( |java+class:///HelloWorld|, [])>, <|java+class:///Fruit|,class( |java+class:///Fruit|, [])>, <|java+class:///Apple|,class( |java+class:///Apple|, [])>, <|java+method:///IFruit/edible()|,method( |java+method:///IFruit/edible()|, [], boolean(), [])>, <|java+parameter:///HelloWorld/main(java.lang.String%5B%5D)/args|,array( class( |java+class:///java/lang/String|, []), 1)>, <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,method( |java+method:///HelloWorld/main(java.lang.String%5B%5D)|, [], void(), [array( class( |java+class:///java/lang/String|, []), 1)])>, <|java+method:///Apple/edible()|,method( |java+method:///Apple/edible()|, [], boolean(), [])>, <|java+method:///Fruit/edible()|,method( |java+method:///Fruit/edible()|, [], boolean(), [])>, <|java+interface:///IFruit|,interface( |java+interface:///IFruit|, [])> }, @extends={<|java+class:///Apple|,|java+class:///Fruit|>}, @declarations={ <|java+method:///HelloWorld/main(java.lang.String%5B%5D)|,|project://example-project/src/HelloWorld.java|(28,82,<3,1>,<6,2>)>, <|java+compilationUnit:///src/IFruit.java|,|project://example-project/src/IFruit.java|(0,48,<1,0>,<4,2>)>, <|java+method:///Apple/edible()|,|project://example-project/src/Apple.java|(38,54,<4,1>,<7,2>)>, <|java+parameter:///HelloWorld/main(java.lang.String%5B%5D)/args|,|project://example-project/src/HelloWorld.java|(52,13,<3,25>,<3,38>)>, <|java+compilationUnit:///src/HelloWorld.java|,|project://example-project/src/HelloWorld.java|(0,113,<1,0>,<7,2>)>, <|java+class:///HelloWorld|,|project://example-project/src/HelloWorld.java|(1,111,<2,0>,<7,1>)>, <|java+compilationUnit:///src/Apple.java|,|project://example-project/src/Apple.java|(0,96,<1,0>,<9,2>)>, <|java+class:///Apple|,|project://example-project/src/Apple.java|(1,94,<2,0>,<9,1>)>, <|java+class:///Fruit|,|project://example-project/src/Fruit.java|(1,95,<2,0>,<5,1>)>, <|java+interface:///IFruit|,|project://example-project/src/IFruit.java|(1,46,<2,0>,<4,1>)>, <|java+compilationUnit:///src/Fruit.java|,|project://example-project/src/Fruit.java|(0,97,<1,0>,<5,2>)>, <|java+method:///IFruit/edible()|,|project://example-project/src/IFruit.java|(28,17,<3,1>,<3,18>)>, <|java+method:///Fruit/edible()|,|project://example-project/src/Fruit.java|(50,44,<3,1>,<4,34>)> } ] ![]() |