| Problems reported: |
| |
| parser/record/record_type_02:2:26: Record type named fields list can't be empty. |
| (int, int, {/*missing*/}) record1 = (1, 2); |
| ^ |
| |
| parser/record/record_type_02:3:37: Record type with one entry requires a trailing comma. |
| (int /* missing trailing comma */ ) record2 = (1, ); |
| ^ |
| |
| beginCompilationUnit(void) |
| beginMetadataStar(void) |
| endMetadataStar(0) |
| beginTopLevelMember(void) |
| beginTopLevelMethod(, null, null) |
| handleVoidKeyword(void) |
| handleIdentifier(errors, topLevelFunctionDeclaration) |
| handleNoTypeVariables(() |
| beginFormalParameters((, MemberKind.TopLevelMethod) |
| endFormalParameters(0, (, ), MemberKind.TopLevelMethod) |
| handleAsyncModifier(null, null) |
| beginBlockFunctionBody({) |
| beginMetadataStar(() |
| endMetadataStar(0) |
| beginRecordType(() |
| beginRecordTypeEntry() |
| beginMetadataStar(int) |
| endMetadataStar(0) |
| handleIdentifier(int, typeReference) |
| handleNoTypeArguments(,) |
| handleType(int, null) |
| handleNoName(,) |
| endRecordTypeEntry() |
| beginRecordTypeEntry() |
| beginMetadataStar(int) |
| endMetadataStar(0) |
| handleIdentifier(int, typeReference) |
| handleNoTypeArguments(,) |
| handleType(int, null) |
| handleNoName(,) |
| endRecordTypeEntry() |
| beginRecordTypeNamedFields({) |
| handleRecoverableError(EmptyRecordTypeNamedFieldsList, }, }) |
| endRecordTypeNamedFields(0, {) |
| endRecordType((, null, 3, true) |
| beginVariablesDeclaration(record1, null, null) |
| handleIdentifier(record1, localVariableDeclaration) |
| beginInitializedIdentifier(record1) |
| beginVariableInitializer(=) |
| beginParenthesizedExpressionOrRecordLiteral(() |
| handleLiteralInt(1) |
| handleLiteralInt(2) |
| endRecordLiteral((, 2, null) |
| endVariableInitializer(=) |
| endInitializedIdentifier(record1) |
| endVariablesDeclaration(1, ;) |
| beginMetadataStar(() |
| endMetadataStar(0) |
| beginRecordType(() |
| beginRecordTypeEntry() |
| beginMetadataStar(int) |
| endMetadataStar(0) |
| handleIdentifier(int, typeReference) |
| handleNoTypeArguments()) |
| handleType(int, null) |
| handleNoName()) |
| endRecordTypeEntry() |
| handleRecoverableError(RecordTypeOnePositionalFieldNoTrailingComma, ), )) |
| endRecordType((, null, 1, false) |
| beginVariablesDeclaration(record2, null, null) |
| handleIdentifier(record2, localVariableDeclaration) |
| beginInitializedIdentifier(record2) |
| beginVariableInitializer(=) |
| beginParenthesizedExpressionOrRecordLiteral(() |
| handleLiteralInt(1) |
| endRecordLiteral((, 1, null) |
| endVariableInitializer(=) |
| endInitializedIdentifier(record2) |
| endVariablesDeclaration(1, ;) |
| endBlockFunctionBody(2, {, }) |
| endTopLevelMethod(void, null, }) |
| endTopLevelDeclaration(void) |
| beginMetadataStar(void) |
| endMetadataStar(0) |
| beginTopLevelMember(void) |
| beginTopLevelMethod(}, null, null) |
| handleVoidKeyword(void) |
| handleIdentifier(ok, topLevelFunctionDeclaration) |
| handleNoTypeVariables(() |
| beginFormalParameters((, MemberKind.TopLevelMethod) |
| endFormalParameters(0, (, ), MemberKind.TopLevelMethod) |
| handleAsyncModifier(null, null) |
| beginBlockFunctionBody({) |
| beginMetadataStar(() |
| endMetadataStar(0) |
| beginRecordType(() |
| beginRecordTypeEntry() |
| beginMetadataStar(int) |
| endMetadataStar(0) |
| handleIdentifier(int, typeReference) |
| handleNoTypeArguments(,) |
| handleType(int, null) |
| handleNoName(,) |
| endRecordTypeEntry() |
| endRecordType((, null, 1, false) |
| beginVariablesDeclaration(record1, null, null) |
| handleIdentifier(record1, localVariableDeclaration) |
| beginInitializedIdentifier(record1) |
| beginVariableInitializer(=) |
| beginParenthesizedExpressionOrRecordLiteral(() |
| handleLiteralInt(1) |
| endRecordLiteral((, 1, null) |
| endVariableInitializer(=) |
| endInitializedIdentifier(record1) |
| endVariablesDeclaration(1, ;) |
| beginMetadataStar(() |
| endMetadataStar(0) |
| beginRecordType(() |
| beginRecordTypeNamedFields({) |
| beginRecordTypeEntry() |
| beginMetadataStar(int) |
| endMetadataStar(0) |
| handleIdentifier(int, typeReference) |
| handleNoTypeArguments(ok) |
| handleType(int, null) |
| handleIdentifier(ok, recordFieldDeclaration) |
| endRecordTypeEntry() |
| endRecordTypeNamedFields(1, {) |
| endRecordType((, null, 1, true) |
| beginVariablesDeclaration(record2, null, null) |
| handleIdentifier(record2, localVariableDeclaration) |
| beginInitializedIdentifier(record2) |
| beginVariableInitializer(=) |
| beginParenthesizedExpressionOrRecordLiteral(() |
| handleIdentifier(ok, namedRecordFieldReference) |
| handleLiteralInt(1) |
| handleNamedRecordField(:) |
| endRecordLiteral((, 1, null) |
| endVariableInitializer(=) |
| endInitializedIdentifier(record2) |
| endVariablesDeclaration(1, ;) |
| beginMetadataStar(() |
| endMetadataStar(0) |
| beginRecordType(() |
| endRecordType((, null, 0, false) |
| beginVariablesDeclaration(record3, null, null) |
| handleIdentifier(record3, localVariableDeclaration) |
| beginInitializedIdentifier(record3) |
| beginVariableInitializer(=) |
| beginParenthesizedExpressionOrRecordLiteral(() |
| endRecordLiteral((, 0, null) |
| endVariableInitializer(=) |
| endInitializedIdentifier(record3) |
| endVariablesDeclaration(1, ;) |
| endBlockFunctionBody(3, {, }) |
| endTopLevelMethod(void, null, }) |
| endTopLevelDeclaration() |
| endCompilationUnit(2, ) |