cache expressions to file, complelely

This commit is contained in:
Gang ZHANG 2020-01-04 11:19:52 +08:00
parent 52a70558ce
commit 36ce0aa6a6
2 changed files with 12 additions and 11 deletions

View File

@ -203,6 +203,16 @@ public abstract class ContainerEntity extends DecoratedEntity {
}
}
}
public void cacheChildExpressions() {
cacheExpressions();
for (Entity child:getChildren()) {
if (child instanceof ContainerEntity) {
((ContainerEntity)child).cacheChildExpressions();
}
}
}
public void cacheExpressions() {
if (expressionWeakReference==null) return;

View File

@ -143,19 +143,10 @@ public class FileEntity extends TypeEntity {
}
public void cacheAllExpressions() {
cacheChildExpressions(this);
this.cacheChildExpressions();
}
private void cacheChildExpressions(ContainerEntity containerEntity) {
this.cacheExpressions();
for (Entity child:containerEntity.getChildren()) {
if (child instanceof ContainerEntity) {
((ContainerEntity)child).cacheExpressions();
}
}
}
@Override
public Entity getByName(String name, HashSet<Entity> searched) {
Entity entity = super.getByName(name, searched);