Преглед изворни кода

ShouldLoadClass now checks for Name annotation

kindlich пре 5 година
родитељ
комит
cebae626fe
No known key found for this signature in database

+ 9
- 6
JavaIntegration/src/main/java/org/openzen/zencode/java/JavaNativeModule.java Прегледај датотеку

@@ -164,9 +164,8 @@ public class JavaNativeModule {
164 164
 	public HighLevelDefinition addClass(Class<?> cls) {
165 165
 		if (definitionByClass.containsKey(cls))
166 166
 			return definitionByClass.get(cls);
167
-		
168
-		HighLevelDefinition result = convertClass(cls);
169
-		return result;
167
+        
168
+        return convertClass(cls);
170 169
 	}
171 170
 	
172 171
 	public void addGlobals(Class<?> cls) {
@@ -421,9 +420,13 @@ public class JavaNativeModule {
421 420
 		return false;
422 421
 	}
423 422
 	
423
+	private String getClassName(Class<?> cls) {
424
+	    return cls.isAnnotationPresent(ZenCodeType.Name.class) ? cls.getAnnotation(ZenCodeType.Name.class).value() : cls.getName();
425
+    }
426
+	
424 427
 	private boolean shouldLoadClass(Class<?> cls) {
425
-		return isInBasePackage(cls.getName());
426
-	}
428
+	    return isInBasePackage(getClassName(cls));
429
+    }
427 430
 	
428 431
 	private boolean isGetterName(String name) {
429 432
 		return name.startsWith("get") || name.startsWith("is") || name.startsWith("has");
@@ -604,7 +607,7 @@ public class JavaNativeModule {
604 607
 		for (int i = 0; i < parameters.length; i++) {
605 608
 			Parameter parameter = javaParameters[i];
606 609
 
607
-			AnnotatedType parameterType = parameter.getAnnotatedType();
610
+			//AnnotatedType parameterType = parameter.getAnnotatedType();
608 611
 			StoredType type = loadStoredType(context, parameter.getAnnotatedType());
609 612
 			Expression defaultValue = getDefaultValue(parameter, type);
610 613
 			parameters[i] = new FunctionParameter(type, parameter.getName(), defaultValue, parameter.isVarArgs());

Loading…
Откажи
Сачувај