class UsingRuleDef extends StateDef
{
	//
	// Construction
	//

	public UsingRuleDef( String stateName, String pattern, String usingLexerName )
	{
		super( stateName );
		this.pattern = pattern;
		this.usingLexerName = usingLexerName;
	}

	//
	// Attributes
	//

	public String getPattern()
	{
		return pattern;
	}

	public String getUsingLexerName()
	{
		return usingLexerName;
	}

	//
	// Def
	//

	@Override
	public boolean resolve( Grammar grammar ) throws ResolutionException
	{<FILL_FUNCTION_BODY>}

	//
	// Object
	//

	@Override
	public String toString()
	{
		return super.toString() + ", " + pattern + ", " + usingLexerName;
	}

	// //////////////////////////////////////////////////////////////////////////
	// Protected

	// //////////////////////////////////////////////////////////////////////////
	// Private

	private final String pattern;

	private final String usingLexerName;
}

		Pattern pattern;
		try
		{
			pattern = Pattern.compile( this.pattern, Pattern.MULTILINE | Pattern.DOTALL );
		}
		catch( PatternSyntaxException x )
		{
			throw new ResolutionException( "RegEx syntax error: " + this.pattern, x );
		}

		Lexer usingLexer = Lexer.getByName( usingLexerName );
		UsingRule rule = new UsingRule( pattern, usingLexer );
		State state = grammar.getState( stateName );
		state.addRule( rule );

		resolved = true;
		return true;
	
<methods>public void <init>(java.lang.String) ,public java.lang.String getStateName() ,public java.lang.String toString() <variables>protected org.sikuli.support.ide.syntaxhighlight.grammar.Rule placeHolder,protected final non-sealed java.lang.String stateName