SectionKind has been retired
This commit is contained in:
parent
b3ebd7a259
commit
6040980003
@ -101,14 +101,14 @@ func (analyzer *AnalysisOperation) fetchSection (
|
||||
// table as soon as the vital details are acquired, and mark it as
|
||||
// incomplete. that way, it can still be referenced by itself in certain
|
||||
// scenarios.
|
||||
switch parsedSection.Kind() {
|
||||
case parser.SectionKindType:
|
||||
switch parsedSection.(type) {
|
||||
case parser.TypeSection:
|
||||
section, err = analyzer.analyzeTypeSection()
|
||||
if err != nil { return}
|
||||
case parser.SectionKindEnum:
|
||||
case parser.SectionKindFace:
|
||||
case parser.SectionKindData:
|
||||
case parser.SectionKindFunc:
|
||||
case parser.EnumSection:
|
||||
case parser.FaceSection:
|
||||
case parser.DataSection:
|
||||
case parser.FuncSection:
|
||||
}
|
||||
|
||||
return
|
||||
|
@ -24,6 +24,6 @@ var BuiltInString = createPrimitive("String", Type {
|
||||
// list.
|
||||
func createPrimitive (name string, inherits Type) (primitive TypeSection) {
|
||||
primitive.where = locator { name: name }
|
||||
primitive.inherits = inherits
|
||||
primitive.what = inherits
|
||||
return
|
||||
}
|
||||
|
@ -26,18 +26,6 @@ func (table SectionTable) ToString (indent int) (output string) {
|
||||
return
|
||||
}
|
||||
|
||||
// SectionKind differentiates Section interfaces.
|
||||
type SectionKind int
|
||||
|
||||
const (
|
||||
SectionKindType SectionKind = iota
|
||||
SectionKindObjt
|
||||
SectionKindEnum
|
||||
SectionKindFace
|
||||
SectionKindData
|
||||
SectionKindFunc
|
||||
)
|
||||
|
||||
// Section is a semantically analyzed section.
|
||||
type Section interface {
|
||||
// Provided by sectionBase
|
||||
@ -47,7 +35,6 @@ type Section interface {
|
||||
ModuleName () (path string)
|
||||
|
||||
// Must be implemented by each individual section
|
||||
Kind () (kind SectionKind)
|
||||
ToString (indent int) (output string)
|
||||
}
|
||||
|
||||
|
@ -11,12 +11,6 @@ type TypeSection struct {
|
||||
complete bool
|
||||
}
|
||||
|
||||
// Kind returns SectionKindType.
|
||||
func (section TypeSection) Kind () (kind SectionKind) {
|
||||
kind = SectionKindType
|
||||
return
|
||||
}
|
||||
|
||||
// ToString returns all data stored within the type section, in string form.
|
||||
func (section TypeSection) ToString (indent int) (output string) {
|
||||
output += doIndent(indent, "typeSection ", section.where.ToString(), "\n")
|
||||
|
@ -23,36 +23,6 @@ func (tree SyntaxTree) ResolveRequire (name string) (path string, exists bool) {
|
||||
return
|
||||
}
|
||||
|
||||
// Kind returns the section's kind (SectionKindType).
|
||||
func (section TypeSection) Kind () (kind SectionKind) {
|
||||
kind = SectionKindType
|
||||
return
|
||||
}
|
||||
|
||||
// Kind returns the section's kind (SectionKindEnum).
|
||||
func (section EnumSection) Kind () (kind SectionKind) {
|
||||
kind = SectionKindEnum
|
||||
return
|
||||
}
|
||||
|
||||
// Kind returns the section's kind (SectionKindFace).
|
||||
func (section FaceSection) Kind () (kind SectionKind) {
|
||||
kind = SectionKindFace
|
||||
return
|
||||
}
|
||||
|
||||
// Kind returns the section's kind (SectionKindData).
|
||||
func (section DataSection) Kind () (kind SectionKind) {
|
||||
kind = SectionKindData
|
||||
return
|
||||
}
|
||||
|
||||
// Kind returns the section's kind (SectionKindFunc).
|
||||
func (section FuncSection) Kind () (kind SectionKind) {
|
||||
kind = SectionKindFunc
|
||||
return
|
||||
}
|
||||
|
||||
// Length returns the amount of names in the identifier.
|
||||
func (identifier Identifier) Length () (length int) {
|
||||
length = len(identifier.trail)
|
||||
|
@ -15,22 +15,10 @@ type SyntaxTree struct {
|
||||
sections map[string] Section
|
||||
}
|
||||
|
||||
// SectionKind differentiates Section interfaces.
|
||||
type SectionKind int
|
||||
|
||||
const (
|
||||
SectionKindType = iota
|
||||
SectionKindEnum
|
||||
SectionKindFace
|
||||
SectionKindData
|
||||
SectionKindFunc
|
||||
)
|
||||
|
||||
// Section can be any kind of section. You can find out what type of section it
|
||||
// is with the Kind method.
|
||||
type Section interface {
|
||||
Location () (location file.Location)
|
||||
Kind () (kind SectionKind)
|
||||
Permission () (permission types.Permission)
|
||||
Name () (name string)
|
||||
NewError (message string, kind infoerr.ErrorKind) (err error)
|
||||
|
Reference in New Issue
Block a user