// Minimal Model controls whether model entities that are not involved in relationships are deleted post-build
private boolean minimalModel = false;
+ private boolean useFinal = true;
private boolean targettingRuntime1_6_10 = false;
private boolean completeBinaryTypes = false;
if (genericType != null) {
genericType.world = this;
- ((ReferenceType)genericType).addDependentType((ReferenceType)rawType);
+ ((ReferenceType) genericType).addDependentType((ReferenceType) rawType);
return genericType;
} else {
// Fault in the generic that underpins the raw type ;)
Xpinpoint = b;
}
+ public boolean useFinal() {
+ return useFinal;
+ }
+
public boolean isMinimalModel() {
ensureAdvancedConfigurationProcessed();
return minimalModel;
return extraConfiguration;
}
+ public final static String xsetAVOID_FINAL = "avoidFinal"; // default true
+
public final static String xsetWEAVE_JAVA_PACKAGES = "weaveJavaPackages"; // default
// false
// -
}
}
+ public void demote(ResolvedType type) {
+ String key = type.getSignature();
+ if (debugDemotion) {
+ addedSinceLastDemote.remove(key);
+ }
+ tMap.remove(key);
+ insertInExpendableMap(key, type);
+ }
+
// public ResolvedType[] getAllTypes() {
// List/* ResolvedType */results = new ArrayList();
//
itdVersion = 1;
}
+ s = p.getProperty(xsetAVOID_FINAL, "false");
+ if (s.equalsIgnoreCase("true")) {
+ useFinal = false; // if avoidFinal=true, then set useFinal to false
+ }
+
s = p.getProperty(xsetMINIMAL_MODEL, "false");
if (s.equalsIgnoreCase("true")) {
minimalModel = true;
* Reference types we don't intend to weave may be ejected from the cache if we need the space.
*/
protected boolean isExpendable(ResolvedType type) {
- return (!type.equals(UnresolvedType.OBJECT) && (!type.isExposedToWeaver()) && (!type.isPrimitiveType()));
+ return !type.equals(UnresolvedType.OBJECT) && !type.isExposedToWeaver() && !type.isPrimitiveType()
+ && !type.isPrimitiveArray();
}
// map from aspect > excluded types