in errormessage/src/main/kotlin/motif/errormessage/NodeHandler.kt [28:67]
fun handle(node: Node): String {
return when (node) {
is ScopeSource -> {
"""[SCOPE]
| TYPE: ${node.scope.qualifiedName}""".trimMargin()
}
is FactoryMethodSource -> {
"""[FACTORY METHOD RETURN TYPE]
| TYPE: ${node.factoryMethod.returnType.qualifiedName}
| METHOD: ${node.factoryMethod.qualifiedName}""".trimMargin()
}
is SpreadSource -> {
"""[SPREAD METHOD]
| TYPE: ${node.spreadMethod.returnType.qualifiedName}
| METHOD: ${node.spreadMethod.spread.qualifiedName}.${node.spreadMethod.method.name}
| FACTORY METHOD: ${node.spreadMethod.spread.factoryMethod.qualifiedName}
""".trimMargin()
}
is ChildParameterSource -> {
"""[CHILD METHOD PARAMETER]
| TYPE: ${node.parameter.type.qualifiedName}
| METHOD: ${node.parameter.method.qualifiedName}
| PARAMETER: ${node.parameter.parameter.name}
""".trimMargin()
}
is FactoryMethodSink -> {
"""[FACTORY METHOD PARAMETER]
| TYPE: ${node.parameter.type.qualifiedName}
| METHOD: ${node.parameter.factoryMethod.qualifiedName}
| PARAMETER: ${node.parameter.parameter.name}
""".trimMargin()
}
is AccessMethodSink -> {
"""[ACCESS METHOD]
| TYPE: ${node.accessMethod.returnType.qualifiedName}
| METHOD: ${node.accessMethod.qualifiedName}
""".trimMargin()
}
}
}