public static SwiftNode get(NodeProperties props) {
		SwiftNode node = switch (props.kind()) {
			case Allocator -> new SwiftAllocatorNode();
			case AnonymousDescriptor -> new SwiftGenericDescriptorNode();
			case ArgumentTuple -> new SwiftGenericPassthroughNode();
			case BoundGenericStructure -> new SwiftBoundGenericStructureNode();
			case BuiltinTypeName -> new SwiftBuiltinTypeNameNode();
			case Class -> new SwiftClassNode();
			case Constructor -> new SwiftConstructorNode();
			case Deallocator -> new SwiftDeallocatorNode();
			case DefaultArgumentInitializer -> new SwiftGenericPassthroughNode();
			case DependentGenericParamType -> new SwiftDependentGenericParamTypeNode();
			case DependentGenericType -> new SwiftDependentGenericTypeNode();
			case Destructor -> new SwiftDestructorNode();
			case DispatchThunk -> new SwiftGenericPassthroughNode();
			case Enum -> new SwiftEnumNode();
			case Extension -> new ghidra.app.util.demangler.swift.nodes.SwiftExtensionNode();
			case Function -> new SwiftFunctionNode();
			case FunctionType -> new SwiftFunctionTypeNode();
			case GenericSpecialization -> new SwiftGenericTextNode();
			case Getter -> new SwiftGetterNode();
			case Global -> new SwiftGlobalNode();
			case GlobalVariableOnceDeclList -> new SwiftGlobalVariableOnceDeclListNode();
			case GlobalVariableOnceFunction -> new SwiftGlobalVariableOnceFunctionNode();
			case Identifier -> new SwiftGenericTextNode();
			case InfixOperator -> new SwiftGenericTextNode();
			case Initializer -> new SwiftInitializerNode();
			case InOut -> new SwiftInOutNode();
			case LabelList -> new SwiftLabelListNode();
			case LazyProtocolWitnessTableAccessor -> new SwiftLazyProtocolWitnessTableAccessorNode();
			case LocalDeclName -> new SwiftLocalDeclNameNode();
			case MergedFunction -> new SwiftGenericPassthroughNode();
			case ModifyAccessor -> new SwiftModifyAccessorNode();
			case Module -> new SwiftGenericTextNode();
			case ModuleDescriptor -> new SwiftGenericDescriptorNode();
			case NominalTypeDescriptor -> new SwiftGenericDescriptorNode();
			case Number -> new SwiftGenericIndexNode();
			case ObjCAttribute -> new SwiftGenericTextNode();
			case OutlinedConsume -> new SwiftOutlinedConsumeNode();
			case OutlinedCopy -> new SwiftOutlinedCopyNode();
			case Owned -> new SwiftGenericPassthroughNode();
			case PrivateDeclName -> new SwiftPrivateDeclNameNode();
			case Protocol -> new SwiftProtocolNode();
			case ProtocolConformance -> new SwiftProtocolConformanceNode();
			case ProtocolConformanceDescriptor -> new SwiftGenericDescriptorNode();
			case ProtocolDescriptor -> new SwiftGenericDescriptorNode();
			case ProtocolWitness -> new SwiftGenericPassthroughNode();
			case ReflectionMetadataBuiltinDescriptor -> new SwiftGenericDescriptorNode();
			case ReflectionMetadataFieldDescriptor -> new SwiftGenericDescriptorNode();
			case ReturnType -> new SwiftGenericPassthroughNode();
			case Setter -> new SwiftSetterNode();
			case Static -> new SwiftGenericPassthroughNode();
			case Structure -> new SwiftStructureNode();
			case Subscript -> new SwiftSubscriptNode();
			case Suffix -> new SwiftGenericTextNode();
			case Tuple -> new SwiftTupleNode();
			case TupleElement -> new SwiftTupleElementNode();
			case TupleElementName -> new SwiftGenericTextNode();
			case Type -> new SwiftGenericPassthroughNode();
			case TypeAlias -> new SwiftTypeAliasNode();
			case TypeList -> new SwiftTypeListNode();
			case TypeMetadataAccessFunction -> new SwiftTypeMetadataAccessFunctionNode();
			case UnsafeMutableAddressor -> new SwiftUnsafeMutableAddressorNode();
			case Variable -> new SwiftVariableNode();
			default -> new SwiftUnsupportedNode(props.kind().toString(), props);
		};
		node.properties = props;
		return node;
	}
Gets a new {@link SwiftNode} with the given with the given {@link NodeProperties}

@param props The {@link NodeProperties}
@return A {@link SwiftNode} with the given {@link NodeProperties}
Ghidra/Features/SwiftDemangler/src/main/java/ghidra/app/util/demangler/swift/nodes/SwiftNode.java