Loading Build/feature/feature.xml +1 −2 Original line number Diff line number Diff line Loading @@ -68,14 +68,13 @@ <import plugin="org.eclipse.emf.ecore.xmi" version="2.11.1" match="greaterOrEqual"/> <import plugin="org.eclipse.gmf.runtime.notation" version="1.8.0" match="greaterOrEqual"/> <import plugin="com.google.guava"/> <import plugin="mechanisms"/> <import plugin="org.codeling.lang.cocome.metamodel" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.eclipse.jdt.ui"/> <import plugin="org.eclipse.ui.ide" version="3.9.1" match="greaterOrEqual"/> <import plugin="org.eclipse.jface.text"/> <import plugin="org.eclipse.ui.editors"/> <import plugin="de.tub.tfs.muvitor" version="1.0.0" match="greaterOrEqual"/> <import plugin="mechanisms" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.codeling.mechanisms" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.eclipse.uml2.uml" version="5.3.0" match="greaterOrEqual"/> <import plugin="org.codeling.lang.jee.metamodel" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.eclipse.osgi" version="3.12.0" match="greaterOrEqual"/> Loading Build/targetdefinition/org.codeling.target-with-external-dependencies.target +6 −3 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="34"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="34"> <locations> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.platform.ide" version="4.5.2.M20160212-1500"/> Loading Loading @@ -32,6 +31,10 @@ <unit id="org.modelversioning.emfprofile.feature.feature.group" version="1.0.0.201612051406"/> <repository location="http://www.s3.uni-due.de/pub/p2/codeling/"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.xwt.feature.feature.group" version="1.3.1.I20171018-2059"/> <repository location="http://download.eclipse.org/releases/oxygen"/> </location> </locations> <targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> </target> No newline at end of file Build/targetdefinition/org.codeling.target.target +24 −25 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="44"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="44"> <locations> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/> <unit id="org.eclipse.emf.sdk.feature.group" version="2.13.0.v20170609-0928"/> <unit id="org.eclipse.equinox.sdk.feature.group" version="3.13.1.v20170928-1405"/> <unit id="org.eclipse.gmf.feature.group" version="1.11.0.201706061437"/> <unit id="org.eclipse.m2e.feature.feature.group" version="1.8.2.20171007-0217"/> <unit id="org.eclipse.m2e.wtp.feature.feature.group" version="1.3.3.20170823-1905"/> <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="3.1.0.201709130748"/> <unit id="org.eclipse.pde.feature.group" version="3.13.1.v20171009-0537"/> <unit id="org.eclipse.egit.feature.group"/> <unit id="org.eclipse.emf.sdk.feature.group"/> <unit id="org.eclipse.equinox.sdk.feature.group"/> <unit id="org.eclipse.gmf.feature.group"/> <unit id="org.eclipse.m2e.feature.feature.group"/> <unit id="org.eclipse.m2e.wtp.feature.feature.group"/> <unit id="org.eclipse.papyrus.sdk.feature.feature.group"/> <unit id="org.eclipse.pde.feature.group"/> <repository location="http://download.eclipse.org/releases/oxygen"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="de.tub.tfs.henshin.editor.feature.feature.group" version="1.0.0"/> <unit id="de.tub.tfs.henshin.tgg.feature.feature.group" version="1.0.0"/> <unit id="de.tub.tfs.muvitor.feature.feature.group" version="1.0.0"/> <unit id="org.modelversioning.emfprofile.feature.feature.group" version="1.0.0.201612051406"/> <repository location="http://www.s3.uni-due.de/pub/p2/codeling/"/> <unit id="de.tub.tfs.henshin.editor.feature.feature.group"/> <unit id="de.tub.tfs.henshin.tgg.feature.feature.group"/> <unit id="de.tub.tfs.muvitor.feature.feature.group"/> <unit id="org.modelversioning.emfprofile.feature.feature.group"/> <repository location="https://codeling.de/dependencies/"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.palladiosimulator.editors.gmf.feature.feature.group" version="4.0.0.201511051149"/> <unit id="org.palladiosimulator.pcm.feature.feature.group" version="4.0.0.201511051136"/> <unit id="org.palladiosimulator.editors.gmf.feature.feature.group"/> <unit id="org.palladiosimulator.pcm.feature.feature.group"/> <repository location="https://sdqweb.ipd.kit.edu/eclipse/palladiosimulator/releases/1.0.0/"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.emf.henshin.sdk.feature.group" version="1.4.0.201611301400"/> <unit id="org.eclipse.emf.henshin.sdk.feature.group"/> <repository location="http://download.eclipse.org/modeling/emft/henshin/updates/1.4.0"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.antlr.runtime" version="4.3.0.v201502022030"/> <unit id="org.apache.batik.css" version="1.7.0.v201011041433"/> <unit id="org.apache.batik.util" version="1.7.0.v201011041433"/> <unit id="org.apache.batik.util.gui" version="1.7.0.v200903091627"/> <unit id="org.apache.commons.io" version="2.2.0.v201405211200"/> <unit id="org.antlr.runtime"/> <unit id="org.apache.batik.css"/> <unit id="org.apache.batik.util"/> <unit id="org.apache.batik.util.gui"/> <unit id="org.apache.commons.io"/> <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20170919201930/repository"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.xtend.sdk.feature.group" version="2.13.0.v20171013-1050"/> <unit id="org.eclipse.xtend.sdk.feature.group"/> <repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/"/> </location> </locations> Loading Language Integration/Commons/lang.base.java/src/main/java/org/codeling/lang/base/java/ASTCache.java 0 → 100644 +47 −0 Original line number Diff line number Diff line package org.codeling.lang.base.java; import java.util.LinkedHashMap; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IPackageFragmentRoot; /** * A cache for speeding up element searches in JDT. */ public class ASTCache { private static ASTCache instance; public static ASTCache instance() { if (instance == null) instance = new ASTCache(); return instance; } private int requests = 0; private int hits = 0; private ASTCache() { } public float getHitRatio() { if (requests == 0) return 0f; return (float)hits / (float)requests; } LinkedHashMap<IJavaElement, IPackageFragmentRoot> packageFragmentRoots = new LinkedHashMap<>(); public IPackageFragmentRoot getPackageFragmentRoot(IJavaElement element) { requests++; IPackageFragmentRoot result = packageFragmentRoots.get(element); if(result != null) hits++; return result; } public void addPackageFragmentRoot(IJavaElement element, IPackageFragmentRoot fragmentRoot) { packageFragmentRoots.put(element, fragmentRoot); } } Language Integration/Commons/lang.base.java/src/main/java/org/codeling/lang/base/java/ASTUtils.java +14 −5 Original line number Diff line number Diff line Loading @@ -831,7 +831,16 @@ public class ASTUtils { return (IPackageFragmentRoot) element; if (element.getParent() == null) throw new IllegalArgumentException("Element has no package fragment root. " + element.getPath().toString()); return getPackageFragmentRoot(element.getParent()); ASTCache cache = ASTCache.instance(); IPackageFragmentRoot cached = cache.getPackageFragmentRoot(element); if (cached != null) return cached; IPackageFragmentRoot result = getPackageFragmentRoot(element.getParent()); if (cache != null) cache.addPackageFragmentRoot(element, result); return result; } public static List<IPackageFragment> getDirectChildPackageFragmentsOf(IPackageFragment parent) Loading Loading
Build/feature/feature.xml +1 −2 Original line number Diff line number Diff line Loading @@ -68,14 +68,13 @@ <import plugin="org.eclipse.emf.ecore.xmi" version="2.11.1" match="greaterOrEqual"/> <import plugin="org.eclipse.gmf.runtime.notation" version="1.8.0" match="greaterOrEqual"/> <import plugin="com.google.guava"/> <import plugin="mechanisms"/> <import plugin="org.codeling.lang.cocome.metamodel" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.eclipse.jdt.ui"/> <import plugin="org.eclipse.ui.ide" version="3.9.1" match="greaterOrEqual"/> <import plugin="org.eclipse.jface.text"/> <import plugin="org.eclipse.ui.editors"/> <import plugin="de.tub.tfs.muvitor" version="1.0.0" match="greaterOrEqual"/> <import plugin="mechanisms" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.codeling.mechanisms" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.eclipse.uml2.uml" version="5.3.0" match="greaterOrEqual"/> <import plugin="org.codeling.lang.jee.metamodel" version="1.0.0" match="greaterOrEqual"/> <import plugin="org.eclipse.osgi" version="3.12.0" match="greaterOrEqual"/> Loading
Build/targetdefinition/org.codeling.target-with-external-dependencies.target +6 −3 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="34"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="34"> <locations> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.platform.ide" version="4.5.2.M20160212-1500"/> Loading Loading @@ -32,6 +31,10 @@ <unit id="org.modelversioning.emfprofile.feature.feature.group" version="1.0.0.201612051406"/> <repository location="http://www.s3.uni-due.de/pub/p2/codeling/"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.xwt.feature.feature.group" version="1.3.1.I20171018-2059"/> <repository location="http://download.eclipse.org/releases/oxygen"/> </location> </locations> <targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> </target> No newline at end of file
Build/targetdefinition/org.codeling.target.target +24 −25 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="44"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="44"> <locations> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/> <unit id="org.eclipse.emf.sdk.feature.group" version="2.13.0.v20170609-0928"/> <unit id="org.eclipse.equinox.sdk.feature.group" version="3.13.1.v20170928-1405"/> <unit id="org.eclipse.gmf.feature.group" version="1.11.0.201706061437"/> <unit id="org.eclipse.m2e.feature.feature.group" version="1.8.2.20171007-0217"/> <unit id="org.eclipse.m2e.wtp.feature.feature.group" version="1.3.3.20170823-1905"/> <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="3.1.0.201709130748"/> <unit id="org.eclipse.pde.feature.group" version="3.13.1.v20171009-0537"/> <unit id="org.eclipse.egit.feature.group"/> <unit id="org.eclipse.emf.sdk.feature.group"/> <unit id="org.eclipse.equinox.sdk.feature.group"/> <unit id="org.eclipse.gmf.feature.group"/> <unit id="org.eclipse.m2e.feature.feature.group"/> <unit id="org.eclipse.m2e.wtp.feature.feature.group"/> <unit id="org.eclipse.papyrus.sdk.feature.feature.group"/> <unit id="org.eclipse.pde.feature.group"/> <repository location="http://download.eclipse.org/releases/oxygen"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="de.tub.tfs.henshin.editor.feature.feature.group" version="1.0.0"/> <unit id="de.tub.tfs.henshin.tgg.feature.feature.group" version="1.0.0"/> <unit id="de.tub.tfs.muvitor.feature.feature.group" version="1.0.0"/> <unit id="org.modelversioning.emfprofile.feature.feature.group" version="1.0.0.201612051406"/> <repository location="http://www.s3.uni-due.de/pub/p2/codeling/"/> <unit id="de.tub.tfs.henshin.editor.feature.feature.group"/> <unit id="de.tub.tfs.henshin.tgg.feature.feature.group"/> <unit id="de.tub.tfs.muvitor.feature.feature.group"/> <unit id="org.modelversioning.emfprofile.feature.feature.group"/> <repository location="https://codeling.de/dependencies/"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.palladiosimulator.editors.gmf.feature.feature.group" version="4.0.0.201511051149"/> <unit id="org.palladiosimulator.pcm.feature.feature.group" version="4.0.0.201511051136"/> <unit id="org.palladiosimulator.editors.gmf.feature.feature.group"/> <unit id="org.palladiosimulator.pcm.feature.feature.group"/> <repository location="https://sdqweb.ipd.kit.edu/eclipse/palladiosimulator/releases/1.0.0/"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.emf.henshin.sdk.feature.group" version="1.4.0.201611301400"/> <unit id="org.eclipse.emf.henshin.sdk.feature.group"/> <repository location="http://download.eclipse.org/modeling/emft/henshin/updates/1.4.0"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.antlr.runtime" version="4.3.0.v201502022030"/> <unit id="org.apache.batik.css" version="1.7.0.v201011041433"/> <unit id="org.apache.batik.util" version="1.7.0.v201011041433"/> <unit id="org.apache.batik.util.gui" version="1.7.0.v200903091627"/> <unit id="org.apache.commons.io" version="2.2.0.v201405211200"/> <unit id="org.antlr.runtime"/> <unit id="org.apache.batik.css"/> <unit id="org.apache.batik.util"/> <unit id="org.apache.batik.util.gui"/> <unit id="org.apache.commons.io"/> <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20170919201930/repository"/> </location> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.xtend.sdk.feature.group" version="2.13.0.v20171013-1050"/> <unit id="org.eclipse.xtend.sdk.feature.group"/> <repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/"/> </location> </locations> Loading
Language Integration/Commons/lang.base.java/src/main/java/org/codeling/lang/base/java/ASTCache.java 0 → 100644 +47 −0 Original line number Diff line number Diff line package org.codeling.lang.base.java; import java.util.LinkedHashMap; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IPackageFragmentRoot; /** * A cache for speeding up element searches in JDT. */ public class ASTCache { private static ASTCache instance; public static ASTCache instance() { if (instance == null) instance = new ASTCache(); return instance; } private int requests = 0; private int hits = 0; private ASTCache() { } public float getHitRatio() { if (requests == 0) return 0f; return (float)hits / (float)requests; } LinkedHashMap<IJavaElement, IPackageFragmentRoot> packageFragmentRoots = new LinkedHashMap<>(); public IPackageFragmentRoot getPackageFragmentRoot(IJavaElement element) { requests++; IPackageFragmentRoot result = packageFragmentRoots.get(element); if(result != null) hits++; return result; } public void addPackageFragmentRoot(IJavaElement element, IPackageFragmentRoot fragmentRoot) { packageFragmentRoots.put(element, fragmentRoot); } }
Language Integration/Commons/lang.base.java/src/main/java/org/codeling/lang/base/java/ASTUtils.java +14 −5 Original line number Diff line number Diff line Loading @@ -831,7 +831,16 @@ public class ASTUtils { return (IPackageFragmentRoot) element; if (element.getParent() == null) throw new IllegalArgumentException("Element has no package fragment root. " + element.getPath().toString()); return getPackageFragmentRoot(element.getParent()); ASTCache cache = ASTCache.instance(); IPackageFragmentRoot cached = cache.getPackageFragmentRoot(element); if (cached != null) return cached; IPackageFragmentRoot result = getPackageFragmentRoot(element.getParent()); if (cache != null) cache.addPackageFragmentRoot(element, result); return result; } public static List<IPackageFragment> getDirectChildPackageFragmentsOf(IPackageFragment parent) Loading