
-- OK: Everything is fine

-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .14 1
-- .14 2
-- .14 3

ModuleTestResolver2
	{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
		spelio(9363) software(1) asn1c(5) test(1) 14 1 }
	DEFINITIONS ::=
BEGIN
	IMPORTS Enumeration, beta, gamma FROM
		OtherModuleRenamed
		{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
			spelio(9363) software(1) asn1c(5) test(1) 14 2 };

	-- external references
	alpha Enumeration ::= beta
	other Enumeration ::= gamma
	
	Struct ::= SEQUENCE {
		member1	[1]	ModuleTestResolver3.Enumeration OPTIONAL,
		member2	[2]	OtherModuleRenamed.Enumeration DEFAULT b
	}

	-- 
	-- The following are for post-fix checking by the check_fixer.
	-- It will be able to pick-up these values if the file is parseable,
	-- even if it contains some semantic errors.
	-- 

	check-alpha INTEGER ::= 2
	check-other INTEGER ::= 1

END

ModuleTestResolver3
	{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
		spelio(9363) software(1) asn1c(5) test(1) 14 2 }
	DEFINITIONS ::=
BEGIN
	EXPORTS Enumeration, beta, gamma;
	IMPORTS gamma, HiddenEnum FROM HiddenModule;

	beta HiddenEnum ::= b

	Enumeration ::= ENUMERATED { a(1), b(2) }	-- the same type --

END

HiddenModule
	{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
		spelio(9363) software(1) asn1c(5) test(1) 14 3 }
	DEFINITIONS ::=
BEGIN
	EXPORTS HiddenEnum, gamma;
	IMPORTS Enumeration FROM ModuleTestResolver3;

	HiddenEnum ::= ENUMERATED { a(1), b(2) }

	gamma Enumeration ::= a

END
