long creationTime=System.currentTimeMillis();
Struct sct=new StructImpl();
ArrayImpl arr=new ArrayImpl();
{
Iterator<UDF> it = icfc.udfs.values().iterator();
while(it.hasNext()) {
arr.append(it.next().getMetaData(pc));
}
}
if(icfc.meta!=null) {
Iterator it = icfc.meta.entrySet().iterator();
Map.Entry entry;
while(it.hasNext()){
entry=(Entry) it.next();
sct.setEL(KeyImpl.toKey(entry.getKey()), entry.getValue());
}
}
if(!StringUtil.isEmpty(icfc.hint,true))sct.set(KeyConstants._hint,icfc.hint);
if(!StringUtil.isEmpty(icfc.dspName,true))sct.set(KeyConstants._displayname,icfc.dspName);
init(pc,icfc);
if(!ArrayUtil.isEmpty(icfc.superInterfaces)){
Set<String> _set = railo.runtime.type.util.ListUtil.listToSet(icfc.extend,',',true);
Struct ex=new StructImpl();
sct.set(KeyConstants._extends,ex);
for(int i=0;i<icfc.superInterfaces.length;i++){
if(!_set.contains(icfc.superInterfaces[i].getCallPath())) continue;
ex.setEL(KeyImpl.init(icfc.superInterfaces[i].getCallPath()),_getMetaData(pc,icfc.superInterfaces[i],true));
}
}
if(arr.size()!=0)sct.set(KeyConstants._functions,arr);
PageSource ps = icfc.pageSource;
sct.set(KeyConstants._name,ps.getComponentName());
sct.set(KeyConstants._fullname,ps.getComponentName());
sct.set(KeyConstants._path,ps.getDisplayPath());