Fixed some test case formatting
This commit is contained in:
		
							parent
							
								
									cced825f74
								
							
						
					
					
						commit
						ef90115a1b
					
				@ -115,22 +115,16 @@ func TestType (test *testing.T) {
 | 
			
		||||
:arf
 | 
			
		||||
---
 | 
			
		||||
type ro Basic:Int
 | 
			
		||||
 | 
			
		||||
type ro BasicInit:Int 6
 | 
			
		||||
 | 
			
		||||
type ro IntArray:{Int ..}
 | 
			
		||||
 | 
			
		||||
type ro IntArrayInit:{Int 3}
 | 
			
		||||
	3298 923 92
 | 
			
		||||
 | 
			
		||||
type ro Complex:Obj
 | 
			
		||||
	ro that:Basic
 | 
			
		||||
	ro this:Basic
 | 
			
		||||
 | 
			
		||||
type ro ComplexInit:Obj
 | 
			
		||||
	ro that:BasicInit
 | 
			
		||||
	ro this:Basic 23
 | 
			
		||||
 | 
			
		||||
type ro ComplexWithComplexInit
 | 
			
		||||
	ro basic:Basic 87
 | 
			
		||||
	ro complex0:Complex
 | 
			
		||||
 | 
			
		||||
@ -261,7 +261,11 @@ func (section *TypeSection) ToString (indent int) (output string) {
 | 
			
		||||
		section.inherits.ToString())
 | 
			
		||||
	
 | 
			
		||||
	if section.defaultValue.value == nil {
 | 
			
		||||
		// TODO: print out members
 | 
			
		||||
		if len(section.members) > 0 {
 | 
			
		||||
			// TODO: print out members
 | 
			
		||||
		} else {
 | 
			
		||||
			output += "\n"
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		output += " " + section.defaultValue.ToString(0, false)
 | 
			
		||||
		output += "\n"	
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,50 @@
 | 
			
		||||
package parser
 | 
			
		||||
 | 
			
		||||
import "git.tebibyte.media/sashakoshka/arf/types"
 | 
			
		||||
import "git.tebibyte.media/sashakoshka/arf/lexer"
 | 
			
		||||
// import "git.tebibyte.media/sashakoshka/arf/infoerr"
 | 
			
		||||
 | 
			
		||||
func (parser *ParsingOperation) parseTypeSection () (
 | 
			
		||||
	section *TypeSection,
 | 
			
		||||
	err     error,
 | 
			
		||||
) {
 | 
			
		||||
	err = parser.expect(lexer.TokenKindName)
 | 
			
		||||
	if err != nil { return }
 | 
			
		||||
	
 | 
			
		||||
	section = &TypeSection { location: parser.token.Location() }
 | 
			
		||||
 | 
			
		||||
	// get permission
 | 
			
		||||
	err = parser.nextToken(lexer.TokenKindPermission)
 | 
			
		||||
	if err != nil { return }
 | 
			
		||||
	section.permission = parser.token.Value().(types.Permission)
 | 
			
		||||
 | 
			
		||||
	// get name
 | 
			
		||||
	err = parser.nextToken(lexer.TokenKindName)
 | 
			
		||||
	if err != nil { return }
 | 
			
		||||
	section.name = parser.token.Value().(string)
 | 
			
		||||
 | 
			
		||||
	// get inherited type
 | 
			
		||||
	err = parser.nextToken(lexer.TokenKindColon)
 | 
			
		||||
	if err != nil { return }
 | 
			
		||||
	err = parser.nextToken()
 | 
			
		||||
	if err != nil { return }
 | 
			
		||||
	section.inherits, err = parser.parseType()
 | 
			
		||||
	if err != nil { return }
 | 
			
		||||
 | 
			
		||||
	if parser.token.Is(lexer.TokenKindNewline) {
 | 
			
		||||
		err = parser.nextToken()
 | 
			
		||||
		if err != nil { return }
 | 
			
		||||
 | 
			
		||||
		// section.value, err = parser.parseInitializationValues(0)
 | 
			
		||||
		// if err != nil { return }
 | 
			
		||||
	} else {
 | 
			
		||||
		section.defaultValue, err = parser.parseArgument()
 | 
			
		||||
		if err != nil { return }
 | 
			
		||||
 | 
			
		||||
		err = parser.expect(lexer.TokenKindNewline)
 | 
			
		||||
		if err != nil { return }
 | 
			
		||||
		err = parser.nextToken()
 | 
			
		||||
		if err != nil { return }
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user