use of meghanada.config.Config in project meghanada-server by mopemope.
the class CachedASMReflectorTest method testGetPackageClasses1.
@Test
public void testGetPackageClasses1() throws Exception {
CachedASMReflector cachedASMReflector = CachedASMReflector.getInstance();
Map<String, String> map = cachedASMReflector.getPackageClasses("java.lang");
Config config = Config.load();
if (config.isJava8()) {
assertEquals(104, map.size());
} else {
assertEquals(124, map.size());
}
// System.out.println(map);
}
use of meghanada.config.Config in project meghanada-server by mopemope.
the class ASMReflectorTest method testReflectWithGenerics3.
@Test
public void testReflectWithGenerics3() throws Exception {
ASMReflector asmReflector = ASMReflector.getInstance();
Stopwatch stopwatch = Stopwatch.createUnstarted();
{
String fqcn = "java.util.Map<? extends String, ? extends Long>";
File jar = getRTJar();
Map<String, ClassIndex> index = asmReflector.getClassIndexes(jar);
final InheritanceInfo info = asmReflector.getReflectInfo(index, fqcn);
stopwatch.start();
List<MemberDescriptor> memberDescriptors = asmReflector.reflectAll(info);
System.out.println(stopwatch.stop());
memberDescriptors.forEach(m -> System.out.println(m.getDisplayDeclaration()));
Config config = Config.load();
if (config.isJava8()) {
assertEquals(34, memberDescriptors.size());
} else {
assertEquals(47, memberDescriptors.size());
}
stopwatch.reset();
}
}
use of meghanada.config.Config in project meghanada-server by mopemope.
the class ASMReflectorTest method testReflectWithGenerics1.
@Test
public void testReflectWithGenerics1() throws Exception {
ASMReflector asmReflector = ASMReflector.getInstance();
Stopwatch stopwatch = Stopwatch.createUnstarted();
{
String fqcn = "java.util.Map";
File jar = getRTJar();
Map<String, ClassIndex> index = asmReflector.getClassIndexes(jar);
final InheritanceInfo info = asmReflector.getReflectInfo(index, fqcn);
stopwatch.start();
List<MemberDescriptor> memberDescriptors = asmReflector.reflectAll(info);
System.out.println(stopwatch.stop());
// memberDescriptors.forEach(m -> System.out.println(m.getDeclaration()));
Config config = Config.load();
if (config.isJava8()) {
assertEquals(34, memberDescriptors.size());
} else {
assertEquals(47, memberDescriptors.size());
}
stopwatch.reset();
memberDescriptors.stream().filter(memberDescriptor -> memberDescriptor.getName().equals("entrySet")).forEach(memberDescriptor -> {
if (memberDescriptor instanceof MethodDescriptor) {
MethodDescriptor methodDescriptor = (MethodDescriptor) memberDescriptor;
methodDescriptor.getTypeParameterMap().put("K", "String");
methodDescriptor.getTypeParameterMap().put("V", "Long");
System.out.println(memberDescriptor.getReturnType());
assertEquals("java.util.Set<java.util.Map$Entry<String, Long>>", memberDescriptor.getReturnType());
}
});
}
}
use of meghanada.config.Config in project meghanada-server by mopemope.
the class ASMReflectorTest method testReflectWithGenerics2.
@Test
public void testReflectWithGenerics2() throws Exception {
ASMReflector asmReflector = ASMReflector.getInstance();
Stopwatch stopwatch = Stopwatch.createUnstarted();
{
String fqcn = "java.util.Enumeration<? extends ZipEntry>";
File jar = getRTJar();
Map<String, ClassIndex> index = asmReflector.getClassIndexes(jar);
final InheritanceInfo info = asmReflector.getReflectInfo(index, fqcn);
stopwatch.start();
List<MemberDescriptor> memberDescriptors = asmReflector.reflectAll(info);
System.out.println(stopwatch.stop());
memberDescriptors.forEach(m -> System.out.println(m.getDisplayDeclaration()));
Config config = Config.load();
if (config.isJava8()) {
assertEquals(13, memberDescriptors.size());
} else {
assertEquals(14, memberDescriptors.size());
}
stopwatch.reset();
}
}
use of meghanada.config.Config in project meghanada-server by mopemope.
the class ASMReflectorTest method testGetClasses2.
@Test
public void testGetClasses2() throws Exception {
File jar = getRTJar();
ASMReflector asmReflector = ASMReflector.getInstance();
Map<ClassIndex, File> classIndex = timeIt(() -> asmReflector.getClasses(jar));
Config config = Config.load();
if (config.isJava8()) {
assertEquals(4105, classIndex.size());
} else {
assertEquals(6940, classIndex.size());
}
// classIndex.forEach((i, file) -> System.out.println(i));
}
Aggregations