Created
March 25, 2023 18:18
-
-
Save nikomatsakis/28368cc95aa55e071ffc01242d96ed38 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Compiling duchess v0.1.0 (/home/nmatsakis/versioned/duchess) | |
| error: failed to run custom build command for `duchess v0.1.0 (/home/nmatsakis/versioned/duchess)` | |
| Caused by: | |
| process didn't exit successfully: `/home/nmatsakis/versioned/duchess/target/debug/build/duchess-0e35cc4d34a0852b/build-script-build` (exit status: 1) | |
| --- stdout | |
| processing file `/home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop` | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = Flags (*) Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"<"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"?"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"?"` token and later use it to construct a `RefType`. This | |
| might then yield a parse tree like | |
| Flags "?" "extends" ClassRefOrId Id ";" | |
| │ ├─RefType────────────────┤ │ | |
| │ └─Type───────────────────┘ │ | |
| └─Field───────────────────────────────┘ | |
| Hint: It appears you could resolve this problem by adding the annotation `#[inline]` to the definition of | |
| `Generics`. For more information, see the section on inlining in the LALRPOP manual. | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"boolean"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"boolean"` token and later use it to construct a | |
| `ScalarType`. This might then yield a parse tree like | |
| Flags "boolean" ╷ Id ";" | |
| │ ├─ScalarType─┤ │ | |
| │ └─Type───────┘ │ | |
| └─Field───────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"byte"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"byte"` token and later use it to construct a `ScalarType`. | |
| This might then yield a parse tree like | |
| Flags "byte" ╷ Id ";" | |
| │ ├─ScalarType─┤ │ | |
| │ └─Type───────┘ │ | |
| └─Field───────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"double"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"double"` token and later use it to construct a | |
| `ScalarType`. This might then yield a parse tree like | |
| Flags "double" ╷ Id ";" | |
| │ ├─ScalarType─┤ │ | |
| │ └─Type───────┘ │ | |
| └─Field───────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = Flags (*) Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"final"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"float"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"float"` token and later use it to construct a | |
| `ScalarType`. This might then yield a parse tree like | |
| Flags "float" ╷ Id ";" | |
| │ ├─ScalarType─┤ │ | |
| │ └─Type───────┘ │ | |
| └─Field───────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"int"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"int"` token and later use it to construct a `ScalarType`. | |
| This might then yield a parse tree like | |
| Flags "int" ╷ Id ";" | |
| │ ├─ScalarType─┤ │ | |
| │ └─Type───────┘ │ | |
| └─Field───────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"long"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"long"` token and later use it to construct a `ScalarType`. | |
| This might then yield a parse tree like | |
| Flags "long" ╷ Id ";" | |
| │ ├─ScalarType─┤ │ | |
| │ └─Type───────┘ │ | |
| └─Field───────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = Flags (*) Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"native"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `"short"`, then the parser can proceed in two different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `"short"` token and later use it to construct a | |
| `ScalarType`. This might then yield a parse tree like | |
| Flags "short" ╷ Id ";" | |
| │ ├─ScalarType─┤ │ | |
| │ └─Type───────┘ │ | |
| └─Field───────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = Flags (*) Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"synchronized"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `r#"[a-zA-Z][a-zA-Z0-9]*"#`, then the parser can proceed in two | |
| different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `r#"[a-zA-Z][a-zA-Z0-9]*"#` token and later use it to construct | |
| a `ID`. This might then yield a parse tree like | |
| Flags r#"[a-zA-Z][a-zA-Z0-9]*"# Id ";" | |
| │ ├─ID────────────────────┤ │ | |
| │ ├─Id────────────────────┤ │ | |
| │ ├─ClassRefOrId──────────┤ │ | |
| │ ├─RefType───────────────┤ │ | |
| │ └─Type──────────────────┘ │ | |
| └─Field──────────────────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:10:27: 10:41: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" (*) Comma<ClassRef> "{" "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<ClassRef> = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<ClassRef> = (*) Comma<ClassRef> "," ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<ClassRef> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<ClassRef> = (*) Comma1<ClassRef> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `r#"[a-zA-Z][a-zA-Z0-9]*"#` we can reduce to a `Comma<ClassRef>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:10:27: 10:41: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<ClassRef> = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<ClassRef> = (*) Comma<ClassRef> "," ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<ClassRef> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<ClassRef> = (*) Comma1<ClassRef> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `r#"[a-zA-Z][a-zA-Z0-9]*"#` we can reduce to a `Comma<ClassRef>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:122:32: 122:45: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = DotId "<" (*) Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<RefType> = (*) Comma<RefType> "," RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<RefType> = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<RefType> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<RefType> = (*) Comma1<RefType> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"?"` we can reduce to a `Comma<RefType>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:122:32: 122:45: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = DotId "<" (*) Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<RefType> = (*) Comma<RefType> "," RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<RefType> = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<RefType> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<RefType> = (*) Comma1<RefType> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `r#"[a-zA-Z][a-zA-Z0-9]*"#` we can reduce to a `Comma<RefType>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"<"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"final"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"native"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Constructor = Flags (*) DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"synchronized"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Local ambiguity detected | |
| The problem arises after having observed the following symbols in the input: | |
| Flags | |
| At that point, if the next token is a `r#"[a-zA-Z][a-zA-Z0-9]*"#`, then the parser can proceed in two | |
| different ways. | |
| First, the parser could execute the production at | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16, which would consume | |
| the top 0 token(s) from the stack and produce a `Generics`. This might then yield a parse tree like | |
| Flags ╷ ╷ Type Id "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ └─Generics─┘ │ | |
| └─Method───────────────────────────────────────────────────────────┘ | |
| Alternatively, the parser could shift the `r#"[a-zA-Z][a-zA-Z0-9]*"#` token and later use it to construct | |
| a `ID`. This might then yield a parse tree like | |
| Flags r#"[a-zA-Z][a-zA-Z0-9]*"# "." ID "(" Comma<Type> ")" Throws ";" Descriptor | |
| │ ├─ID────────────────────┤ │ │ | |
| │ ├─Id────────────────────┘ │ │ | |
| │ └─DotId────────────────────────┘ │ | |
| └─Constructor──────────────────────────────────────────────────────────────────┘ | |
| See the LALRPOP manual for advice on making your grammar LR(1). | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:121:5: 121:55: Conflict detected | |
| when in this state: | |
| ClassRef = DotId (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = DotId (*) "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId (*) "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = DotId (*) "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"("` we can reduce to a `ClassRef` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:121:5: 121:55: Conflict detected | |
| when in this state: | |
| ClassRef = DotId (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = DotId (*) "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId (*) "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = DotId (*) "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"."` we can reduce to a `ClassRef` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:121:5: 121:55: Conflict detected | |
| when in this state: | |
| ClassRef = DotId (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = DotId (*) "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId (*) "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = DotId (*) "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"<"` we can reduce to a `ClassRef` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:117:5: 117:38: Conflict detected | |
| when in this state: | |
| ClassRefOrId = Id (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = Id (*) "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"."` we can reduce to a `ClassRefOrId` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:94:5: 94:30: Conflict detected | |
| when in this state: | |
| RefType = RefType (*) "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = RefType (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"["` we can reduce to a `Type` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:112:5: 112:28: Conflict detected | |
| when in this state: | |
| RefType = "?" (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = "?" (*) "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = "?" (*) "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"extends"` we can reduce to a `RefType` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:112:5: 112:28: Conflict detected | |
| when in this state: | |
| RefType = "?" (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = "?" (*) "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = "?" (*) "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"super"` we can reduce to a `RefType` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"<"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"final"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"native"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:31:5: 31:16: Conflict detected | |
| when in this state: | |
| Flags = Flags (*) "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = Flags (*) "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Generics = (*) "<" Comma<Id> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = Flags (*) Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"synchronized"` we can reduce to a `Generics` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:127:5: 127:13: Conflict detected | |
| when in this state: | |
| Comma1<RefType> = RefType (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = RefType (*) "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"["` we can reduce to a `Comma1<RefType>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "{" Field+ Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"?"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"boolean"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"byte"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"double"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"float"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"int"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"long"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"short"` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:51:32: 51:42: Conflict detected | |
| when in this state: | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRefOrId = (*) Id ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Comma<Type> "," Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<Type> = (*) Type ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<Type> = (*) Comma1<Type> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = Flags DotId "(" (*) Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) RefType "[" "]" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "extends" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| RefType = (*) "?" "super" ClassRefOrId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "boolean" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "byte" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "double" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "float" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "int" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "long" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ScalarType = (*) "short" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) RefType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Type = (*) ScalarType ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `r#"[a-zA-Z][a-zA-Z0-9]*"#` we can reduce to a `Comma<Type>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:10:27: 10:41: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "implements" (*) Comma<ClassRef> "{" "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassRef = (*) DotId "<" Comma<RefType> ">" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<ClassRef> = (*) ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma1<ClassRef> = (*) Comma<ClassRef> "," ClassRef ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<ClassRef> = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Comma<ClassRef> = (*) Comma1<ClassRef> ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) DotId "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| DotId = (*) Id "." ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ID = (*) r#"[a-zA-Z][a-zA-Z0-9]*"# ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Id = (*) ID ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `r#"[a-zA-Z][a-zA-Z0-9]*"#` we can reduce to a `Comma<ClassRef>` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Field+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = (*) Field+ Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "extends" ClassRef "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Constructor+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Field+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = (*) Constructor+ Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field = (*) Flags Type Id ";" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Field+ = Field+ (*) Field ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = (*) Method+ Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "implements" Comma<ClassRef> "{" Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"protected"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"public"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Header Flags "class" DotId Generics "{" Field+ Constructor+ Method+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "synchronized" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Privacy ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method = (*) Flags Generics Type Id "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Method+ = Method+ (*) Method ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "protected" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Privacy = (*) "public" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| and looking at a token `"}"` we can reduce to a `Privacy` but we can also shift | |
| /home/nmatsakis/versioned/duchess/src/class_info/javap_parser.lalrpop:78:5: 78:26: Conflict detected | |
| when in this state: | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" Constructor+ (*) Method+ "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| ClassInfo = Flags "class" DotId Generics "extends" ClassRef "implements" Comma<ClassRef> "{" Constructor+ (*) "}" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor = (*) Flags DotId "(" Comma<Type> ")" Throws ";" Descriptor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Constructor+ = Constructor+ (*) Constructor ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "final" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "double", "extends", "final", "float", "implements", "int", "long", "native", "protected", "public", "short", "super", "synchronized", "throws", "{", "}", r#"Compiled from \"[a-zA-Z.]+\""#, r#"[a-zA-Z][a-zA-Z0-9]*"#, r#"descriptor: \\([\\[\\]a-zA-Z0-9/;]*\\)[\\[\\]a-zA-Z0-9/;]+"#, EOF] | |
| Flags = (*) Flags "native" ["(", ")", ",", ".", ";", "<", ">", "?", "[", "]", "boolean", "byte", "class", "dou |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment