/** * This method is to be called by generated code only. It uses Java * reflection to load the dependencies' descriptors. */ public static void internalBuildGeneratedFileFrom( final String[] descriptorDataParts, final Class<?> descriptorOuterClass, final String[] dependencies, final String[] dependencyFileNames, final InternalDescriptorAssigner descriptorAssigner) { List<FileDescriptor> descriptors = new ArrayList<FileDescriptor>(); for (int i = 0; i < dependencies.length; i++) { try { Class<?> clazz = descriptorOuterClass.getClassLoader().loadClass(dependencies[i]); descriptors.add( (FileDescriptor) clazz.getField("descriptor").get(null)); } catch (Exception e) { // We allow unknown dependencies by default. If a dependency cannot // be found we only generate a warning. logger.warning("Descriptors for \"" + dependencyFileNames[i] + "\" can not be found."); } } FileDescriptor[] descriptorArray = new FileDescriptor[descriptors.size()]; descriptors.toArray(descriptorArray); internalBuildGeneratedFileFrom( descriptorDataParts, descriptorArray, descriptorAssigner); }
/** * This method is to be called by generated code only. It uses Java * reflection to load the dependencies' descriptors. */ public static void internalBuildGeneratedFileFrom( final String[] descriptorDataParts, final Class<?> descriptorOuterClass, final String[] dependencies, final String[] dependencyFileNames, final InternalDescriptorAssigner descriptorAssigner) { List<FileDescriptor> descriptors = new ArrayList<FileDescriptor>(); for (int i = 0; i < dependencies.length; i++) { try { Class<?> clazz = descriptorOuterClass.getClassLoader().loadClass(dependencies[i]); descriptors.add( (FileDescriptor) clazz.getField("descriptor").get(null)); } catch (Exception e) { // We allow unknown dependencies by default. If a dependency cannot // be found we only generate a warning. logger.warning("Descriptors for \"" + dependencyFileNames[i] + "\" can not be found."); } } FileDescriptor[] descriptorArray = new FileDescriptor[descriptors.size()]; descriptors.toArray(descriptorArray); internalBuildGeneratedFileFrom( descriptorDataParts, descriptorArray, descriptorAssigner); }
/** * This method is to be called by generated code only. It uses Java * reflection to load the dependencies' descriptors. */ public static void internalBuildGeneratedFileFrom( final String[] descriptorDataParts, final Class<?> descriptorOuterClass, final String[] dependencies, final String[] dependencyFileNames, final InternalDescriptorAssigner descriptorAssigner) { List<FileDescriptor> descriptors = new ArrayList<FileDescriptor>(); for (int i = 0; i < dependencies.length; i++) { try { Class<?> clazz = descriptorOuterClass.getClassLoader().loadClass(dependencies[i]); descriptors.add( (FileDescriptor) clazz.getField("descriptor").get(null)); } catch (Exception e) { // We allow unknown dependencies by default. If a dependency cannot // be found we only generate a warning. logger.warning("Descriptors for \"" + dependencyFileNames[i] + "\" can not be found."); } } FileDescriptor[] descriptorArray = new FileDescriptor[descriptors.size()]; descriptors.toArray(descriptorArray); internalBuildGeneratedFileFrom( descriptorDataParts, descriptorArray, descriptorAssigner); }