FieldInfoPtr FieldInfos::add(const String& name, bool isIndexed, bool storeTermVector, bool storePositionWithTermVector, bool storeOffsetWithTermVector, bool omitNorms, bool storePayloads, bool omitTermFreqAndPositions) { SyncLock syncLock(this); FieldInfoPtr fi(fieldInfo(name)); if (!fi) return addInternal(name, isIndexed, storeTermVector, storePositionWithTermVector, storeOffsetWithTermVector, omitNorms, storePayloads, omitTermFreqAndPositions); else fi->update(isIndexed, storeTermVector, storePositionWithTermVector, storeOffsetWithTermVector, omitNorms, storePayloads, omitTermFreqAndPositions); return fi; }
/** * Função que le a segunda parte de informações gerais de um arquivo .class * * @param referência ao classfile. * @param referência ao arquivo sendo lido. */ void secondGeneralInfo(classFile* cf, FILE* file){ cf->access_flags = le2Bytes(file); cf->this_class = le2Bytes(file); cf->super_class = le2Bytes(file); cf->interfaces_count = le2Bytes(file); interfaceInfo(cf,file,cf->interfaces_count); cf->fields_count = le2Bytes(file); fieldInfo(cf,file,cf->fields_count); cf->methods_count = le2Bytes(file); methodInfo(cf,file,cf->methods_count); cf->attributes_count = le2Bytes(file); attributeInfo(cf,file,cf->attributes_count); }
String FieldInfos::fieldName(int32_t fieldNumber) { FieldInfoPtr fi(fieldInfo(fieldNumber)); return fi ? fi->name : L""; }
int32_t FieldInfos::fieldNumber(const String& fieldName) { FieldInfoPtr fi(fieldInfo(fieldName)); return fi ? fi->number : -1; }