def private generateIfCheck(Type impl, List<Type> done) '''
«IF (impl instanceof GeneratedType && (impl as GeneratedType).hasNonDefaultMethods)»
«val implType = impl as GeneratedType»
- if (arg instanceof «implType.importedName») {
+ if (arg instanceof «implType.importedName» castArg) {
«printPropertySetter(implType)»
isValidArg = true;
}
«val ifc = implementedIfc as GeneratedType»
«FOR getter : ifc.nonDefaultMethods»
«IF BindingMapping.isGetterMethodName(getter.name) && !hasOverrideAnnotation(getter)»
- «printPropertySetter(getter, '''((«ifc.importedName»)arg).«getter.name»()''', getter.propertyNameFromGetter)»;
+ «printPropertySetter(getter, '''castArg.«getter.name»()''', getter.propertyNameFromGetter)»;
«ENDIF»
«ENDFOR»
«ENDIF»
FileSearchUtil.assertFileContainsConsecutiveLines(xyzzyBuilder, content,
" public void fieldsFrom(DataObject arg) {",
" boolean isValidArg = false;",
- " if (arg instanceof Grp) {",
- " this._foo = CodeHelpers.checkFieldCast(Foo.class, \"foo\", ((Grp)arg).getFoo());",
- " this._bar = CodeHelpers.checkSetFieldCast(Foo.class, \"bar\", ((Grp)arg).getBar());",
- " this._baz = CodeHelpers.checkListFieldCast(Foo.class, \"baz\", ((Grp)arg).getBaz());",
+ " if (arg instanceof Grp castArg) {",
+ " this._foo = CodeHelpers.checkFieldCast(Foo.class, \"foo\", castArg.getFoo());",
+ " this._bar = CodeHelpers.checkSetFieldCast(Foo.class, \"bar\", castArg.getBar());",
+ " this._baz = CodeHelpers.checkListFieldCast(Foo.class, \"baz\", castArg.getBaz());",
" isValidArg = true;",
" }",
" CodeHelpers.validValue(isValidArg, arg, \"[Grp]\");",
private static final String FOO_GRP_REF = "FooGrp";
private static final String RESOLVED_LEAF_GRP_REF = "ResolvedLeafGrp";
-
- private static final String UNRESOLVED_GROUPING_REF =
- "UnresolvedGrouping";
-
- private static final String ARG_AS_FOO_GRP = "((" + FOO_GRP_REF + ")arg)";
+ private static final String UNRESOLVED_GROUPING_REF = "UnresolvedGrouping";
private static final String LEAF2_ASSIGNMENT = "this._leaf2 = arg.getLeaf2();";
FileSearchUtil.assertFileContainsConsecutiveLines(file, content,
TAB_FIELDS_FROM_SIGNATURE,
DTAB_INIT_IS_VALID_ARG_FALSE,
- doubleTab("if (arg instanceof " + FOO_GRP_REF + ") {"),
- tripleTab("this._leaf1 = CodeHelpers.checkFieldCast(String.class, \"leaf1\", "
- + ARG_AS_FOO_GRP + ".getLeaf1());"),
+ doubleTab("if (arg instanceof " + FOO_GRP_REF + " castArg) {"),
+ tripleTab("this._leaf1 = CodeHelpers.checkFieldCast(String.class, \"leaf1\", castArg.getLeaf1());"),
tripleTab("this._leafList1 = CodeHelpers.checkSetFieldCast(String.class, \"leafList1\", "
- + ARG_AS_FOO_GRP + ".getLeafList1());"),
- tripleTab("this._leaf2 = " + ARG_AS_FOO_GRP + ".getLeaf2();"),
+ + "castArg.getLeafList1());"),
+ tripleTab("this._leaf2 = castArg.getLeaf2();"),
TTAB_SET_IS_VALID_ARG_TRUE,
DTAB_CLOSING_METHOD_BRACE,
- doubleTab("if (arg instanceof " + RESOLVED_LEAF_GRP_REF + ") {"),
- tripleTab("this._name = ((" + RESOLVED_LEAF_GRP_REF + ")arg).getName();"),
+ doubleTab("if (arg instanceof " + RESOLVED_LEAF_GRP_REF + " castArg) {"),
+ tripleTab("this._name = castArg.getName();"),
TTAB_SET_IS_VALID_ARG_TRUE,
DTAB_CLOSING_METHOD_BRACE,
doubleTab("CodeHelpers.validValue(isValidArg, arg, \"[" + FOO_GRP_REF + ", " + RESOLVED_LEAF_GRP_REF
FileSearchUtil.assertFileContainsConsecutiveLines(file, content,
TAB_FIELDS_FROM_SIGNATURE,
DTAB_INIT_IS_VALID_ARG_FALSE,
- doubleTab("if (arg instanceof " + UNRESOLVED_GROUPING_REF + ") {"),
- tripleTab("this._leaf1 = CodeHelpers.checkFieldCast(Boolean.class, \"leaf1\", (("
- + UNRESOLVED_GROUPING_REF + ")arg).getLeaf1());"),
+ doubleTab("if (arg instanceof " + UNRESOLVED_GROUPING_REF + " castArg) {"),
+ tripleTab("this._leaf1 = CodeHelpers.checkFieldCast(Boolean.class, \"leaf1\", castArg.getLeaf1());"),
TTAB_SET_IS_VALID_ARG_TRUE,
DTAB_CLOSING_METHOD_BRACE,
doubleTab("CodeHelpers.validValue(isValidArg, arg, \"[" + UNRESOLVED_GROUPING_REF + "]\");"),