src/main/java/com/bazaarvoice/jless/parser/Parser.java
@MemoMismatches
    Rule MixinReference() {
        Var<String> name = new Var<String>();
        return FirstOf(
                // No arguments, reference an existing rule set's properties
                Sequence(
                        SelectorGroup(), ';',
                        resolveMixinReference(NodeTreeUtils.getFirstChild((InternalNode) pop(), SelectorNode.class).toString(), null),
                        Ws0Nodes()
                ),
                // Call a mixin, passing along some arguments
                Sequence(
                        Class(), name.set(match()), Arguments(), Ws0(), ';',
                        resolveMixinReference(name.get(), (ArgumentsNode) pop()),
                        Ws0Nodes()
                )
        );
    }
@MemoMismatches
    Rule MixinReference() {
        Var<String> name = new Var<String>();
        return FirstOf(
                // No arguments, reference an existing rule set's properties
                Sequence(
                        SelectorGroup(), ';',
                        resolveMixinReference(NodeTreeUtils.getFirstChild((InternalNode) pop(), SelectorNode.class).toString(), null),
                        Ws0Nodes()
                ),
                // Call a mixin, passing along some arguments
                Sequence(
                        Class(), name.set(match()), Arguments(), Ws0(), ';',
                        resolveMixinReference(name.get(), (ArgumentsNode) pop()),
                        Ws0Nodes()
                )
        );
    }
@ MemoMismatches Rule MixinReference ( ) { Var < String > name = new Var < String > ( ) ; return FirstOf ( // No arguments, reference an existing rule set's properties Sequence ( SelectorGroup ( ) , ' ' , resolveMixinReference ( NodeTreeUtils . getFirstChild ( ( InternalNode ) pop ( ) , SelectorNode . class ) . toString ( ) , null ) , Ws0Nodes ( ) ) , // Call a mixin, passing along some arguments Sequence ( Class ( ) , name . set ( match ( ) ) , Arguments ( ) , Ws0 ( ) , ' ' , resolveMixinReference ( name . get ( ) , ( ArgumentsNode ) pop ( ) ) , Ws0Nodes ( ) ) ) ; }
SelectorGroup ';' Ws0
/ Class Arguments ';' Ws0
SelectorGroup ; Ws0 / Class Arguments ; Ws0