mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Reimplementing deltas as persistent (jps/incremental).
This commit is contained in:
Generated
+2
-2
@@ -87,10 +87,10 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/smRunner/smRunner.iml" filepath="$PROJECT_DIR$/platform/smRunner/smRunner.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/smartcvs-src/smartcvs-src.iml" filepath="$PROJECT_DIR$/plugins/cvs/smartcvs-src/smartcvs-src.iml" group="plugins/VCS/cvs" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/spellchecker/spellchecker.iml" filepath="$PROJECT_DIR$/plugins/spellchecker/spellchecker.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4ideaOld/svn4ideaOld.iml" filepath="$PROJECT_DIR$/plugins/svn4ideaOld/svn4ideaOld.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4ideaOld/svn4idea-testsOld.iml" filepath="$PROJECT_DIR$/plugins/svn4ideaOld/svn4idea-testsOld.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4idea/svn4idea.iml" filepath="$PROJECT_DIR$/plugins/svn4idea/svn4idea.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4idea/svn4idea-tests.iml" filepath="$PROJECT_DIR$/plugins/svn4idea/svn4idea-tests.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4ideaOld/svn4idea-testsOld.iml" filepath="$PROJECT_DIR$/plugins/svn4ideaOld/svn4idea-testsOld.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4ideaOld/svn4ideaOld.iml" filepath="$PROJECT_DIR$/plugins/svn4ideaOld/svn4ideaOld.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-api/tasks-api.iml" filepath="$PROJECT_DIR$/plugins/tasks/tasks-api/tasks-api.iml" group="plugins/tasks" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-core/tasks-core.iml" filepath="$PROJECT_DIR$/plugins/tasks/tasks-core/tasks-core.iml" group="plugins/tasks" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-java/tasks-java.iml" filepath="$PROJECT_DIR$/plugins/tasks/tasks-java/tasks-java.iml" group="plugins/tasks" />
|
||||
|
||||
@@ -88,7 +88,7 @@ class DependencyContext {
|
||||
}
|
||||
}
|
||||
|
||||
private S(final int i) {
|
||||
/*private*/ S(final int i) {
|
||||
index = i;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,5 +34,5 @@ interface Maplet<K, V> {
|
||||
void remove(final Object key);
|
||||
void close();
|
||||
Collection<K> keyCollection();
|
||||
Set<Map.Entry<K, V>> entrySet();
|
||||
Collection<Map.Entry<K, V>> entrySet();
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ public class Mappings {
|
||||
private final static String mySourceToUsagesName = "sourceToUsages.tab";
|
||||
private final static String myClassToSourceName = "classToSource.tab";
|
||||
|
||||
private final boolean myIsTansient;
|
||||
|
||||
private final File myRootDir;
|
||||
private DependencyContext myContext;
|
||||
private MultiMaplet<DependencyContext.S, DependencyContext.S> myClassToSubclasses;
|
||||
@@ -59,9 +61,15 @@ public class Mappings {
|
||||
}
|
||||
};
|
||||
|
||||
private Mappings(final DependencyContext context) {
|
||||
myRootDir = null;
|
||||
myContext = context;
|
||||
private Mappings(final Mappings base) throws IOException {
|
||||
myIsTansient = true;
|
||||
|
||||
myRootDir = new File(FileUtil.toSystemIndependentName(base.myRootDir.getAbsolutePath()) + File.separatorChar + "delta");
|
||||
myContext = base.myContext;
|
||||
|
||||
myRootDir.mkdirs();
|
||||
|
||||
//createImplementation(myRootDir, myIsTansient);
|
||||
|
||||
myClassToSubclasses = new TransientMultiMaplet<DependencyContext.S, DependencyContext.S>(ourStringSetConstructor);
|
||||
mySourceFileToClasses = new TransientMultiMaplet<DependencyContext.S, ClassRepr>(ourClassSetConstructor);
|
||||
@@ -72,12 +80,15 @@ public class Mappings {
|
||||
}
|
||||
|
||||
public Mappings(final File rootDir) throws IOException {
|
||||
myIsTansient = false;
|
||||
myRootDir = rootDir;
|
||||
createPersistentImplementation(rootDir);
|
||||
createImplementation(rootDir, myIsTansient);
|
||||
}
|
||||
|
||||
private void createPersistentImplementation(File rootDir) throws IOException {
|
||||
myContext = new DependencyContext(rootDir);
|
||||
private void createImplementation(final File rootDir, final boolean isTransient) throws IOException {
|
||||
if (! isTransient) {
|
||||
myContext = new DependencyContext(rootDir);
|
||||
}
|
||||
|
||||
myClassToSubclasses =
|
||||
new PersistentMultiMaplet<DependencyContext.S, DependencyContext.S>(DependencyContext.getTableFile(rootDir, myClassToSubclassesName),
|
||||
@@ -110,7 +121,12 @@ public class Mappings {
|
||||
}
|
||||
|
||||
public Mappings createDelta() {
|
||||
return new Mappings(myContext);
|
||||
try {
|
||||
return new Mappings(this);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void clearMemoryCaches() {
|
||||
@@ -149,7 +165,7 @@ public class Mappings {
|
||||
if (myRootDir != null) {
|
||||
close();
|
||||
FileUtil.delete(myRootDir);
|
||||
createPersistentImplementation(myRootDir);
|
||||
createImplementation(myRootDir, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -555,7 +571,8 @@ public class Mappings {
|
||||
dependents.addAll(deps);
|
||||
}
|
||||
|
||||
affectedUsages.add(rootUsage instanceof UsageRepr.MetaMethodUsage ? method.createMetaUsage(myContext, p) : method.createUsage(myContext, p));
|
||||
affectedUsages
|
||||
.add(rootUsage instanceof UsageRepr.MetaMethodUsage ? method.createMetaUsage(myContext, p) : method.createUsage(myContext, p));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -811,22 +828,6 @@ public class Mappings {
|
||||
else {
|
||||
final Collection<DependencyContext.S> propagated = u.propagateMethodAccess(m.name, it.name);
|
||||
u.affectMethodUsages(m, propagated, m.createMetaUsage(myContext, it.name), affectedUsages, dependants);
|
||||
|
||||
/*
|
||||
final UsageRepr.Usage usage = it.createUsage();
|
||||
|
||||
affectedUsages.add(usage);
|
||||
|
||||
if ((m.access & Opcodes.ACC_PUBLIC) > 0) {
|
||||
|
||||
}
|
||||
else if (isPackageLocal(m.access)) {
|
||||
usageConstraints.put(usage, u.new PackageConstraint(it.getPackageName()));
|
||||
}
|
||||
else if ((m.access & Opcodes.ACC_PROTECTED) > 0) {
|
||||
usageConstraints.put(usage, u.new InheritanceConstraint(it.name));
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -838,7 +839,9 @@ public class Mappings {
|
||||
final Collection<MethodRepr> lessSpecific = it.findMethods(u.lessSpecific(m));
|
||||
|
||||
for (MethodRepr mm : lessSpecific) {
|
||||
u.affectMethodUsages(mm, propagated, mm.createUsage(myContext, it.name), affectedUsages, dependants);
|
||||
if (!mm.equals(m)) {
|
||||
u.affectMethodUsages(mm, propagated, mm.createUsage(myContext, it.name), affectedUsages, dependants);
|
||||
}
|
||||
}
|
||||
|
||||
for (Pair<MethodRepr, ClassRepr> p : affectedMethods) {
|
||||
@@ -1295,6 +1298,10 @@ public class Mappings {
|
||||
}
|
||||
}
|
||||
|
||||
//final Set<ClassRepr> cl = (Set<ClassRepr>) delta.mySourceFileToClasses.get(new DependencyContext.S(352));
|
||||
|
||||
//System.out.println("There: " + (cl == null ? "wow..." : cl.size()));
|
||||
|
||||
myClassToSubclasses.putAll(delta.myClassToSubclasses);
|
||||
mySourceFileToClasses.putAll(delta.mySourceFileToClasses);
|
||||
mySourceFileToUsages.putAll(delta.mySourceFileToUsages);
|
||||
@@ -1398,15 +1405,22 @@ public class Mappings {
|
||||
}
|
||||
|
||||
public void close() {
|
||||
if (myRootDir != null) {
|
||||
// only close if you own the context
|
||||
myContext.close();
|
||||
}
|
||||
myClassToSubclasses.close();
|
||||
myClassToClassDependency.close();
|
||||
mySourceFileToClasses.close();
|
||||
mySourceFileToAnnotationUsages.close();
|
||||
mySourceFileToUsages.close();
|
||||
myClassToSourceFile.close();
|
||||
|
||||
if (!myIsTansient) {
|
||||
// only close if you own the context
|
||||
//final Set<ClassRepr> classes = (Set<ClassRepr>)mySourceFileToClasses.get(new DependencyContext.S(352));
|
||||
//System.out.println("Here: " + (classes == null ? "wow..." : classes.size()));
|
||||
|
||||
myContext.close();
|
||||
}
|
||||
else {
|
||||
FileUtil.delete(myRootDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,16 +154,6 @@ class MethodRepr extends ProtoMember {
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
static Predicate equal(final MethodRepr me){
|
||||
return new Predicate() {
|
||||
@Override
|
||||
public boolean satisfy(MethodRepr that) {
|
||||
return me.equals(that);
|
||||
}
|
||||
};
|
||||
}
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
|
||||
@@ -37,5 +37,5 @@ interface MultiMaplet<K, V> {
|
||||
void removeAll(final K key, final Collection<V> value);
|
||||
void close();
|
||||
Collection<K> keyCollection();
|
||||
Set<Map.Entry<K, Collection<V>>> entrySet();
|
||||
Collection<Map.Entry<K, Collection<V>>> entrySet();
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ import com.intellij.util.io.PersistentHashMap;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
@@ -33,11 +33,11 @@ import java.util.Set;
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
private final PersistentHashMap<K, V> map;
|
||||
private final PersistentHashMap<K, V> myMap;
|
||||
|
||||
public PersistentMaplet(final File file, final KeyDescriptor<K> k, final DataExternalizer<V> v) {
|
||||
try {
|
||||
map = new PersistentHashMap<K, V>(file, k, v);
|
||||
myMap = new PersistentHashMap<K, V>(file, k, v);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -47,7 +47,7 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
@Override
|
||||
public boolean containsKey(final Object key) {
|
||||
try {
|
||||
return map.containsMapping((K)key);
|
||||
return myMap.containsMapping((K)key);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -57,7 +57,7 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
@Override
|
||||
public V get(final Object key) {
|
||||
try {
|
||||
return map.get((K)key);
|
||||
return myMap.get((K)key);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -67,7 +67,7 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
@Override
|
||||
public void put(final K key, final V value) {
|
||||
try {
|
||||
map.put(key, value);
|
||||
myMap.put(key, value);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -78,7 +78,7 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
public void putAll(final Maplet<K, V> m) {
|
||||
try {
|
||||
for (Map.Entry<K, V> e : m.entrySet()) {
|
||||
map.put(e.getKey(), e.getValue());
|
||||
myMap.put(e.getKey(), e.getValue());
|
||||
}
|
||||
}
|
||||
catch (IOException e) {
|
||||
@@ -89,7 +89,7 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
@Override
|
||||
public void remove(final Object key) {
|
||||
try {
|
||||
map.remove((K)key);
|
||||
myMap.remove((K)key);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -99,7 +99,7 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
@Override
|
||||
public void close() {
|
||||
try {
|
||||
map.close();
|
||||
myMap.close();
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -109,7 +109,7 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
@Override
|
||||
public Collection<K> keyCollection() {
|
||||
try {
|
||||
return map.getAllKeysWithExistingMapping();
|
||||
return myMap.getAllKeysWithExistingMapping();
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -117,8 +117,37 @@ public class PersistentMaplet<K, V> implements Maplet<K, V> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Map.Entry<K, V>> entrySet() {
|
||||
assert (false);
|
||||
return null;
|
||||
public Collection<Map.Entry<K, V>> entrySet() {
|
||||
final Collection<Map.Entry<K, V>> result = new LinkedList<Map.Entry<K, V>>();
|
||||
|
||||
try {
|
||||
for (final K key : myMap.getAllKeysWithExistingMapping()) {
|
||||
final V value = myMap.get(key);
|
||||
|
||||
final Map.Entry<K, V> entry = new Map.Entry<K, V>() {
|
||||
@Override
|
||||
public K getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public V getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public V setValue(V value) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
result.add(entry);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ import com.intellij.util.io.PersistentHashMap;
|
||||
import java.io.*;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
@@ -41,9 +41,8 @@ class PersistentMultiMaplet<K, V> implements MultiMaplet<K, V> {
|
||||
final DataExternalizer<V> valueExternalizer,
|
||||
final TransientMultiMaplet.CollectionConstructor<V> collectionFactory) throws IOException {
|
||||
myValueExternalizer = valueExternalizer;
|
||||
myMap = new PersistentHashMap<K, Collection<V>>(
|
||||
file, keyExternalizer, new CollectionDataExternalizer<V>(valueExternalizer, collectionFactory)
|
||||
);
|
||||
myMap = new PersistentHashMap<K, Collection<V>>(file, keyExternalizer,
|
||||
new CollectionDataExternalizer<V>(valueExternalizer, collectionFactory));
|
||||
}
|
||||
|
||||
|
||||
@@ -142,22 +141,16 @@ class PersistentMultiMaplet<K, V> implements MultiMaplet<K, V> {
|
||||
|
||||
@Override
|
||||
public void putAll(MultiMaplet<K, V> m) {
|
||||
try {
|
||||
for (Map.Entry<K, Collection<V>> entry : m.entrySet()) {
|
||||
myMap.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
for (Map.Entry<K, Collection<V>> entry : m.entrySet()) {
|
||||
put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public Collection<K> keyCollection() {
|
||||
try {
|
||||
return myMap.getAllKeysWithExistingMapping();
|
||||
}
|
||||
catch (IOException e){
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
@@ -173,16 +166,46 @@ class PersistentMultiMaplet<K, V> implements MultiMaplet<K, V> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Map.Entry<K, Collection<V>>> entrySet() {
|
||||
assert(false);
|
||||
return null;
|
||||
public Collection<Map.Entry<K, Collection<V>>> entrySet() {
|
||||
final Collection<Map.Entry<K, Collection<V>>> result = new LinkedList<Map.Entry<K, Collection<V>>>();
|
||||
|
||||
try {
|
||||
for (final K key : myMap.getAllKeysWithExistingMapping()) {
|
||||
final Collection<V> value = myMap.get(key);
|
||||
|
||||
final Map.Entry<K, Collection<V>> entry = new Map.Entry<K, Collection<V>>() {
|
||||
@Override
|
||||
public K getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<V> getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<V> setValue(Collection<V> value) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
result.add(entry);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private static class CollectionDataExternalizer<V> implements DataExternalizer<Collection<V>> {
|
||||
private final DataExternalizer<V> myElementExternalizer;
|
||||
private final TransientMultiMaplet.CollectionConstructor<V> myCollectionFactory;
|
||||
|
||||
public CollectionDataExternalizer(DataExternalizer<V> elementExternalizer, TransientMultiMaplet.CollectionConstructor<V> collectionFactory) {
|
||||
public CollectionDataExternalizer(DataExternalizer<V> elementExternalizer,
|
||||
TransientMultiMaplet.CollectionConstructor<V> collectionFactory) {
|
||||
myElementExternalizer = elementExternalizer;
|
||||
myCollectionFactory = collectionFactory;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ public class TransientMaplet<K, V> implements Maplet<K, V>{
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Map.Entry<K, V>> entrySet() {
|
||||
public Collection<Map.Entry<K, V>> entrySet() {
|
||||
return map.entrySet();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1169,6 +1169,7 @@ public class ProjectWrapper {
|
||||
}
|
||||
|
||||
dependencyMapping.integrate(delta, files, removed);
|
||||
delta.close();
|
||||
|
||||
if (!incremental) {
|
||||
affectedFiles.addAll(sources);
|
||||
@@ -1186,6 +1187,7 @@ public class ProjectWrapper {
|
||||
return iterativeCompile(chunk, sources, null, null, flags);
|
||||
}
|
||||
else {
|
||||
delta.close();
|
||||
return BuildStatus.FAILURE;
|
||||
}
|
||||
}
|
||||
@@ -1262,6 +1264,8 @@ public class ProjectWrapper {
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
delta.close();
|
||||
|
||||
return BuildStatus.FAILURE;
|
||||
}
|
||||
|
||||
@@ -1280,6 +1284,7 @@ public class ProjectWrapper {
|
||||
}
|
||||
|
||||
dependencyMapping.integrate(delta, files, removedSources);
|
||||
delta.close();
|
||||
|
||||
for (Module m : chunkModules) {
|
||||
Reporter.reportBuildSuccess(m, flags.tests());
|
||||
|
||||
+6
@@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="EntryPointsManager">
|
||||
<entry_points version="2.0" />
|
||||
</component>
|
||||
<component name="JavadocGenerationManager">
|
||||
<option name="OUTPUT_DIRECTORY" />
|
||||
<option name="OPTION_SCOPE" value="protected" />
|
||||
@@ -21,6 +24,9 @@
|
||||
<option name="LAST_EDITED_MODULE_NAME" />
|
||||
<option name="LAST_EDITED_TAB_NAME" />
|
||||
</component>
|
||||
<component name="ProjectResources">
|
||||
<default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true" project-jdk-name="IDEA jdk" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
|
||||
+186
-12
@@ -13,7 +13,6 @@
|
||||
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
|
||||
<component name="CreatePatchCommitExecutor">
|
||||
<option name="PATCH_PATH" value="" />
|
||||
<option name="REVERSE_PATCH" value="false" />
|
||||
</component>
|
||||
<component name="DaemonCodeAnalyzer">
|
||||
<disable_hints />
|
||||
@@ -57,9 +56,80 @@
|
||||
<component name="FavoritesManager">
|
||||
<favorites_list name="changeToCovariantMethodInBase3" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="BaseImplementation.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/BaseImplementation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="3" column="16" selection-start="69" selection-end="69" vertical-scroll-proportion="0.07462686">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Mediator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/Mediator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="0" selection-start="19" selection-end="19" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="J.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/J.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="17" selection-start="36" selection-end="36" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="I.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/I.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="3" column="0" selection-start="40" selection-end="40" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="IImpl.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/IImpl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="13" selection-start="32" selection-end="32" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FindManager">
|
||||
<FindUsagesManager>
|
||||
<setting name="OPEN_NEW_TAB" value="false" />
|
||||
</FindUsagesManager>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="CHECKOUT_INCLUDE_TAGS" value="false" />
|
||||
<option name="UPDATE_CHANGES_POLICY" value="STASH" />
|
||||
<option name="LINE_SEPARATORS_CONVERSION" value="ASK" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/maketest/BaseImplementation.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="MavenRunner">
|
||||
<option name="jreName" value="#JAVA_INTERNAL" />
|
||||
</component>
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="y" value="25" />
|
||||
<option name="width" value="1282" />
|
||||
<option name="height" value="755" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
||||
<OptionsSetting value="true" id="Add" />
|
||||
<OptionsSetting value="true" id="Remove" />
|
||||
@@ -86,8 +156,8 @@
|
||||
<sortByType />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
@@ -96,6 +166,34 @@
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="changeToCovariantMethodInBase3" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="changeToCovariantMethodInBase3" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="changeToCovariantMethodInBase3" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="changeToCovariantMethodInBase3" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="maketest" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Favorites" />
|
||||
@@ -104,9 +202,13 @@
|
||||
<component name="PropertiesComponent">
|
||||
<property name="GoToFile.includeJavaFiles" value="false" />
|
||||
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
|
||||
<property name="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="options.lastSelected" value="project.propCompiler" />
|
||||
<property name="MemberChooser.sorted" value="false" />
|
||||
<property name="MemberChooser.showClasses" value="true" />
|
||||
<property name="GoToClass.includeLibraries" value="false" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="MemberChooser.copyJavadoc" value="false" />
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
@@ -206,39 +308,64 @@
|
||||
<option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
|
||||
<option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
|
||||
<option name="FORCE_UPDATE" value="false" />
|
||||
<configuration useDefault="true">$USER_HOME$/.subversion_IDEA</configuration>
|
||||
<myIsUseDefaultProxy>false</myIsUseDefaultProxy>
|
||||
</component>
|
||||
<component name="SvnConfiguration17" maxAnnotateRevisions="500">
|
||||
<option name="USER" value="" />
|
||||
<option name="PASSWORD" value="" />
|
||||
<option name="mySSHConnectionTimeout" value="30000" />
|
||||
<option name="mySSHReadTimeout" value="30000" />
|
||||
<option name="LAST_MERGED_REVISION" />
|
||||
<option name="MERGE_DRY_RUN" value="false" />
|
||||
<option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
|
||||
<option name="UPDATE_LOCK_ON_DEMAND" value="false" />
|
||||
<option name="IGNORE_SPACES_IN_MERGE" value="false" />
|
||||
<option name="DETECT_NESTED_COPIES" value="true" />
|
||||
<option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
|
||||
<option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
|
||||
<option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
|
||||
<option name="FORCE_UPDATE" value="false" />
|
||||
<configuration useDefault="false">$USER_HOME$/.subversion_IDEA</configuration>
|
||||
<myIsUseDefaultProxy>false</myIsUseDefaultProxy>
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="507bba26-9482-4442-ba06-b9c729030559" name="Default" comment="" />
|
||||
<created>1317044130792</created>
|
||||
<updated>1317044130792</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="25" width="1280" height="974" extended-state="0" />
|
||||
<editor active="false" />
|
||||
<frame x="0" y="25" width="1282" height="755" extended-state="0" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2495935" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.37824675" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
|
||||
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||
@@ -263,6 +390,12 @@
|
||||
<option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
|
||||
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
||||
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
||||
<option name="SHORT_DIFF_HORISONTALLY" value="true" />
|
||||
<option name="SHORT_DIFF_EXTRA_LINES" value="2" />
|
||||
<option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
|
||||
<option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
|
||||
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
|
||||
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
|
||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||
<option name="LAST_COMMIT_MESSAGE" />
|
||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||
@@ -281,5 +414,46 @@
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
</component>
|
||||
<component name="antWorkspaceConfiguration">
|
||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/IImpl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="13" selection-start="32" selection-end="32" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/Mediator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="0" selection-start="19" selection-end="19" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/J.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="17" selection-start="36" selection-end="36" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/I.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="3" column="0" selection-start="40" selection-end="40" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/maketest/BaseImplementation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="3" column="16" selection-start="69" selection-end="69" vertical-scroll-proportion="0.07462686">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user