Skip to content

Commit

Permalink
review al IModule.save usages and fix where needed
Browse files Browse the repository at this point in the history
  • Loading branch information
Mihail Muhin authored and Mihail Muhin committed Aug 6, 2012
1 parent f5adb8f commit 55b9580
Show file tree
Hide file tree
Showing 71 changed files with 947 additions and 753 deletions.
1 change: 0 additions & 1 deletion MPS.mpr
Expand Up @@ -310,7 +310,6 @@
<modulePath path="${project}/plugins/execution-languages/languages/tests/tests.msd" folder="languages.execution.languages-plugin" />
<modulePath path="${project}/plugins/execution-languages/languages/util/util.mpl" folder="languages.execution" />
<modulePath path="${project}/plugins/ideaIntegration/jetbrains.mps.ideaIntegration.msd" folder="plugins" />
<modulePath path="${project}/plugins/migration/solution/jetbrains.mps.ide.migration.msd" folder="plugins" />
<modulePath path="${project}/plugins/migration25/solution/migration25.msd" folder="plugins" />
<modulePath path="${project}/plugins/modelchecker/solution/jetbrains.mps.ide.modelchecker.msd" folder="plugins" />
<modulePath path="${project}/plugins/mps-build/languages/bash/bash.mpl" folder="build" />
Expand Down
4 changes: 2 additions & 2 deletions core/devkits/jetbrains.mps.devkit.bootstrap-languages.devkit
Expand Up @@ -14,11 +14,11 @@
<exported-language name="b83431fe-5c8f-40bc-8a36-65e25f4dd253(jetbrains.mps.lang.textGen)" />
<exported-language name="18bc6592-03a6-4e29-a83a-7ff23bde13ba(jetbrains.mps.lang.editor)" />
<exported-language name="ef703a71-a5a3-42af-b53c-ddced816ad5c(jetbrains.mps.lang.stubs)" />
<exported-language name="3a13115c-633c-4c5c-bbcc-75c4219e9555(jetbrains.mps.lang.quotation)" />
<exported-language name="64d34fcd-ad02-4e73-aff8-a581124c2e30(jetbrains.mps.lang.findUsages)" />
<exported-language name="3a13115c-633c-4c5c-bbcc-75c4219e9555(jetbrains.mps.lang.quotation)" />
<exported-language name="0eddeefa-c2d6-4437-bc2c-de50fd4ce470(jetbrains.mps.lang.script)" />
<exported-language name="13744753-c81f-424a-9c1b-cf8943bf4e86(jetbrains.mps.lang.sharedConcepts)" />
<exported-language name="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1(jetbrains.mps.lang.constraints)" />
<exported-language name="13744753-c81f-424a-9c1b-cf8943bf4e86(jetbrains.mps.lang.sharedConcepts)" />
<exported-language name="d4615e3b-d671-4ba9-af01-2b78369b0ba7(jetbrains.mps.lang.pattern)" />
</dev-kit>

10 changes: 5 additions & 5 deletions core/devkits/jetbrains.mps.devkit.general-purpose.devkit
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<dev-kit name="jetbrains.mps.devkit.general-purpose" uuid="fbc25dd2-5da4-483a-8b19-70928e1b62d7">
<exported-language name="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
<exported-language name="fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)" />
<exported-language name="83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)" />
<exported-language name="760a0a8c-eabb-4521-8bfd-65db761a9ba3(jetbrains.mps.baseLanguage.logging)" />
<exported-language name="a247e09e-2435-45ba-b8d2-07e93feba96a(jetbrains.mps.baseLanguage.tuples)" />
<exported-language name="3a13115c-633c-4c5c-bbcc-75c4219e9555(jetbrains.mps.lang.quotation)" />
<exported-language name="7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)" />
<exported-language name="3a13115c-633c-4c5c-bbcc-75c4219e9555(jetbrains.mps.lang.quotation)" />
<exported-language name="fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)" />
<exported-language name="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
<exported-language name="a247e09e-2435-45ba-b8d2-07e93feba96a(jetbrains.mps.baseLanguage.tuples)" />
<exported-language name="83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)" />
</dev-kit>

10 changes: 5 additions & 5 deletions core/kernel/kernelSolution/jetbrains/mps/kernel/model.mps
Expand Up @@ -2884,13 +2884,13 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="4193578441192065240">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="4193578441192065241">
<node role="operand" roleId="tpee.1197027771414" type="tpee.LocalVariableReference" typeId="tpee.1068581242866" id="4193578441192065242">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3378324197268254031">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3378324197268254043">
<node role="operand" roleId="tpee.1197027771414" type="tpee.LocalVariableReference" typeId="tpee.1068581242866" id="3378324197268254032">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4193578441192065028" resolveInfo="module" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="4193578441192065243">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="vsqj.~IModule%dsave()%cvoid" resolveInfo="save" />
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3378324197268254049">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="vsqj.~IModule%dinvalidateDependencies()%cvoid" resolveInfo="invalidateDependencies" />
</node>
</node>
</node>
Expand Down
16 changes: 10 additions & 6 deletions core/kernel/source/jetbrains/mps/project/AbstractModule.java
Expand Up @@ -630,14 +630,18 @@ private void handleReadProblem(Exception e, boolean isInConflict) {
e.printStackTrace();
}

