foo()V
<init>(Ljava/lang/String;I)V
<clinit>()V

# a complex method
method(I[[IILjava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

----------------------------------------------------

[
	["function", "foo"],
	["punctuation", "("],
	["punctuation", ")"],
	["builtin", "V"],

	["function", "<init>"],
	["punctuation", "("],
	["class-name", [
		["builtin", "L"],
		["namespace", [
			"java",
			["punctuation", "/"],
			"lang",
			["punctuation", "/"]
		]],
		["class-name", "String"]
	]],
	["punctuation", ";"],
	["builtin", "I"],
	["punctuation", ")"],
	["builtin", "V"],

	["function", "<clinit>"],
	["punctuation", "("],
	["punctuation", ")"],
	["builtin", "V"],

	["comment", "# a complex method"],

	["function", "method"],
	["punctuation", "("],
	["builtin", "I"],
	["operator", "["],
	["operator", "["],
	["builtin", "II"],
	["class-name", [
		["builtin", "L"],
		["namespace", [
			"java",
			["punctuation", "/"],
			"lang",
			["punctuation", "/"]
		]],
		["class-name", "String"]
	]],
	["punctuation", ";"],
	["operator", "["],
	["class-name", [
		["builtin", "L"],
		["namespace", [
			"java",
			["punctuation", "/"],
			"lang",
			["punctuation", "/"]
		]],
		["class-name", "Object"]
	]],
	["punctuation", ";"],
	["punctuation", ")"],
	["class-name", [
		["builtin", "L"],
		["namespace", [
			"java",
			["punctuation", "/"],
			"lang",
			["punctuation", "/"]
		]],
		["class-name", "String"]
	]],
	["punctuation", ";"]
]

----------------------------------------------------

Checks for functions/methods.
