public ClassEntity fetchUserClass(String name) { return fetchUserClass(name, name.toLowerCase()); }
public ClassEntity fetchUserClass(Class<? extends IObject> clazz) { return fetchUserClass(ReflectionUtils.getClassName(clazz)); }
protected void onWrapImplement(ClassEntity classEntity) { for (Class<?> interface_ : nativeClass.getInterfaces()){ if (interface_.isAnnotationPresent(Reflection.Ignore.class)) continue; if (interface_.getPackage().getName().startsWith("java.")) continue; String name = ReflectionUtils.getClassName(interface_); ClassEntity entity = scope.fetchUserClass(name); /*if (entity == null || !entity.isInterface()) throw new IllegalArgumentException("Interface '"+name+"' not registered");*/ if (entity == null) return; ClassEntity.ImplementsResult result = classEntity.addInterface(entity); result.check(null); } }
protected void onWrapExtend(ClassEntity classEntity) { if (nativeClass.isAnnotationPresent(Reflection.BaseType.class)) { return; } Class<?> extend = nativeClass.getSuperclass(); if (extend != null && !extend.isAnnotationPresent(Reflection.Ignore.class)){ String name = ReflectionUtils.getClassName(extend); ClassEntity entity = scope.fetchUserClass(name); if (extend.isAssignableFrom(IObject.class) && entity == null) throw new IllegalArgumentException("Class '"+name+"' not registered for '" + classEntity.getName() + "'"); if (entity == null) return; ClassEntity.ExtendsResult result = classEntity.setParent(entity, false); result.check(null); classEntity.updateParentBody(); } }
public ClassEntity fetchClass(String name, String nameL, boolean autoLoad) { if (!name.isEmpty() && name.charAt(0) == '\\') { name = name.substring(1); nameL = nameL.substring(1); } ClassEntity entity = classMap.get(nameL); if (entity != null) { return entity; } synchronized (classMap) { entity = classMap.get(nameL); // try retry! if (entity == null) { entity = scope.fetchUserClass(name, nameL); if (entity != null) { try { entity.initEnvironment(this); } catch (Throwable throwable) { throw new CriticalException(throwable); } classMap.put(entity.getLowerName(), entity); return entity; } ClassEntity classEntity = autoLoad ? autoloadCall(name, nameL) : null; return classEntity; } else { return entity; } } }
closureEntity1.setParent(env.scope.fetchUserClass(Closure.class)); closureEntity1.parameters = this.parameters; closureEntity1.setReturnReference(this.isReturnReference());
closureEntity1.setParent(env.scope.fetchUserClass(Closure.class)); closureEntity1.parameters = this.parameters; closureEntity1.setReturnReference(this.isReturnReference());
DumpInputStream data = new DumpInputStream(input); ClosureEntity entity = new ClosureEntity(context); entity.setParent(env.scope.fetchUserClass(Closure.class));