public boolean updateSModelReferences() {
if (getModuleDescriptor() == null) return false;
return getModuleDescriptor().updateModelRefs();
public void updateSModelReferences() {
if (getModuleDescriptor() == null) return;
if (getModuleDescriptor().updateModelRefs()){
setChanged();
}
}

public boolean updateModuleReferences() {
if (getModuleDescriptor() == null) return false;
return getModuleDescriptor().updateModuleRefs();
public void updateModuleReferences() {
if (getModuleDescriptor() == null) return;
if (getModuleDescriptor().updateModuleRefs()){
setChanged();
}
}

public void invalidateDependencies() {
Expand Down
2 changes: 2 additions & 0 deletions core/kernel/source/jetbrains/mps/project/IModule.java
Expand Up @@ -109,6 +109,8 @@ public interface IModule extends ModelOwner {

boolean isChanged();

void setChanged();

void save();

void onModuleLoad();
Expand Down
15 changes: 2 additions & 13 deletions core/kernel/source/jetbrains/mps/project/ReferenceUpdater.java
Expand Up @@ -50,19 +50,8 @@ public void updateModuleReferences() {
for (IModule m : MPSModuleRepository.getInstance().getAllModules()) {
AbstractModule module = (AbstractModule) m;

boolean needSaving = false;

if (module.updateSModelReferences()) {
needSaving = true;
}

if (module.updateModuleReferences()) {
needSaving = true;
}

if (needSaving && !module.isPackaged()) {
module.save();
}
module.updateSModelReferences();
module.updateModuleReferences();
}
}
}
11 changes: 4 additions & 7 deletions core/kernel/source/jetbrains/mps/smodel/Language.java
Expand Up @@ -102,7 +102,6 @@ public void addExtendedLanguage(ModuleReference langRef) {
LanguageDescriptor moduleDescriptor = getModuleDescriptor();
moduleDescriptor.getExtendedLanguages().add(langRef);
setModuleDescriptor(moduleDescriptor, true);
save();
}

public Set<ModuleReference> getExtendedLanguageRefs() {
Expand Down Expand Up @@ -144,18 +143,16 @@ protected ModuleDescriptor loadDescriptor() {
}

public void validateExtends() {
boolean changed = false;
List<ModuleReference> remove = new ArrayList<ModuleReference>();
for (ModuleReference ref : myLanguageDescriptor.getExtendedLanguages()) {
if (getModuleFqName().equals(ref.getModuleFqName())) {
remove.add(ref);
changed = true;
}
}
myLanguageDescriptor.getExtendedLanguages().removeAll(remove);

if (changed && !getDescriptorFile().isReadOnly()) {
save();
if (!remove.isEmpty()){
myLanguageDescriptor.getExtendedLanguages().removeAll(remove);
setChanged();
}
}

Expand Down Expand Up @@ -215,6 +212,7 @@ public void setLanguageDescriptor(final LanguageDescriptor newDescriptor, boolea
}

invalidateDependencies();
setChanged();
}

public boolean isBootstrap() {
Expand Down Expand Up @@ -397,7 +395,6 @@ public void removeAccessoryModel(SModelDescriptor sm) {
}
}
setLanguageDescriptor(myLanguageDescriptor, true);
save();
}

public String toString() {
Expand Down
Expand Up @@ -94,7 +94,7 @@ public void run() {
if (wereChanges) {
module.setModuleDescriptor(md, reload);
module.invalidateCaches();
module.save();
module.invalidateDependencies();
}
}
});
Expand Down
2 changes: 1 addition & 1 deletion languages/baseLanguage/collections/collections.mpl
Expand Up @@ -104,8 +104,8 @@
</runtime>
<extendedLanguages>
<extendedLanguage>ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)</extendedLanguage>
<extendedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</extendedLanguage>
<extendedLanguage>fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)</extendedLanguage>
<extendedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</extendedLanguage>
</extendedLanguages>
</language>

11 changes: 10 additions & 1 deletion languages/core/stub/JDK.Tools/Tools.msd
@@ -1,6 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="JDK.Tools" uuid="fdb93da0-59ed-4001-b2aa-4fad79ec058e" compileInMPS="false">
<models />
<models>
<modelRoot path="${mps_home}/lib/tools.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</modelRoot>
</models>
<stubModelEntries>
<stubModelEntry path="${mps_home}/lib/tools.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</stubModelEntry>
</stubModelEntries>
<sourcePath />
<dependencies>
<dependency reexport="true">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
Expand Down
29 changes: 28 additions & 1 deletion languages/core/stub/JDK/JDK.msd
@@ -1,6 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="JDK" uuid="6354ebe7-c22a-4a0f-ac54-50b52ab9b065" compileInMPS="false">
<models />
<models>
<modelRoot path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</modelRoot>
<modelRoot path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</modelRoot>
<modelRoot path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jce.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</modelRoot>
<modelRoot path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</modelRoot>
</models>
<stubModelEntries>
<stubModelEntry path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</stubModelEntry>
<stubModelEntry path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</stubModelEntry>
<stubModelEntry path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jce.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</stubModelEntry>
<stubModelEntry path="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar">
<manager moduleId="f3061a53-9226-4cc5-a443-f952ceaf5816" className="jetbrains.mps.baseLanguage.stubs.JavaStubs" />
</stubModelEntry>
</stubModelEntries>
<sourcePath />
<usedLanguages>
<usedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</usedLanguage>
Expand Down

0 comments on commit 55b9580

Please sign in to comment.