@Test
	public void testFunctionAndTypes() throws Exception {
		/*-********************************************************************
		kind=Global
		  kind=Function
		    kind=Module, text="SwiftDemanglerTest"
		    kind=Identifier, text="testJunitFunctionAndTypes"
		    kind=LabelList
		      kind=FirstElementMarker
		      kind=Identifier, text="label2"
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=Identifier, text="label14"
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		      kind=FirstElementMarker
		    kind=Type
		      kind=FunctionType
		        kind=ArgumentTuple
		          kind=Type
		            kind=Tuple
		              kind=TupleElement
		                kind=Type
		                  kind=InOut
		                    kind=Structure
		                      kind=Module, text="Swift"
		                      kind=Identifier, text="Int"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Int8"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Int16"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Int32"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Int64"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="UInt"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="UInt8"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="UInt16"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="UInt32"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="UInt64"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Float"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Float"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Double"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Double"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="String"
		              kind=TupleElement
		                kind=Type
		                  kind=BoundGenericStructure
		                    kind=Type
		                      kind=Structure
		                        kind=Module, text="Swift"
		                        kind=Identifier, text="Array"
		                    kind=TypeList
		                      kind=Type
		                        kind=Structure
		                          kind=Module, text="Swift"
		                          kind=Identifier, text="Int"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Bool"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Character"
		        kind=ReturnType
		          kind=Type
		            kind=Tuple
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Int"
		              kind=TupleElement
		                kind=Type
		                  kind=Structure
		                    kind=Module, text="Swift"
		                    kind=Identifier, text="Float"
		SwiftDemanglerTest.testJunitFunctionAndTypes(_: inout Swift.Int, label2: Swift.Int8, _: Swift.Int16, _: Swift.Int32, _: Swift.Int64, _: Swift.UInt, _: Swift.UInt8, _: Swift.UInt16, _: Swift.UInt32, _: Swift.UInt64, _: Swift.Float, _: Swift.Float, _: Swift.Double, label14: Swift.Double, _: Swift.String, _: [Swift.Int], _: Swift.Bool, _: Swift.Character) -> (Swift.Int, Swift.Float)
		**********************************************************************/
		String mangled =
			"_$s18SwiftDemanglerTest25testJunitFunctionAndTypes_6label2___________7label14____Si_SftSiz_s4Int8Vs5Int16Vs5Int32Vs5Int64VSus5UInt8Vs6UInt16Vs6UInt32Vs6UInt64VS2fS2dSSSaySiGSbSJtF";
		String demangled =
			"struct tuple2 default SwiftDemanglerTest::testJunitFunctionAndTypes(__int64 *,__int8 label2,__int16,__int32,__int64,unsigned __int64,unsigned __int8,unsigned __int16,unsigned __int32,unsigned __int64,float,float,double,double label14,struct Swift::String,Swift::Array<__int64>[],bool,struct Swift::Character)";

		if (!(demangler.demangle(mangled) instanceof DemangledFunction function)) {
			throw new AssertException("Demangled object is not a function");
		}
		assertEquals(demangled, function.toString());

		if (!(function.getReturnType() instanceof DemangledStructure struct)) {
			throw new AssertException("Demangled return type is not a structure");
		}
		assertEquals(struct.getFields().size(), 2);
		assertEquals(struct.getFields().get(0).type().toString(), "__int64");
		assertEquals(struct.getFields().get(1).type().toString(), "float");
	}
Unit tests for the {@link SwiftDemangler}.  Requires Swift to be installed on the test system.
If it is not, these tests will be skipped.
Ghidra/Features/SwiftDemangler/src/test/java/ghidra/app/util/demangler/swift/SwiftDemanglerTest.java