anchor.diff:  	;
   
   importDeclaration
  -	:	IMPORT importSymbol SEMICOLON		// Import symbol can only have wildcard at end (Java-style).
  +	:	IMPORT importSymbol SEMICOLON
   	;
   
   importSymbol
  
positive.code: // VIEW
  
  viewDeclaration
  	:	annotation* INCLUDE? VIEW aliasableView ( COMMA aliasableView )* ( USE classSelector ( COMMA classSelector )* )? viewBody
  	|	EXCLUDE VIEW nonAliasableView ( COMMA nonAliasableView )* SEMICOLON
  	;
  
  // 1. Aliases only legal when no wildcard is used.
  // 2. Aliases always take on the package name of the aliased class.
  // 3. Aliases cannot conflict with class names or other class aliases.
  aliasableView
  	:	classSelector ( AS alias )?		// Should class aliases be able to specify a different package?
  	;
  	
  nonAliasableView
  	:	classSelector
  	;
  	
  viewBody
  
negative.code: 	:	ANNOTATION
  	;
  
  taxonomy
  	:	type
  	;
  
  classRef
  	:	type
  	;
  	
  memberRef
  	:	identifier
  	;
  	
  