-- functionextraction_extract_basic_comment_4_2 --
package extract

func _() {
	/* comment in the middle of a line */
	//@mark(exSt18, "a")
	// Comment on its own line  //@mark(exSt19, "Comment")
	newFunction() //@mark(exEn18, "4"),mark(exEn19, "4"),mark(exSt20, "_")
	// Comment right after 3 + 4

	// Comment after with space //@mark(exEn20, "Comment")

	//@extractfunc(exSt18, exEn18),extractfunc(exSt19, exEn19),extractfunc(exSt20, exEn20)
}

func newFunction() {
	a := 1

	_ = 3 + 4
}

-- functionextraction_extract_basic_comment_5_5 --
package extract

func _() {
	a := /* comment in the middle of a line */ 1 //@mark(exSt18, "a")
	// Comment on its own line  //@mark(exSt19, "Comment")
	newFunction() //@mark(exEn18, "4"),mark(exEn19, "4"),mark(exSt20, "_")
	// Comment right after 3 + 4

	// Comment after with space //@mark(exEn20, "Comment")

	//@extractfunc(exSt18, exEn18),extractfunc(exSt19, exEn19),extractfunc(exSt20, exEn20)
}

func newFunction() {
	_ = 3 + 4
}

-- functionextraction_extract_basic_comment_6_2 --
package extract

func _() {
	a := /* comment in the middle of a line */ 1 //@mark(exSt18, "a")
	// Comment on its own line  //@mark(exSt19, "Comment")
	newFunction() //@mark(exEn18, "4"),mark(exEn19, "4"),mark(exSt20, "_")
	// Comment right after 3 + 4

	// Comment after with space //@mark(exEn20, "Comment")

	//@extractfunc(exSt18, exEn18),extractfunc(exSt19, exEn19),extractfunc(exSt20, exEn20)
}

func newFunction() {
	_ = 3 + 4
}

