+ return repository.createEnvironment(context, is, listener);
+ }
+
+ @Override
+ public Environment createEnvironmentRobustly(CompilationContext context, ImportDeclaration[] imports) {
+ ArrayList<ImportDeclaration> acceptedBuiltinImports =
+ new ArrayList<ImportDeclaration>(builtinImports.length);
+ loop: for(ImportDeclaration builtinImport : builtinImports) {
+ for(ImportDeclaration decl : imports)
+ if(decl.moduleName.equals(builtinImport.moduleName) &&
+ decl.localName.equals(builtinImport.localName))
+ continue loop;
+ acceptedBuiltinImports.add(builtinImport);
+ }
+ ImportDeclaration[] is = Arrays.copyOf(
+ acceptedBuiltinImports.toArray(new ImportDeclaration[acceptedBuiltinImports.size()]),
+ acceptedBuiltinImports.size() + imports.length);
+ System.arraycopy(imports, 0, is, acceptedBuiltinImports.size(), imports.length);
+ return repository.createEnvironmentRobustly(context, is, listener);