Optimize array checks 00/84200/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 4 Sep 2019 14:24:01 +0000 (16:24 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 4 Sep 2019 14:24:01 +0000 (16:24 +0200)
Rather than bouncing through .importedName().contains("[]"), we
can make this check through .name().endsWith("[]"), which prevents
a round-trip to import mechanics and is potentially faster.

Change-Id: I4a939333c294ffa94ac1c013a8e3cee466e32cb9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend

index eedbdc3944fdd18d464dc2ff8d771416e82a3111..92f0d5ad1664b2080a0409f43a8fd9e5c9c9352d 100644 (file)
@@ -111,7 +111,7 @@ abstract class BaseTemplate extends JavaFileTemplate {
         '''
             public «field.returnType.importedName» «field.getterMethodName»() {
                 «val fieldName = field.fieldName»
-                «IF field.returnType.importedName.contains("[]")»
+                «IF field.returnType.name.endsWith("[]")»
                 return «fieldName» == null ? null : «fieldName».clone();
                 «ELSE»
                 return «fieldName»;
index f5bdbf49b2654b7fbaf20a93f864b91ee2a526ab..e5140900662c29e06c08d3a0e8470d6ccc360860 100644 (file)
@@ -236,7 +236,7 @@ class ClassTemplate extends BaseTemplate {
 
         «FOR p : properties»
             «val fieldName = p.fieldName»
-            «IF p.returnType.importedName.contains("[]")»
+            «IF p.returnType.name.endsWith("[]")»
                 «IF genTO.typedef && allProperties.size == 1 && allProperties.get(0).name.equals("value")»
                 this.«fieldName» = «fieldName».clone();
                 «ELSE»
index 8365d784bc133537bc20a1b4fec9ce44314a3d08..866e813a1e83b0f5453a3c238cfe43dc8e9d956b 100644 (file)
@@ -179,7 +179,7 @@ class UnionTemplate extends ClassTemplate {
             «ENDIF»
             «FOR p : properties»
                 «val fieldName = p.fieldName»
-                «IF p.returnType.importedName.contains("[]")»
+                «IF p.returnType.name.endsWith("[]")»
                 this.«fieldName» = source.«fieldName» == null ? null : source.«fieldName».clone();
                 «ELSE»
                 this.«fieldName» = source.«fieldName»;