Fixes illegal processing of DUP2, DUP_X1, DUP_X2m, DUP2_X2 instructions.

Makes more fancy list of missing items
This commit is contained in:
konsoletyper 2014-02-18 12:52:29 +04:00
parent 253b882d3e
commit 6c903a916c
4 changed files with 513 additions and 403 deletions

24
pom.xml
View File

@ -22,17 +22,19 @@
</modules> </modules>
<build> <build>
<plugins> <pluginManagement>
<plugin> <plugins>
<groupId>org.apache.maven.plugins</groupId> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <groupId>org.apache.maven.plugins</groupId>
<version>2.5.1</version> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <version>2.5.1</version>
<source>1.7</source> <configuration>
<target>1.7</target> <source>1.7</source>
</configuration> <target>1.7</target>
</plugin> </configuration>
</plugins> </plugin>
</plugins>
</pluginManagement>
</build> </build>
<profiles> <profiles>

View File

@ -355,24 +355,19 @@ public class DependencyChecker implements DependencyInformation {
if (missingClasses.isEmpty() && missingMethods.isEmpty() && missingFields.isEmpty()) { if (missingClasses.isEmpty() && missingMethods.isEmpty() && missingFields.isEmpty()) {
return; return;
} }
List<String> items = new ArrayList<>();
items.addAll(missingClasses);
for (MethodReference method : missingMethods) {
items.add(method.toString());
}
for (FieldReference field : missingFields) {
items.add(field.toString());
}
Collections.sort(items);
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
if (!missingClasses.isEmpty()) { sb.append("Can't compile due to the following items missing:\n");
sb.append("Missing classes:\n"); for (String item : items) {
for (String cls : missingClasses) { sb.append(" ").append(item).append("\n");
sb.append(" ").append(cls).append("\n");
}
}
if (!missingMethods.isEmpty()) {
sb.append("Missing methods:\n");
for (MethodReference method : missingMethods) {
sb.append(" ").append(method).append("\n");
}
}
if (!missingMethods.isEmpty()) {
sb.append("Missing fields:\n");
for (FieldReference field : missingFields) {
sb.append(" ").append(field).append("\n");
}
} }
throw new IllegalStateException(sb.toString()); throw new IllegalStateException(sb.toString());
} }

View File

@ -52,4 +52,9 @@ public class FieldReference {
FieldReference other = (FieldReference)obj; FieldReference other = (FieldReference)obj;
return className.equals(other.className) && fieldName.equals(other.fieldName); return className.equals(other.className) && fieldName.equals(other.fieldName);
} }
@Override
public String toString() {
return className + "." + fieldName;
}
} }

File diff suppressed because it is too large Load Diff