File: warnings.go

package info (click to toggle)
c2go 0.26.11-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,052 kB
  • sloc: ansic: 6,037; sh: 82; makefile: 5
file content (39 lines) | stat: -rw-r--r-- 954 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package program

import (
	"fmt"
	"reflect"

	"github.com/elliotchance/c2go/ast"
)

// GenerateErrorMessage - generate error message
func (p *Program) GenerateErrorMessage(e error, n ast.Node) string {
	if e != nil {
		structName := reflect.TypeOf(n).Elem().Name()
		return fmt.Sprintf("// Error (%s): %s: %s", structName,
			n.Position().GetSimpleLocation(), e.Error())
	}

	return ""
}

// GenerateWarningMessage - generate warning message
func (p *Program) GenerateWarningMessage(e error, n ast.Node) string {
	if e != nil {
		structName := reflect.TypeOf(n).Elem().Name()
		return fmt.Sprintf("// Warning (%s): %s: %s", structName,
			n.Position().GetSimpleLocation(), e.Error())
	}

	return ""
}

// GenerateWarningOrErrorMessage - generate error if it happen
func (p *Program) GenerateWarningOrErrorMessage(e error, n ast.Node, isError bool) string {
	if isError {
		return p.GenerateErrorMessage(e, n)
	}

	return p.GenerateWarningMessage(e, n)
}