Documentation
¶
Index ¶
- func AsExprNode(x core.INode) core.IExprNode
- func AsExprNodes(xs []core.INode) []core.IExprNode
- func AsSlot(x core.INode) core.ISlot
- func AsSlots(xs []core.INode) []core.ISlot
- func AsStmtNode(x core.INode) core.IStmtNode
- func AsStmtNodes(xs []core.INode) []core.IStmtNode
- func AsTypeNode(x core.INode) core.ITypeNode
- func AsTypeNodes(xs []core.INode) []core.ITypeNode
- func NewExprNodes(xs ...core.IExprNode) []core.IExprNode
- func NewNodes(xs ...core.INode) []core.INode
- func NewStmtNodes(xs ...core.IStmtNode) []core.IStmtNode
- func VisitExprNode(v INodeVisitor, expr core.IExprNode) interface{}
- func VisitExprNodes(v INodeVisitor, exprs []core.IExprNode) interface{}
- func VisitStmtNode(v INodeVisitor, stmt core.IStmtNode) interface{}
- func VisitStmtNodes(v INodeVisitor, stmts []core.IStmtNode) interface{}
- func VisitTypeDefinition(v INodeVisitor, typedef core.ITypeDefinition) interface{}
- func VisitTypeDefinitions(v INodeVisitor, typedefs []core.ITypeDefinition) interface{}
- type AST
- func (self *AST) GenerateIR() *ir.IR
- func (self *AST) GetConstantTable() *entity.ConstantTable
- func (self *AST) GetConstants() []*entity.Constant
- func (self *AST) GetDeclaration() *Declaration
- func (self *AST) GetDefinedFunctions() []*entity.DefinedFunction
- func (self *AST) GetDefinedVariables() []*entity.DefinedVariable
- func (self AST) GetLocation() core.Location
- func (self *AST) GetScope() *entity.ToplevelScope
- func (self *AST) ListDeclarations() []core.IEntity
- func (self *AST) ListDefinitions() []core.IEntity
- func (self *AST) ListEntities() []core.IEntity
- func (self *AST) ListTypes() []core.ITypeDefinition
- func (self *AST) SetConstantTable(table *entity.ConstantTable)
- func (self *AST) SetConstants(xs []*entity.Constant)
- func (self *AST) SetDefinedFunctions(xs []*entity.DefinedFunction)
- func (self *AST) SetDefinedVariables(xs []*entity.DefinedVariable)
- func (self *AST) SetScope(scope *entity.ToplevelScope)
- func (self AST) String() string
- type AddressNode
- func (self *AddressNode) AsExprNode() core.IExprNode
- func (self *AddressNode) GetExpr() core.IExprNode
- func (self AddressNode) GetLocation() core.Location
- func (self *AddressNode) GetOrigType() core.IType
- func (self *AddressNode) GetType() core.IType
- func (self *AddressNode) IsAssignable() bool
- func (self *AddressNode) IsCallable() bool
- func (self *AddressNode) IsConstant() bool
- func (self *AddressNode) IsLoadable() bool
- func (self *AddressNode) IsLvalue() bool
- func (self *AddressNode) IsParameter() bool
- func (self *AddressNode) IsPointer() bool
- func (self *AddressNode) SetType(t core.IType)
- func (self AddressNode) String() string
- type ArefNode
- func (self *ArefNode) AsExprNode() core.IExprNode
- func (self *ArefNode) GetBaseExpr() core.IExprNode
- func (self *ArefNode) GetElementSize() int
- func (self *ArefNode) GetExpr() core.IExprNode
- func (self *ArefNode) GetIndex() core.IExprNode
- func (self *ArefNode) GetLength() int
- func (self ArefNode) GetLocation() core.Location
- func (self *ArefNode) GetOrigType() core.IType
- func (self *ArefNode) GetType() core.IType
- func (self *ArefNode) IsAssignable() bool
- func (self *ArefNode) IsCallable() bool
- func (self *ArefNode) IsConstant() bool
- func (self *ArefNode) IsLoadable() bool
- func (self *ArefNode) IsLvalue() bool
- func (self *ArefNode) IsMultiDimension() bool
- func (self *ArefNode) IsParameter() bool
- func (self *ArefNode) IsPointer() bool
- func (self *ArefNode) SetType(t core.IType)
- func (self ArefNode) String() string
- type AssignNode
- func (self *AssignNode) AsExprNode() core.IExprNode
- func (self *AssignNode) GetLHS() core.IExprNode
- func (self AssignNode) GetLocation() core.Location
- func (self *AssignNode) GetOrigType() core.IType
- func (self *AssignNode) GetRHS() core.IExprNode
- func (self *AssignNode) GetType() core.IType
- func (self *AssignNode) IsAssignable() bool
- func (self *AssignNode) IsCallable() bool
- func (self *AssignNode) IsConstant() bool
- func (self *AssignNode) IsLoadable() bool
- func (self *AssignNode) IsLvalue() bool
- func (self *AssignNode) IsParameter() bool
- func (self *AssignNode) IsPointer() bool
- func (self *AssignNode) SetLHS(expr core.IExprNode)
- func (self *AssignNode) SetRHS(expr core.IExprNode)
- func (self *AssignNode) SetType(t core.IType)
- func (self AssignNode) String() string
- type BinaryOpNode
- func (self *BinaryOpNode) AsExprNode() core.IExprNode
- func (self *BinaryOpNode) GetLeft() core.IExprNode
- func (self BinaryOpNode) GetLocation() core.Location
- func (self *BinaryOpNode) GetOperator() string
- func (self *BinaryOpNode) GetOrigType() core.IType
- func (self *BinaryOpNode) GetRight() core.IExprNode
- func (self *BinaryOpNode) GetType() core.IType
- func (self *BinaryOpNode) IsAssignable() bool
- func (self *BinaryOpNode) IsCallable() bool
- func (self *BinaryOpNode) IsConstant() bool
- func (self *BinaryOpNode) IsLoadable() bool
- func (self *BinaryOpNode) IsLvalue() bool
- func (self *BinaryOpNode) IsParameter() bool
- func (self *BinaryOpNode) IsPointer() bool
- func (self *BinaryOpNode) SetLeft(expr core.IExprNode)
- func (self *BinaryOpNode) SetRight(expr core.IExprNode)
- func (self *BinaryOpNode) SetType(t core.IType)
- func (self BinaryOpNode) String() string
- type BlockNode
- func (self *BlockNode) AsStmtNode() core.IStmtNode
- func (self BlockNode) GetLocation() core.Location
- func (self *BlockNode) GetScope() core.IScope
- func (self *BlockNode) GetStmts() []core.IStmtNode
- func (self *BlockNode) GetVariables() []*entity.DefinedVariable
- func (self *BlockNode) SetScope(scope *entity.LocalScope)
- func (self BlockNode) String() string
- type BreakNode
- type CaseNode
- func (self *CaseNode) AsStmtNode() core.IStmtNode
- func (self *CaseNode) GetBody() core.IStmtNode
- func (self *CaseNode) GetLabel() *asm.Label
- func (self CaseNode) GetLocation() core.Location
- func (self CaseNode) GetScope() core.IScope
- func (self *CaseNode) GetValues() []core.IExprNode
- func (self *CaseNode) IsDefault() bool
- func (self *CaseNode) SetLabel(label *asm.Label)
- func (self CaseNode) String() string
- type CastNode
- func (self *CastNode) AsExprNode() core.IExprNode
- func (self *CastNode) GetExpr() core.IExprNode
- func (self CastNode) GetLocation() core.Location
- func (self *CastNode) GetOrigType() core.IType
- func (self *CastNode) GetType() core.IType
- func (self *CastNode) GetTypeNode() core.ITypeNode
- func (self *CastNode) GetTypeRef() core.ITypeRef
- func (self *CastNode) IsAssignable() bool
- func (self *CastNode) IsCallable() bool
- func (self *CastNode) IsConstant() bool
- func (self *CastNode) IsEffectiveCast() bool
- func (self *CastNode) IsLoadable() bool
- func (self *CastNode) IsLvalue() bool
- func (self *CastNode) IsParameter() bool
- func (self *CastNode) IsPointer() bool
- func (self *CastNode) SetType(t core.IType)
- func (self CastNode) String() string
- type CondExprNode
- func (self *CondExprNode) AsExprNode() core.IExprNode
- func (self *CondExprNode) GetCond() core.IExprNode
- func (self *CondExprNode) GetElseExpr() core.IExprNode
- func (self CondExprNode) GetLocation() core.Location
- func (self *CondExprNode) GetOrigType() core.IType
- func (self *CondExprNode) GetThenExpr() core.IExprNode
- func (self *CondExprNode) GetType() core.IType
- func (self *CondExprNode) IsAssignable() bool
- func (self *CondExprNode) IsCallable() bool
- func (self *CondExprNode) IsConstant() bool
- func (self *CondExprNode) IsLoadable() bool
- func (self *CondExprNode) IsLvalue() bool
- func (self *CondExprNode) IsParameter() bool
- func (self *CondExprNode) IsPointer() bool
- func (self *CondExprNode) SetElseExpr(expr core.IExprNode)
- func (self *CondExprNode) SetThenExpr(expr core.IExprNode)
- func (self *CondExprNode) SetType(t core.IType)
- func (self CondExprNode) String() string
- type ContinueNode
- type Declaration
- func (self *Declaration) AddConstant(c *entity.Constant)
- func (self *Declaration) AddConstants(cs []*entity.Constant)
- func (self *Declaration) AddDeclaration(other *Declaration)
- func (self *Declaration) AddDefstruct(s *StructNode)
- func (self *Declaration) AddDefstructs(ss []*StructNode)
- func (self *Declaration) AddDefun(f *entity.DefinedFunction)
- func (self *Declaration) AddDefunion(u *UnionNode)
- func (self *Declaration) AddDefunions(us []*UnionNode)
- func (self *Declaration) AddDefuns(fs []*entity.DefinedFunction)
- func (self *Declaration) AddDefvar(v *entity.DefinedVariable)
- func (self *Declaration) AddDefvars(vs []*entity.DefinedVariable)
- func (self *Declaration) AddFuncdecl(f *entity.UndefinedFunction)
- func (self *Declaration) AddFuncdecls(fs []*entity.UndefinedFunction)
- func (self *Declaration) AddTypedef(t *TypedefNode)
- func (self *Declaration) AddTypedefs(ts []*TypedefNode)
- func (self *Declaration) AddVardecl(v *entity.UndefinedVariable)
- func (self *Declaration) AddVardecls(vs []*entity.UndefinedVariable)
- func (self *Declaration) GetConstants() []*entity.Constant
- func (self *Declaration) GetDefstructs() []*StructNode
- func (self *Declaration) GetDefunions() []*UnionNode
- func (self *Declaration) GetDefuns() []*entity.DefinedFunction
- func (self *Declaration) GetDefvars() []*entity.DefinedVariable
- func (self *Declaration) GetFuncdecls() []*entity.UndefinedFunction
- func (self Declaration) GetLocation() core.Location
- func (self *Declaration) GetTypedefs() []*TypedefNode
- func (self *Declaration) GetVardecls() []*entity.UndefinedVariable
- func (self Declaration) String() string
- type DereferenceNode
- func (self *DereferenceNode) AsExprNode() core.IExprNode
- func (self *DereferenceNode) GetExpr() core.IExprNode
- func (self DereferenceNode) GetLocation() core.Location
- func (self *DereferenceNode) GetOrigType() core.IType
- func (self *DereferenceNode) GetType() core.IType
- func (self *DereferenceNode) IsAssignable() bool
- func (self *DereferenceNode) IsCallable() bool
- func (self *DereferenceNode) IsConstant() bool
- func (self *DereferenceNode) IsLoadable() bool
- func (self *DereferenceNode) IsLvalue() bool
- func (self *DereferenceNode) IsParameter() bool
- func (self *DereferenceNode) IsPointer() bool
- func (self *DereferenceNode) SetType(t core.IType)
- func (self DereferenceNode) String() string
- type DoWhileNode
- type ExprStmtNode
- type ForNode
- func (self *ForNode) AsStmtNode() core.IStmtNode
- func (self *ForNode) GetBody() core.IStmtNode
- func (self *ForNode) GetCond() core.IExprNode
- func (self *ForNode) GetIncr() core.IExprNode
- func (self *ForNode) GetInit() core.IExprNode
- func (self ForNode) GetLocation() core.Location
- func (self ForNode) GetScope() core.IScope
- func (self ForNode) HasCond() bool
- func (self ForNode) HasIncr() bool
- func (self ForNode) HasInit() bool
- func (self ForNode) String() string
- type FuncallNode
- func (self *FuncallNode) AsExprNode() core.IExprNode
- func (self *FuncallNode) GetArg(i int) core.IExprNode
- func (self *FuncallNode) GetArgs() []core.IExprNode
- func (self *FuncallNode) GetExpr() core.IExprNode
- func (self *FuncallNode) GetFunctionType() *typesys.FunctionType
- func (self FuncallNode) GetLocation() core.Location
- func (self *FuncallNode) GetOrigType() core.IType
- func (self *FuncallNode) GetType() core.IType
- func (self *FuncallNode) IsAssignable() bool
- func (self *FuncallNode) IsCallable() bool
- func (self *FuncallNode) IsConstant() bool
- func (self *FuncallNode) IsLoadable() bool
- func (self *FuncallNode) IsLvalue() bool
- func (self *FuncallNode) IsParameter() bool
- func (self *FuncallNode) IsPointer() bool
- func (self *FuncallNode) NumArgs() int
- func (self *FuncallNode) SetArgs(args []core.IExprNode)
- func (self *FuncallNode) SetType(t core.IType)
- func (self FuncallNode) String() string
- type GotoNode
- type INodeVisitor
- type IfNode
- func (self *IfNode) AsStmtNode() core.IStmtNode
- func (self *IfNode) GetCond() core.IExprNode
- func (self *IfNode) GetElseBody() core.IStmtNode
- func (self IfNode) GetLocation() core.Location
- func (self IfNode) GetScope() core.IScope
- func (self *IfNode) GetThenBody() core.IStmtNode
- func (self *IfNode) HasElseBody() bool
- func (self IfNode) String() string
- type IntegerLiteralNode
- func (self *IntegerLiteralNode) AsExprNode() core.IExprNode
- func (self IntegerLiteralNode) GetLocation() core.Location
- func (self *IntegerLiteralNode) GetOrigType() core.IType
- func (self *IntegerLiteralNode) GetType() core.IType
- func (self *IntegerLiteralNode) GetTypeNode() core.ITypeNode
- func (self *IntegerLiteralNode) GetValue() int64
- func (self *IntegerLiteralNode) IsAssignable() bool
- func (self *IntegerLiteralNode) IsCallable() bool
- func (self *IntegerLiteralNode) IsConstant() bool
- func (self *IntegerLiteralNode) IsLoadable() bool
- func (self *IntegerLiteralNode) IsLvalue() bool
- func (self *IntegerLiteralNode) IsParameter() bool
- func (self *IntegerLiteralNode) IsPointer() bool
- func (self *IntegerLiteralNode) SetType(t core.IType)
- func (self IntegerLiteralNode) String() string
- type LabelNode
- type LogicalAndNode
- func (self *LogicalAndNode) AsExprNode() core.IExprNode
- func (self *LogicalAndNode) GetLeft() core.IExprNode
- func (self LogicalAndNode) GetLocation() core.Location
- func (self *LogicalAndNode) GetOperator() string
- func (self *LogicalAndNode) GetOrigType() core.IType
- func (self *LogicalAndNode) GetRight() core.IExprNode
- func (self *LogicalAndNode) GetType() core.IType
- func (self *LogicalAndNode) IsAssignable() bool
- func (self *LogicalAndNode) IsCallable() bool
- func (self *LogicalAndNode) IsConstant() bool
- func (self *LogicalAndNode) IsLoadable() bool
- func (self *LogicalAndNode) IsLvalue() bool
- func (self *LogicalAndNode) IsParameter() bool
- func (self *LogicalAndNode) IsPointer() bool
- func (self *LogicalAndNode) SetLeft(expr core.IExprNode)
- func (self *LogicalAndNode) SetRight(expr core.IExprNode)
- func (self *LogicalAndNode) SetType(t core.IType)
- func (self LogicalAndNode) String() string
- type LogicalOrNode
- func (self *LogicalOrNode) AsExprNode() core.IExprNode
- func (self *LogicalOrNode) GetLeft() core.IExprNode
- func (self LogicalOrNode) GetLocation() core.Location
- func (self *LogicalOrNode) GetOperator() string
- func (self *LogicalOrNode) GetOrigType() core.IType
- func (self *LogicalOrNode) GetRight() core.IExprNode
- func (self *LogicalOrNode) GetType() core.IType
- func (self *LogicalOrNode) IsAssignable() bool
- func (self *LogicalOrNode) IsCallable() bool
- func (self *LogicalOrNode) IsConstant() bool
- func (self *LogicalOrNode) IsLoadable() bool
- func (self *LogicalOrNode) IsLvalue() bool
- func (self *LogicalOrNode) IsParameter() bool
- func (self *LogicalOrNode) IsPointer() bool
- func (self *LogicalOrNode) SetLeft(expr core.IExprNode)
- func (self *LogicalOrNode) SetRight(expr core.IExprNode)
- func (self *LogicalOrNode) SetType(t core.IType)
- func (self LogicalOrNode) String() string
- type MemberNode
- func (self *MemberNode) AsExprNode() core.IExprNode
- func (self *MemberNode) GetBaseType() core.ICompositeType
- func (self *MemberNode) GetExpr() core.IExprNode
- func (self MemberNode) GetLocation() core.Location
- func (self *MemberNode) GetMember() string
- func (self *MemberNode) GetOffset() int
- func (self *MemberNode) GetOrigType() core.IType
- func (self *MemberNode) GetType() core.IType
- func (self *MemberNode) IsAssignable() bool
- func (self *MemberNode) IsCallable() bool
- func (self *MemberNode) IsConstant() bool
- func (self *MemberNode) IsLoadable() bool
- func (self *MemberNode) IsLvalue() bool
- func (self *MemberNode) IsParameter() bool
- func (self *MemberNode) IsPointer() bool
- func (self *MemberNode) SetType(t core.IType)
- func (self MemberNode) String() string
- type OpAssignNode
- func (self *OpAssignNode) AsExprNode() core.IExprNode
- func (self *OpAssignNode) GetLHS() core.IExprNode
- func (self OpAssignNode) GetLocation() core.Location
- func (self *OpAssignNode) GetOperator() string
- func (self *OpAssignNode) GetOrigType() core.IType
- func (self *OpAssignNode) GetRHS() core.IExprNode
- func (self *OpAssignNode) GetType() core.IType
- func (self *OpAssignNode) IsAssignable() bool
- func (self *OpAssignNode) IsCallable() bool
- func (self *OpAssignNode) IsConstant() bool
- func (self *OpAssignNode) IsLoadable() bool
- func (self *OpAssignNode) IsLvalue() bool
- func (self *OpAssignNode) IsParameter() bool
- func (self *OpAssignNode) IsPointer() bool
- func (self *OpAssignNode) SetLHS(expr core.IExprNode)
- func (self *OpAssignNode) SetRHS(expr core.IExprNode)
- func (self *OpAssignNode) SetType(t core.IType)
- func (self OpAssignNode) String() string
- type PrefixOpNode
- func (self *PrefixOpNode) AsExprNode() core.IExprNode
- func (self *PrefixOpNode) GetAmount() int
- func (self *PrefixOpNode) GetExpr() core.IExprNode
- func (self PrefixOpNode) GetLocation() core.Location
- func (self *PrefixOpNode) GetOpType() core.IType
- func (self *PrefixOpNode) GetOperator() string
- func (self *PrefixOpNode) GetOrigType() core.IType
- func (self *PrefixOpNode) GetType() core.IType
- func (self *PrefixOpNode) IsAssignable() bool
- func (self *PrefixOpNode) IsCallable() bool
- func (self *PrefixOpNode) IsConstant() bool
- func (self *PrefixOpNode) IsLoadable() bool
- func (self *PrefixOpNode) IsLvalue() bool
- func (self *PrefixOpNode) IsParameter() bool
- func (self *PrefixOpNode) IsPointer() bool
- func (self *PrefixOpNode) SetAmount(i int)
- func (self *PrefixOpNode) SetExpr(expr core.IExprNode)
- func (self *PrefixOpNode) SetOpType(t core.IType)
- func (self *PrefixOpNode) SetType(t core.IType)
- func (self PrefixOpNode) String() string
- type PtrMemberNode
- func (self *PtrMemberNode) AsExprNode() core.IExprNode
- func (self *PtrMemberNode) GetDereferedCompositeType() core.ICompositeType
- func (self *PtrMemberNode) GetDereferedType() core.IType
- func (self *PtrMemberNode) GetExpr() core.IExprNode
- func (self PtrMemberNode) GetLocation() core.Location
- func (self *PtrMemberNode) GetMember() string
- func (self *PtrMemberNode) GetOffset() int
- func (self *PtrMemberNode) GetOrigType() core.IType
- func (self *PtrMemberNode) GetType() core.IType
- func (self *PtrMemberNode) IsAssignable() bool
- func (self *PtrMemberNode) IsCallable() bool
- func (self *PtrMemberNode) IsConstant() bool
- func (self *PtrMemberNode) IsLoadable() bool
- func (self *PtrMemberNode) IsLvalue() bool
- func (self *PtrMemberNode) IsParameter() bool
- func (self *PtrMemberNode) IsPointer() bool
- func (self *PtrMemberNode) SetType(t core.IType)
- func (self PtrMemberNode) String() string
- type ReturnNode
- func (self *ReturnNode) AsStmtNode() core.IStmtNode
- func (self *ReturnNode) GetExpr() core.IExprNode
- func (self ReturnNode) GetLocation() core.Location
- func (self ReturnNode) GetScope() core.IScope
- func (self ReturnNode) HasExpr() bool
- func (self *ReturnNode) SetExpr(expr core.IExprNode)
- func (self ReturnNode) String() string
- type SizeofExprNode
- func (self *SizeofExprNode) AsExprNode() core.IExprNode
- func (self *SizeofExprNode) GetExpr() core.IExprNode
- func (self SizeofExprNode) GetLocation() core.Location
- func (self *SizeofExprNode) GetOrigType() core.IType
- func (self *SizeofExprNode) GetType() core.IType
- func (self *SizeofExprNode) GetTypeNode() core.ITypeNode
- func (self *SizeofExprNode) GetTypeRef() core.ITypeRef
- func (self *SizeofExprNode) IsAssignable() bool
- func (self *SizeofExprNode) IsCallable() bool
- func (self *SizeofExprNode) IsConstant() bool
- func (self *SizeofExprNode) IsLoadable() bool
- func (self *SizeofExprNode) IsLvalue() bool
- func (self *SizeofExprNode) IsParameter() bool
- func (self *SizeofExprNode) IsPointer() bool
- func (self *SizeofExprNode) SetType(t core.IType)
- func (self SizeofExprNode) String() string
- type SizeofTypeNode
- func (self *SizeofTypeNode) AsExprNode() core.IExprNode
- func (self SizeofTypeNode) GetLocation() core.Location
- func (self *SizeofTypeNode) GetOperandType() core.IType
- func (self *SizeofTypeNode) GetOperandTypeNode() core.ITypeNode
- func (self *SizeofTypeNode) GetOperandTypeRef() core.ITypeRef
- func (self *SizeofTypeNode) GetOrigType() core.IType
- func (self *SizeofTypeNode) GetType() core.IType
- func (self *SizeofTypeNode) GetTypeNode() core.ITypeNode
- func (self *SizeofTypeNode) GetTypeRef() core.ITypeRef
- func (self *SizeofTypeNode) IsAssignable() bool
- func (self *SizeofTypeNode) IsCallable() bool
- func (self *SizeofTypeNode) IsConstant() bool
- func (self *SizeofTypeNode) IsLoadable() bool
- func (self *SizeofTypeNode) IsLvalue() bool
- func (self *SizeofTypeNode) IsParameter() bool
- func (self *SizeofTypeNode) IsPointer() bool
- func (self *SizeofTypeNode) SetType(t core.IType)
- func (self SizeofTypeNode) String() string
- type Slot
- type StringLiteralNode
- func (self *StringLiteralNode) AsExprNode() core.IExprNode
- func (self *StringLiteralNode) GetEntry() *entity.ConstantEntry
- func (self StringLiteralNode) GetLocation() core.Location
- func (self *StringLiteralNode) GetOrigType() core.IType
- func (self *StringLiteralNode) GetType() core.IType
- func (self *StringLiteralNode) GetTypeNode() core.ITypeNode
- func (self *StringLiteralNode) GetTypeRef() core.ITypeRef
- func (self *StringLiteralNode) GetValue() string
- func (self *StringLiteralNode) IsAssignable() bool
- func (self *StringLiteralNode) IsCallable() bool
- func (self *StringLiteralNode) IsConstant() bool
- func (self *StringLiteralNode) IsLoadable() bool
- func (self *StringLiteralNode) IsLvalue() bool
- func (self *StringLiteralNode) IsParameter() bool
- func (self *StringLiteralNode) IsPointer() bool
- func (self *StringLiteralNode) SetEntry(e *entity.ConstantEntry)
- func (self *StringLiteralNode) SetType(t core.IType)
- func (self StringLiteralNode) String() string
- type StructNode
- func (self *StructNode) DefiningType() core.IType
- func (self StructNode) GetLocation() core.Location
- func (self *StructNode) GetMembers() []core.ISlot
- func (self *StructNode) GetName() string
- func (self *StructNode) GetTypeNode() core.ITypeNode
- func (self *StructNode) GetTypeRef() core.ITypeRef
- func (self *StructNode) IsCompositeType() bool
- func (self *StructNode) IsTypeDefinition() bool
- func (self StructNode) String() string
- type SuffixOpNode
- func (self *SuffixOpNode) AsExprNode() core.IExprNode
- func (self *SuffixOpNode) GetAmount() int
- func (self *SuffixOpNode) GetExpr() core.IExprNode
- func (self SuffixOpNode) GetLocation() core.Location
- func (self *SuffixOpNode) GetOpType() core.IType
- func (self *SuffixOpNode) GetOperator() string
- func (self *SuffixOpNode) GetOrigType() core.IType
- func (self *SuffixOpNode) GetType() core.IType
- func (self *SuffixOpNode) IsAssignable() bool
- func (self *SuffixOpNode) IsCallable() bool
- func (self *SuffixOpNode) IsConstant() bool
- func (self *SuffixOpNode) IsLoadable() bool
- func (self *SuffixOpNode) IsLvalue() bool
- func (self *SuffixOpNode) IsParameter() bool
- func (self *SuffixOpNode) IsPointer() bool
- func (self *SuffixOpNode) SetAmount(i int)
- func (self *SuffixOpNode) SetExpr(expr core.IExprNode)
- func (self *SuffixOpNode) SetOpType(t core.IType)
- func (self *SuffixOpNode) SetType(t core.IType)
- func (self SuffixOpNode) String() string
- type SwitchNode
- type TypeNode
- func (self *TypeNode) AsTypeNode() core.ITypeNode
- func (self TypeNode) GetLocation() core.Location
- func (self *TypeNode) GetType() core.IType
- func (self *TypeNode) GetTypeRef() core.ITypeRef
- func (self *TypeNode) IsResolved() bool
- func (self *TypeNode) SetType(t core.IType)
- func (self TypeNode) String() string
- type TypedefNode
- func (self *TypedefNode) DefiningType() core.IType
- func (self TypedefNode) GetLocation() core.Location
- func (self *TypedefNode) GetName() string
- func (self *TypedefNode) GetRealTypeNode() core.ITypeNode
- func (self *TypedefNode) GetRealTypeRef() core.ITypeRef
- func (self *TypedefNode) GetTypeNode() core.ITypeNode
- func (self *TypedefNode) GetTypeRef() core.ITypeRef
- func (self *TypedefNode) IsTypeDefinition() bool
- func (self TypedefNode) String() string
- type UnaryOpNode
- func (self *UnaryOpNode) AsExprNode() core.IExprNode
- func (self *UnaryOpNode) GetExpr() core.IExprNode
- func (self UnaryOpNode) GetLocation() core.Location
- func (self *UnaryOpNode) GetOpType() core.IType
- func (self *UnaryOpNode) GetOperator() string
- func (self *UnaryOpNode) GetOrigType() core.IType
- func (self *UnaryOpNode) GetType() core.IType
- func (self *UnaryOpNode) IsAssignable() bool
- func (self *UnaryOpNode) IsCallable() bool
- func (self *UnaryOpNode) IsConstant() bool
- func (self *UnaryOpNode) IsLoadable() bool
- func (self *UnaryOpNode) IsLvalue() bool
- func (self *UnaryOpNode) IsParameter() bool
- func (self *UnaryOpNode) IsPointer() bool
- func (self *UnaryOpNode) SetOpType(t core.IType)
- func (self *UnaryOpNode) SetType(t core.IType)
- func (self UnaryOpNode) String() string
- type UnionNode
- func (self *UnionNode) DefiningType() core.IType
- func (self UnionNode) GetLocation() core.Location
- func (self *UnionNode) GetMembers() []core.ISlot
- func (self *UnionNode) GetName() string
- func (self *UnionNode) GetTypeNode() core.ITypeNode
- func (self *UnionNode) GetTypeRef() core.ITypeRef
- func (self *UnionNode) IsCompositeType() bool
- func (self *UnionNode) IsTypeDefinition() bool
- func (self UnionNode) String() string
- type VariableNode
- func (self *VariableNode) AsExprNode() core.IExprNode
- func (self *VariableNode) GetEntity() core.IEntity
- func (self VariableNode) GetLocation() core.Location
- func (self *VariableNode) GetName() string
- func (self *VariableNode) GetOrigType() core.IType
- func (self *VariableNode) GetType() core.IType
- func (self *VariableNode) IsAssignable() bool
- func (self *VariableNode) IsCallable() bool
- func (self *VariableNode) IsConstant() bool
- func (self *VariableNode) IsLoadable() bool
- func (self *VariableNode) IsLvalue() bool
- func (self *VariableNode) IsParameter() bool
- func (self *VariableNode) IsPointer() bool
- func (self *VariableNode) IsResolved() bool
- func (self *VariableNode) SetEntity(ent core.IEntity)
- func (self *VariableNode) SetType(t core.IType)
- func (self VariableNode) String() string
- type WhileNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func VisitExprNode ¶
func VisitExprNode(v INodeVisitor, expr core.IExprNode) interface{}
func VisitExprNodes ¶
func VisitExprNodes(v INodeVisitor, exprs []core.IExprNode) interface{}
func VisitStmtNode ¶
func VisitStmtNode(v INodeVisitor, stmt core.IStmtNode) interface{}
func VisitStmtNodes ¶
func VisitStmtNodes(v INodeVisitor, stmts []core.IStmtNode) interface{}
func VisitTypeDefinition ¶
func VisitTypeDefinition(v INodeVisitor, typedef core.ITypeDefinition) interface{}
func VisitTypeDefinitions ¶
func VisitTypeDefinitions(v INodeVisitor, typedefs []core.ITypeDefinition) interface{}
Types ¶
type AST ¶
type AST struct { ClassName string Location core.Location Declaration *Declaration // contains filtered or unexported fields }
func (*AST) GenerateIR ¶
func (*AST) GetConstantTable ¶
func (self *AST) GetConstantTable() *entity.ConstantTable
func (*AST) GetConstants ¶
func (*AST) GetDeclaration ¶
func (self *AST) GetDeclaration() *Declaration
func (*AST) GetDefinedFunctions ¶
func (self *AST) GetDefinedFunctions() []*entity.DefinedFunction
func (*AST) GetDefinedVariables ¶
func (self *AST) GetDefinedVariables() []*entity.DefinedVariable
func (AST) GetLocation ¶
func (*AST) GetScope ¶
func (self *AST) GetScope() *entity.ToplevelScope
func (*AST) ListDeclarations ¶
func (*AST) ListDefinitions ¶
func (*AST) ListEntities ¶
func (*AST) ListTypes ¶
func (self *AST) ListTypes() []core.ITypeDefinition
func (*AST) SetConstantTable ¶
func (self *AST) SetConstantTable(table *entity.ConstantTable)
func (*AST) SetConstants ¶
func (*AST) SetDefinedFunctions ¶
func (self *AST) SetDefinedFunctions(xs []*entity.DefinedFunction)
func (*AST) SetDefinedVariables ¶
func (self *AST) SetDefinedVariables(xs []*entity.DefinedVariable)
func (*AST) SetScope ¶
func (self *AST) SetScope(scope *entity.ToplevelScope)
type AddressNode ¶
type AddressNode struct { ClassName string Location core.Location Expr core.IExprNode Type core.IType }
AddressNode
func NewAddressNode ¶
func NewAddressNode(loc core.Location, expr core.IExprNode) *AddressNode
func (*AddressNode) AsExprNode ¶
func (self *AddressNode) AsExprNode() core.IExprNode
func (*AddressNode) GetExpr ¶
func (self *AddressNode) GetExpr() core.IExprNode
func (AddressNode) GetLocation ¶
func (self AddressNode) GetLocation() core.Location
func (*AddressNode) GetOrigType ¶
func (self *AddressNode) GetOrigType() core.IType
func (*AddressNode) GetType ¶
func (self *AddressNode) GetType() core.IType
func (*AddressNode) IsAssignable ¶
func (self *AddressNode) IsAssignable() bool
func (*AddressNode) IsCallable ¶
func (self *AddressNode) IsCallable() bool
func (*AddressNode) IsConstant ¶
func (self *AddressNode) IsConstant() bool
func (*AddressNode) IsLoadable ¶
func (self *AddressNode) IsLoadable() bool
func (*AddressNode) IsLvalue ¶
func (self *AddressNode) IsLvalue() bool
func (*AddressNode) IsParameter ¶
func (self *AddressNode) IsParameter() bool
func (*AddressNode) IsPointer ¶
func (self *AddressNode) IsPointer() bool
func (*AddressNode) SetType ¶
func (self *AddressNode) SetType(t core.IType)
func (AddressNode) String ¶
func (self AddressNode) String() string
type ArefNode ¶
type ArefNode struct { ClassName string Location core.Location Expr core.IExprNode Index core.IExprNode Type core.IType }
ArefNode
func NewArefNode ¶
func (*ArefNode) AsExprNode ¶
func (*ArefNode) GetBaseExpr ¶
func (*ArefNode) GetElementSize ¶
func (ArefNode) GetLocation ¶
func (*ArefNode) GetOrigType ¶
func (*ArefNode) IsAssignable ¶
func (*ArefNode) IsCallable ¶
func (*ArefNode) IsConstant ¶
func (*ArefNode) IsLoadable ¶
func (*ArefNode) IsMultiDimension ¶
func (*ArefNode) IsParameter ¶
type AssignNode ¶
type AssignNode struct { ClassName string Location core.Location LHS core.IExprNode RHS core.IExprNode }
AssignNode
func NewAssignNode ¶
func (*AssignNode) AsExprNode ¶
func (self *AssignNode) AsExprNode() core.IExprNode
func (*AssignNode) GetLHS ¶
func (self *AssignNode) GetLHS() core.IExprNode
func (AssignNode) GetLocation ¶
func (self AssignNode) GetLocation() core.Location
func (*AssignNode) GetOrigType ¶
func (self *AssignNode) GetOrigType() core.IType
func (*AssignNode) GetRHS ¶
func (self *AssignNode) GetRHS() core.IExprNode
func (*AssignNode) GetType ¶
func (self *AssignNode) GetType() core.IType
func (*AssignNode) IsAssignable ¶
func (self *AssignNode) IsAssignable() bool
func (*AssignNode) IsCallable ¶
func (self *AssignNode) IsCallable() bool
func (*AssignNode) IsConstant ¶
func (self *AssignNode) IsConstant() bool
func (*AssignNode) IsLoadable ¶
func (self *AssignNode) IsLoadable() bool
func (*AssignNode) IsLvalue ¶
func (self *AssignNode) IsLvalue() bool
func (*AssignNode) IsParameter ¶
func (self *AssignNode) IsParameter() bool
func (*AssignNode) IsPointer ¶
func (self *AssignNode) IsPointer() bool
func (*AssignNode) SetLHS ¶
func (self *AssignNode) SetLHS(expr core.IExprNode)
func (*AssignNode) SetRHS ¶
func (self *AssignNode) SetRHS(expr core.IExprNode)
func (*AssignNode) SetType ¶
func (self *AssignNode) SetType(t core.IType)
func (AssignNode) String ¶
func (self AssignNode) String() string
type BinaryOpNode ¶
type BinaryOpNode struct { ClassName string Location core.Location Operator string Left core.IExprNode Right core.IExprNode Type core.IType }
BinaryOpNode
func NewBinaryOpNode ¶
func (*BinaryOpNode) AsExprNode ¶
func (self *BinaryOpNode) AsExprNode() core.IExprNode
func (*BinaryOpNode) GetLeft ¶
func (self *BinaryOpNode) GetLeft() core.IExprNode
func (BinaryOpNode) GetLocation ¶
func (self BinaryOpNode) GetLocation() core.Location
func (*BinaryOpNode) GetOperator ¶
func (self *BinaryOpNode) GetOperator() string
func (*BinaryOpNode) GetOrigType ¶
func (self *BinaryOpNode) GetOrigType() core.IType
func (*BinaryOpNode) GetRight ¶
func (self *BinaryOpNode) GetRight() core.IExprNode
func (*BinaryOpNode) GetType ¶
func (self *BinaryOpNode) GetType() core.IType
func (*BinaryOpNode) IsAssignable ¶
func (self *BinaryOpNode) IsAssignable() bool
func (*BinaryOpNode) IsCallable ¶
func (self *BinaryOpNode) IsCallable() bool
func (*BinaryOpNode) IsConstant ¶
func (self *BinaryOpNode) IsConstant() bool
func (*BinaryOpNode) IsLoadable ¶
func (self *BinaryOpNode) IsLoadable() bool
func (*BinaryOpNode) IsLvalue ¶
func (self *BinaryOpNode) IsLvalue() bool
func (*BinaryOpNode) IsParameter ¶
func (self *BinaryOpNode) IsParameter() bool
func (*BinaryOpNode) IsPointer ¶
func (self *BinaryOpNode) IsPointer() bool
func (*BinaryOpNode) SetLeft ¶
func (self *BinaryOpNode) SetLeft(expr core.IExprNode)
func (*BinaryOpNode) SetRight ¶
func (self *BinaryOpNode) SetRight(expr core.IExprNode)
func (*BinaryOpNode) SetType ¶
func (self *BinaryOpNode) SetType(t core.IType)
func (BinaryOpNode) String ¶
func (self BinaryOpNode) String() string
type BlockNode ¶
type BlockNode struct { ClassName string Location core.Location Variables []*entity.DefinedVariable Stmts []core.IStmtNode // contains filtered or unexported fields }
BlockNode
func NewBlockNode ¶
func (*BlockNode) AsStmtNode ¶
func (BlockNode) GetLocation ¶
func (*BlockNode) GetVariables ¶
func (self *BlockNode) GetVariables() []*entity.DefinedVariable
func (*BlockNode) SetScope ¶
func (self *BlockNode) SetScope(scope *entity.LocalScope)
type BreakNode ¶
BreakNode
func NewBreakNode ¶
func (*BreakNode) AsStmtNode ¶
func (BreakNode) GetLocation ¶
type CaseNode ¶
type CaseNode struct { ClassName string Location core.Location Label *asm.Label Values []core.IExprNode Body core.IStmtNode }
CaseNode
func NewCaseNode ¶
func (*CaseNode) AsStmtNode ¶
func (CaseNode) GetLocation ¶
type CastNode ¶
type CastNode struct { ClassName string Location core.Location TypeNode core.ITypeNode Expr core.IExprNode Type core.IType }
CastNode
func NewCastNode ¶
func (*CastNode) AsExprNode ¶
func (CastNode) GetLocation ¶
func (*CastNode) GetOrigType ¶
func (*CastNode) GetTypeNode ¶
func (*CastNode) GetTypeRef ¶
func (*CastNode) IsAssignable ¶
func (*CastNode) IsCallable ¶
func (*CastNode) IsConstant ¶
func (*CastNode) IsEffectiveCast ¶
func (*CastNode) IsLoadable ¶
func (*CastNode) IsParameter ¶
type CondExprNode ¶
type CondExprNode struct { ClassName string Location core.Location Cond core.IExprNode ThenExpr core.IExprNode ElseExpr core.IExprNode Type core.IType }
CondExprNode
func NewCondExprNode ¶
func (*CondExprNode) AsExprNode ¶
func (self *CondExprNode) AsExprNode() core.IExprNode
func (*CondExprNode) GetCond ¶
func (self *CondExprNode) GetCond() core.IExprNode
func (*CondExprNode) GetElseExpr ¶
func (self *CondExprNode) GetElseExpr() core.IExprNode
func (CondExprNode) GetLocation ¶
func (self CondExprNode) GetLocation() core.Location
func (*CondExprNode) GetOrigType ¶
func (self *CondExprNode) GetOrigType() core.IType
func (*CondExprNode) GetThenExpr ¶
func (self *CondExprNode) GetThenExpr() core.IExprNode
func (*CondExprNode) GetType ¶
func (self *CondExprNode) GetType() core.IType
func (*CondExprNode) IsAssignable ¶
func (self *CondExprNode) IsAssignable() bool
func (*CondExprNode) IsCallable ¶
func (self *CondExprNode) IsCallable() bool
func (*CondExprNode) IsConstant ¶
func (self *CondExprNode) IsConstant() bool
func (*CondExprNode) IsLoadable ¶
func (self *CondExprNode) IsLoadable() bool
func (*CondExprNode) IsLvalue ¶
func (self *CondExprNode) IsLvalue() bool
func (*CondExprNode) IsParameter ¶
func (self *CondExprNode) IsParameter() bool
func (*CondExprNode) IsPointer ¶
func (self *CondExprNode) IsPointer() bool
func (*CondExprNode) SetElseExpr ¶
func (self *CondExprNode) SetElseExpr(expr core.IExprNode)
func (*CondExprNode) SetThenExpr ¶
func (self *CondExprNode) SetThenExpr(expr core.IExprNode)
func (*CondExprNode) SetType ¶
func (self *CondExprNode) SetType(t core.IType)
func (CondExprNode) String ¶
func (self CondExprNode) String() string
type ContinueNode ¶
ContinueNode
func NewContinueNode ¶
func NewContinueNode(loc core.Location) *ContinueNode
func (*ContinueNode) AsStmtNode ¶
func (self *ContinueNode) AsStmtNode() core.IStmtNode
func (ContinueNode) GetLocation ¶
func (self ContinueNode) GetLocation() core.Location
func (ContinueNode) GetScope ¶
func (self ContinueNode) GetScope() core.IScope
func (ContinueNode) String ¶
func (self ContinueNode) String() string
type Declaration ¶
type Declaration struct { ClassName string Defvars []*entity.DefinedVariable Vardecls []*entity.UndefinedVariable Defuns []*entity.DefinedFunction Funcdecls []*entity.UndefinedFunction Constants []*entity.Constant Defstructs []*StructNode Defunions []*UnionNode Typedefs []*TypedefNode }
func AsDeclaration ¶
func AsDeclaration(x core.INode) *Declaration
func NewDeclaration ¶
func NewDeclaration(defvars []*entity.DefinedVariable, vardecls []*entity.UndefinedVariable, defuns []*entity.DefinedFunction, funcdecls []*entity.UndefinedFunction, constants []*entity.Constant, defstructs []*StructNode, defunions []*UnionNode, typedefs []*TypedefNode) *Declaration
func (*Declaration) AddConstant ¶
func (self *Declaration) AddConstant(c *entity.Constant)
func (*Declaration) AddConstants ¶
func (self *Declaration) AddConstants(cs []*entity.Constant)
func (*Declaration) AddDeclaration ¶
func (self *Declaration) AddDeclaration(other *Declaration)
func (*Declaration) AddDefstruct ¶
func (self *Declaration) AddDefstruct(s *StructNode)
func (*Declaration) AddDefstructs ¶
func (self *Declaration) AddDefstructs(ss []*StructNode)
func (*Declaration) AddDefun ¶
func (self *Declaration) AddDefun(f *entity.DefinedFunction)
func (*Declaration) AddDefunion ¶
func (self *Declaration) AddDefunion(u *UnionNode)
func (*Declaration) AddDefunions ¶
func (self *Declaration) AddDefunions(us []*UnionNode)
func (*Declaration) AddDefuns ¶
func (self *Declaration) AddDefuns(fs []*entity.DefinedFunction)
func (*Declaration) AddDefvar ¶
func (self *Declaration) AddDefvar(v *entity.DefinedVariable)
func (*Declaration) AddDefvars ¶
func (self *Declaration) AddDefvars(vs []*entity.DefinedVariable)
func (*Declaration) AddFuncdecl ¶
func (self *Declaration) AddFuncdecl(f *entity.UndefinedFunction)
func (*Declaration) AddFuncdecls ¶
func (self *Declaration) AddFuncdecls(fs []*entity.UndefinedFunction)
func (*Declaration) AddTypedef ¶
func (self *Declaration) AddTypedef(t *TypedefNode)
func (*Declaration) AddTypedefs ¶
func (self *Declaration) AddTypedefs(ts []*TypedefNode)
func (*Declaration) AddVardecl ¶
func (self *Declaration) AddVardecl(v *entity.UndefinedVariable)
func (*Declaration) AddVardecls ¶
func (self *Declaration) AddVardecls(vs []*entity.UndefinedVariable)
func (*Declaration) GetConstants ¶
func (self *Declaration) GetConstants() []*entity.Constant
func (*Declaration) GetDefstructs ¶
func (self *Declaration) GetDefstructs() []*StructNode
func (*Declaration) GetDefunions ¶
func (self *Declaration) GetDefunions() []*UnionNode
func (*Declaration) GetDefuns ¶
func (self *Declaration) GetDefuns() []*entity.DefinedFunction
func (*Declaration) GetDefvars ¶
func (self *Declaration) GetDefvars() []*entity.DefinedVariable
func (*Declaration) GetFuncdecls ¶
func (self *Declaration) GetFuncdecls() []*entity.UndefinedFunction
func (Declaration) GetLocation ¶
func (self Declaration) GetLocation() core.Location
func (*Declaration) GetTypedefs ¶
func (self *Declaration) GetTypedefs() []*TypedefNode
func (*Declaration) GetVardecls ¶
func (self *Declaration) GetVardecls() []*entity.UndefinedVariable
func (Declaration) String ¶
func (self Declaration) String() string
type DereferenceNode ¶
type DereferenceNode struct { ClassName string Location core.Location Expr core.IExprNode Type core.IType }
DereferenceNode
func NewDereferenceNode ¶
func NewDereferenceNode(loc core.Location, expr core.IExprNode) *DereferenceNode
func (*DereferenceNode) AsExprNode ¶
func (self *DereferenceNode) AsExprNode() core.IExprNode
func (*DereferenceNode) GetExpr ¶
func (self *DereferenceNode) GetExpr() core.IExprNode
func (DereferenceNode) GetLocation ¶
func (self DereferenceNode) GetLocation() core.Location
func (*DereferenceNode) GetOrigType ¶
func (self *DereferenceNode) GetOrigType() core.IType
func (*DereferenceNode) GetType ¶
func (self *DereferenceNode) GetType() core.IType
func (*DereferenceNode) IsAssignable ¶
func (self *DereferenceNode) IsAssignable() bool
func (*DereferenceNode) IsCallable ¶
func (self *DereferenceNode) IsCallable() bool
func (*DereferenceNode) IsConstant ¶
func (self *DereferenceNode) IsConstant() bool
func (*DereferenceNode) IsLoadable ¶
func (self *DereferenceNode) IsLoadable() bool
func (*DereferenceNode) IsLvalue ¶
func (self *DereferenceNode) IsLvalue() bool
func (*DereferenceNode) IsParameter ¶
func (self *DereferenceNode) IsParameter() bool
func (*DereferenceNode) IsPointer ¶
func (self *DereferenceNode) IsPointer() bool
func (*DereferenceNode) SetType ¶
func (self *DereferenceNode) SetType(t core.IType)
func (DereferenceNode) String ¶
func (self DereferenceNode) String() string
type DoWhileNode ¶
type DoWhileNode struct { ClassName string Location core.Location Body core.IStmtNode Cond core.IExprNode }
DoWhileNode
func NewDoWhileNode ¶
func (*DoWhileNode) AsStmtNode ¶
func (self *DoWhileNode) AsStmtNode() core.IStmtNode
func (*DoWhileNode) GetBody ¶
func (self *DoWhileNode) GetBody() core.IStmtNode
func (*DoWhileNode) GetCond ¶
func (self *DoWhileNode) GetCond() core.IExprNode
func (DoWhileNode) GetLocation ¶
func (self DoWhileNode) GetLocation() core.Location
func (DoWhileNode) GetScope ¶
func (self DoWhileNode) GetScope() core.IScope
func (DoWhileNode) String ¶
func (self DoWhileNode) String() string
type ExprStmtNode ¶
ExprStmtNode
func NewExprStmtNode ¶
func NewExprStmtNode(loc core.Location, expr core.IExprNode) *ExprStmtNode
func (*ExprStmtNode) AsStmtNode ¶
func (self *ExprStmtNode) AsStmtNode() core.IStmtNode
func (*ExprStmtNode) GetExpr ¶
func (self *ExprStmtNode) GetExpr() core.IExprNode
func (ExprStmtNode) GetLocation ¶
func (self ExprStmtNode) GetLocation() core.Location
func (ExprStmtNode) GetScope ¶
func (self ExprStmtNode) GetScope() core.IScope
func (ExprStmtNode) String ¶
func (self ExprStmtNode) String() string
type ForNode ¶
type ForNode struct { ClassName string Location core.Location Init core.IExprNode Cond core.IExprNode Incr core.IExprNode Body core.IStmtNode }
ForNode
func NewForNode ¶
func (*ForNode) AsStmtNode ¶
func (ForNode) GetLocation ¶
type FuncallNode ¶
type FuncallNode struct { ClassName string Location core.Location Expr core.IExprNode Args []core.IExprNode }
FuncallNode
func NewFuncallNode ¶
func (*FuncallNode) AsExprNode ¶
func (self *FuncallNode) AsExprNode() core.IExprNode
func (*FuncallNode) GetArgs ¶
func (self *FuncallNode) GetArgs() []core.IExprNode
func (*FuncallNode) GetExpr ¶
func (self *FuncallNode) GetExpr() core.IExprNode
func (*FuncallNode) GetFunctionType ¶
func (self *FuncallNode) GetFunctionType() *typesys.FunctionType
func (FuncallNode) GetLocation ¶
func (self FuncallNode) GetLocation() core.Location
func (*FuncallNode) GetOrigType ¶
func (self *FuncallNode) GetOrigType() core.IType
func (*FuncallNode) GetType ¶
func (self *FuncallNode) GetType() core.IType
func (*FuncallNode) IsAssignable ¶
func (self *FuncallNode) IsAssignable() bool
func (*FuncallNode) IsCallable ¶
func (self *FuncallNode) IsCallable() bool
func (*FuncallNode) IsConstant ¶
func (self *FuncallNode) IsConstant() bool
func (*FuncallNode) IsLoadable ¶
func (self *FuncallNode) IsLoadable() bool
func (*FuncallNode) IsLvalue ¶
func (self *FuncallNode) IsLvalue() bool
func (*FuncallNode) IsParameter ¶
func (self *FuncallNode) IsParameter() bool
func (*FuncallNode) IsPointer ¶
func (self *FuncallNode) IsPointer() bool
func (*FuncallNode) NumArgs ¶
func (self *FuncallNode) NumArgs() int
func (*FuncallNode) SetArgs ¶
func (self *FuncallNode) SetArgs(args []core.IExprNode)
func (*FuncallNode) SetType ¶
func (self *FuncallNode) SetType(t core.IType)
func (FuncallNode) String ¶
func (self FuncallNode) String() string
type INodeVisitor ¶
type IfNode ¶
type IfNode struct { ClassName string Location core.Location Cond core.IExprNode ThenBody core.IStmtNode ElseBody core.IStmtNode }
IfNode
func (*IfNode) AsStmtNode ¶
func (*IfNode) GetElseBody ¶
func (IfNode) GetLocation ¶
func (*IfNode) GetThenBody ¶
func (*IfNode) HasElseBody ¶
type IntegerLiteralNode ¶
type IntegerLiteralNode struct { ClassName string Location core.Location TypeNode core.ITypeNode Value int64 }
IntegerLiteralNode
func NewCharacterLiteralNode ¶
func NewCharacterLiteralNode(loc core.Location, literal string) *IntegerLiteralNode
func NewIntegerLiteralNode ¶
func NewIntegerLiteralNode(loc core.Location, literal string) *IntegerLiteralNode
func (*IntegerLiteralNode) AsExprNode ¶
func (self *IntegerLiteralNode) AsExprNode() core.IExprNode
func (IntegerLiteralNode) GetLocation ¶
func (self IntegerLiteralNode) GetLocation() core.Location
func (*IntegerLiteralNode) GetOrigType ¶
func (self *IntegerLiteralNode) GetOrigType() core.IType
func (*IntegerLiteralNode) GetType ¶
func (self *IntegerLiteralNode) GetType() core.IType
func (*IntegerLiteralNode) GetTypeNode ¶
func (self *IntegerLiteralNode) GetTypeNode() core.ITypeNode
func (*IntegerLiteralNode) GetValue ¶
func (self *IntegerLiteralNode) GetValue() int64
func (*IntegerLiteralNode) IsAssignable ¶
func (self *IntegerLiteralNode) IsAssignable() bool
func (*IntegerLiteralNode) IsCallable ¶
func (self *IntegerLiteralNode) IsCallable() bool
func (*IntegerLiteralNode) IsConstant ¶
func (self *IntegerLiteralNode) IsConstant() bool
func (*IntegerLiteralNode) IsLoadable ¶
func (self *IntegerLiteralNode) IsLoadable() bool
func (*IntegerLiteralNode) IsLvalue ¶
func (self *IntegerLiteralNode) IsLvalue() bool
func (*IntegerLiteralNode) IsParameter ¶
func (self *IntegerLiteralNode) IsParameter() bool
func (*IntegerLiteralNode) IsPointer ¶
func (self *IntegerLiteralNode) IsPointer() bool
func (*IntegerLiteralNode) SetType ¶
func (self *IntegerLiteralNode) SetType(t core.IType)
func (IntegerLiteralNode) String ¶
func (self IntegerLiteralNode) String() string
type LabelNode ¶
LabelNode
func NewLabelNode ¶
func (*LabelNode) AsStmtNode ¶
func (LabelNode) GetLocation ¶
type LogicalAndNode ¶
type LogicalAndNode struct { ClassName string Location core.Location Left core.IExprNode Right core.IExprNode Type core.IType }
LogicalAndNode
func NewLogicalAndNode ¶
func (*LogicalAndNode) AsExprNode ¶
func (self *LogicalAndNode) AsExprNode() core.IExprNode
func (*LogicalAndNode) GetLeft ¶
func (self *LogicalAndNode) GetLeft() core.IExprNode
func (LogicalAndNode) GetLocation ¶
func (self LogicalAndNode) GetLocation() core.Location
func (*LogicalAndNode) GetOperator ¶
func (self *LogicalAndNode) GetOperator() string
func (*LogicalAndNode) GetOrigType ¶
func (self *LogicalAndNode) GetOrigType() core.IType
func (*LogicalAndNode) GetRight ¶
func (self *LogicalAndNode) GetRight() core.IExprNode
func (*LogicalAndNode) GetType ¶
func (self *LogicalAndNode) GetType() core.IType
func (*LogicalAndNode) IsAssignable ¶
func (self *LogicalAndNode) IsAssignable() bool
func (*LogicalAndNode) IsCallable ¶
func (self *LogicalAndNode) IsCallable() bool
func (*LogicalAndNode) IsConstant ¶
func (self *LogicalAndNode) IsConstant() bool
func (*LogicalAndNode) IsLoadable ¶
func (self *LogicalAndNode) IsLoadable() bool
func (*LogicalAndNode) IsLvalue ¶
func (self *LogicalAndNode) IsLvalue() bool
func (*LogicalAndNode) IsParameter ¶
func (self *LogicalAndNode) IsParameter() bool
func (*LogicalAndNode) IsPointer ¶
func (self *LogicalAndNode) IsPointer() bool
func (*LogicalAndNode) SetLeft ¶
func (self *LogicalAndNode) SetLeft(expr core.IExprNode)
func (*LogicalAndNode) SetRight ¶
func (self *LogicalAndNode) SetRight(expr core.IExprNode)
func (*LogicalAndNode) SetType ¶
func (self *LogicalAndNode) SetType(t core.IType)
func (LogicalAndNode) String ¶
func (self LogicalAndNode) String() string
type LogicalOrNode ¶
type LogicalOrNode struct { ClassName string Location core.Location Left core.IExprNode Right core.IExprNode Type core.IType }
LogicalOrNode
func NewLogicalOrNode ¶
func (*LogicalOrNode) AsExprNode ¶
func (self *LogicalOrNode) AsExprNode() core.IExprNode
func (*LogicalOrNode) GetLeft ¶
func (self *LogicalOrNode) GetLeft() core.IExprNode
func (LogicalOrNode) GetLocation ¶
func (self LogicalOrNode) GetLocation() core.Location
func (*LogicalOrNode) GetOperator ¶
func (self *LogicalOrNode) GetOperator() string
func (*LogicalOrNode) GetOrigType ¶
func (self *LogicalOrNode) GetOrigType() core.IType
func (*LogicalOrNode) GetRight ¶
func (self *LogicalOrNode) GetRight() core.IExprNode
func (*LogicalOrNode) GetType ¶
func (self *LogicalOrNode) GetType() core.IType
func (*LogicalOrNode) IsAssignable ¶
func (self *LogicalOrNode) IsAssignable() bool
func (*LogicalOrNode) IsCallable ¶
func (self *LogicalOrNode) IsCallable() bool
func (*LogicalOrNode) IsConstant ¶
func (self *LogicalOrNode) IsConstant() bool
func (*LogicalOrNode) IsLoadable ¶
func (self *LogicalOrNode) IsLoadable() bool
func (*LogicalOrNode) IsLvalue ¶
func (self *LogicalOrNode) IsLvalue() bool
func (*LogicalOrNode) IsParameter ¶
func (self *LogicalOrNode) IsParameter() bool
func (*LogicalOrNode) IsPointer ¶
func (self *LogicalOrNode) IsPointer() bool
func (*LogicalOrNode) SetLeft ¶
func (self *LogicalOrNode) SetLeft(expr core.IExprNode)
func (*LogicalOrNode) SetRight ¶
func (self *LogicalOrNode) SetRight(expr core.IExprNode)
func (*LogicalOrNode) SetType ¶
func (self *LogicalOrNode) SetType(t core.IType)
func (LogicalOrNode) String ¶
func (self LogicalOrNode) String() string
type MemberNode ¶
type MemberNode struct { ClassName string Location core.Location Expr core.IExprNode Member string Type core.IType }
MemberNode
func NewMemberNode ¶
func (*MemberNode) AsExprNode ¶
func (self *MemberNode) AsExprNode() core.IExprNode
func (*MemberNode) GetBaseType ¶
func (self *MemberNode) GetBaseType() core.ICompositeType
func (*MemberNode) GetExpr ¶
func (self *MemberNode) GetExpr() core.IExprNode
func (MemberNode) GetLocation ¶
func (self MemberNode) GetLocation() core.Location
func (*MemberNode) GetMember ¶
func (self *MemberNode) GetMember() string
func (*MemberNode) GetOffset ¶
func (self *MemberNode) GetOffset() int
func (*MemberNode) GetOrigType ¶
func (self *MemberNode) GetOrigType() core.IType
func (*MemberNode) GetType ¶
func (self *MemberNode) GetType() core.IType
func (*MemberNode) IsAssignable ¶
func (self *MemberNode) IsAssignable() bool
func (*MemberNode) IsCallable ¶
func (self *MemberNode) IsCallable() bool
func (*MemberNode) IsConstant ¶
func (self *MemberNode) IsConstant() bool
func (*MemberNode) IsLoadable ¶
func (self *MemberNode) IsLoadable() bool
func (*MemberNode) IsLvalue ¶
func (self *MemberNode) IsLvalue() bool
func (*MemberNode) IsParameter ¶
func (self *MemberNode) IsParameter() bool
func (*MemberNode) IsPointer ¶
func (self *MemberNode) IsPointer() bool
func (*MemberNode) SetType ¶
func (self *MemberNode) SetType(t core.IType)
func (MemberNode) String ¶
func (self MemberNode) String() string
type OpAssignNode ¶
type OpAssignNode struct { ClassName string Location core.Location Operator string LHS core.IExprNode RHS core.IExprNode }
OpAssignNode
func NewOpAssignNode ¶
func (*OpAssignNode) AsExprNode ¶
func (self *OpAssignNode) AsExprNode() core.IExprNode
func (*OpAssignNode) GetLHS ¶
func (self *OpAssignNode) GetLHS() core.IExprNode
func (OpAssignNode) GetLocation ¶
func (self OpAssignNode) GetLocation() core.Location
func (*OpAssignNode) GetOperator ¶
func (self *OpAssignNode) GetOperator() string
func (*OpAssignNode) GetOrigType ¶
func (self *OpAssignNode) GetOrigType() core.IType
func (*OpAssignNode) GetRHS ¶
func (self *OpAssignNode) GetRHS() core.IExprNode
func (*OpAssignNode) GetType ¶
func (self *OpAssignNode) GetType() core.IType
func (*OpAssignNode) IsAssignable ¶
func (self *OpAssignNode) IsAssignable() bool
func (*OpAssignNode) IsCallable ¶
func (self *OpAssignNode) IsCallable() bool
func (*OpAssignNode) IsConstant ¶
func (self *OpAssignNode) IsConstant() bool
func (*OpAssignNode) IsLoadable ¶
func (self *OpAssignNode) IsLoadable() bool
func (*OpAssignNode) IsLvalue ¶
func (self *OpAssignNode) IsLvalue() bool
func (*OpAssignNode) IsParameter ¶
func (self *OpAssignNode) IsParameter() bool
func (*OpAssignNode) IsPointer ¶
func (self *OpAssignNode) IsPointer() bool
func (*OpAssignNode) SetLHS ¶
func (self *OpAssignNode) SetLHS(expr core.IExprNode)
func (*OpAssignNode) SetRHS ¶
func (self *OpAssignNode) SetRHS(expr core.IExprNode)
func (*OpAssignNode) SetType ¶
func (self *OpAssignNode) SetType(t core.IType)
func (OpAssignNode) String ¶
func (self OpAssignNode) String() string
type PrefixOpNode ¶
type PrefixOpNode struct { ClassName string Location core.Location Operator string Expr core.IExprNode Amount int Type core.IType }
PrefixOpNode
func NewPrefixOpNode ¶
func (*PrefixOpNode) AsExprNode ¶
func (self *PrefixOpNode) AsExprNode() core.IExprNode
func (*PrefixOpNode) GetAmount ¶
func (self *PrefixOpNode) GetAmount() int
func (*PrefixOpNode) GetExpr ¶
func (self *PrefixOpNode) GetExpr() core.IExprNode
func (PrefixOpNode) GetLocation ¶
func (self PrefixOpNode) GetLocation() core.Location
func (*PrefixOpNode) GetOpType ¶
func (self *PrefixOpNode) GetOpType() core.IType
func (*PrefixOpNode) GetOperator ¶
func (self *PrefixOpNode) GetOperator() string
func (*PrefixOpNode) GetOrigType ¶
func (self *PrefixOpNode) GetOrigType() core.IType
func (*PrefixOpNode) GetType ¶
func (self *PrefixOpNode) GetType() core.IType
func (*PrefixOpNode) IsAssignable ¶
func (self *PrefixOpNode) IsAssignable() bool
func (*PrefixOpNode) IsCallable ¶
func (self *PrefixOpNode) IsCallable() bool
func (*PrefixOpNode) IsConstant ¶
func (self *PrefixOpNode) IsConstant() bool
func (*PrefixOpNode) IsLoadable ¶
func (self *PrefixOpNode) IsLoadable() bool
func (*PrefixOpNode) IsLvalue ¶
func (self *PrefixOpNode) IsLvalue() bool
func (*PrefixOpNode) IsParameter ¶
func (self *PrefixOpNode) IsParameter() bool
func (*PrefixOpNode) IsPointer ¶
func (self *PrefixOpNode) IsPointer() bool
func (*PrefixOpNode) SetAmount ¶
func (self *PrefixOpNode) SetAmount(i int)
func (*PrefixOpNode) SetExpr ¶
func (self *PrefixOpNode) SetExpr(expr core.IExprNode)
func (*PrefixOpNode) SetOpType ¶
func (self *PrefixOpNode) SetOpType(t core.IType)
func (*PrefixOpNode) SetType ¶
func (self *PrefixOpNode) SetType(t core.IType)
func (PrefixOpNode) String ¶
func (self PrefixOpNode) String() string
type PtrMemberNode ¶
type PtrMemberNode struct { ClassName string Location core.Location Expr core.IExprNode Member string Type core.IType }
PtrMemberNode
func NewPtrMemberNode ¶
func (*PtrMemberNode) AsExprNode ¶
func (self *PtrMemberNode) AsExprNode() core.IExprNode
func (*PtrMemberNode) GetDereferedCompositeType ¶
func (self *PtrMemberNode) GetDereferedCompositeType() core.ICompositeType
func (*PtrMemberNode) GetDereferedType ¶
func (self *PtrMemberNode) GetDereferedType() core.IType
func (*PtrMemberNode) GetExpr ¶
func (self *PtrMemberNode) GetExpr() core.IExprNode
func (PtrMemberNode) GetLocation ¶
func (self PtrMemberNode) GetLocation() core.Location
func (*PtrMemberNode) GetMember ¶
func (self *PtrMemberNode) GetMember() string
func (*PtrMemberNode) GetOffset ¶
func (self *PtrMemberNode) GetOffset() int
func (*PtrMemberNode) GetOrigType ¶
func (self *PtrMemberNode) GetOrigType() core.IType
func (*PtrMemberNode) GetType ¶
func (self *PtrMemberNode) GetType() core.IType
func (*PtrMemberNode) IsAssignable ¶
func (self *PtrMemberNode) IsAssignable() bool
func (*PtrMemberNode) IsCallable ¶
func (self *PtrMemberNode) IsCallable() bool
func (*PtrMemberNode) IsConstant ¶
func (self *PtrMemberNode) IsConstant() bool
func (*PtrMemberNode) IsLoadable ¶
func (self *PtrMemberNode) IsLoadable() bool
func (*PtrMemberNode) IsLvalue ¶
func (self *PtrMemberNode) IsLvalue() bool
func (*PtrMemberNode) IsParameter ¶
func (self *PtrMemberNode) IsParameter() bool
func (*PtrMemberNode) IsPointer ¶
func (self *PtrMemberNode) IsPointer() bool
func (*PtrMemberNode) SetType ¶
func (self *PtrMemberNode) SetType(t core.IType)
func (PtrMemberNode) String ¶
func (self PtrMemberNode) String() string
type ReturnNode ¶
ReturnNode
func NewReturnNode ¶
func NewReturnNode(loc core.Location, expr core.IExprNode) *ReturnNode
func (*ReturnNode) AsStmtNode ¶
func (self *ReturnNode) AsStmtNode() core.IStmtNode
func (*ReturnNode) GetExpr ¶
func (self *ReturnNode) GetExpr() core.IExprNode
func (ReturnNode) GetLocation ¶
func (self ReturnNode) GetLocation() core.Location
func (ReturnNode) GetScope ¶
func (self ReturnNode) GetScope() core.IScope
func (ReturnNode) HasExpr ¶
func (self ReturnNode) HasExpr() bool
func (*ReturnNode) SetExpr ¶
func (self *ReturnNode) SetExpr(expr core.IExprNode)
func (ReturnNode) String ¶
func (self ReturnNode) String() string
type SizeofExprNode ¶
type SizeofExprNode struct { ClassName string Location core.Location Expr core.IExprNode TypeNode core.ITypeNode Type core.IType }
SizeofExprNode
func NewSizeofExprNode ¶
func (*SizeofExprNode) AsExprNode ¶
func (self *SizeofExprNode) AsExprNode() core.IExprNode
func (*SizeofExprNode) GetExpr ¶
func (self *SizeofExprNode) GetExpr() core.IExprNode
func (SizeofExprNode) GetLocation ¶
func (self SizeofExprNode) GetLocation() core.Location
func (*SizeofExprNode) GetOrigType ¶
func (self *SizeofExprNode) GetOrigType() core.IType
func (*SizeofExprNode) GetType ¶
func (self *SizeofExprNode) GetType() core.IType
func (*SizeofExprNode) GetTypeNode ¶
func (self *SizeofExprNode) GetTypeNode() core.ITypeNode
func (*SizeofExprNode) GetTypeRef ¶
func (self *SizeofExprNode) GetTypeRef() core.ITypeRef
func (*SizeofExprNode) IsAssignable ¶
func (self *SizeofExprNode) IsAssignable() bool
func (*SizeofExprNode) IsCallable ¶
func (self *SizeofExprNode) IsCallable() bool
func (*SizeofExprNode) IsConstant ¶
func (self *SizeofExprNode) IsConstant() bool
func (*SizeofExprNode) IsLoadable ¶
func (self *SizeofExprNode) IsLoadable() bool
func (*SizeofExprNode) IsLvalue ¶
func (self *SizeofExprNode) IsLvalue() bool
func (*SizeofExprNode) IsParameter ¶
func (self *SizeofExprNode) IsParameter() bool
func (*SizeofExprNode) IsPointer ¶
func (self *SizeofExprNode) IsPointer() bool
func (*SizeofExprNode) SetType ¶
func (self *SizeofExprNode) SetType(t core.IType)
func (SizeofExprNode) String ¶
func (self SizeofExprNode) String() string
type SizeofTypeNode ¶
type SizeofTypeNode struct { ClassName string Location core.Location TypeNode core.ITypeNode OperandTypeNode core.ITypeNode Type core.IType }
SizeofTypeNode
func NewSizeofTypeNode ¶
func (*SizeofTypeNode) AsExprNode ¶
func (self *SizeofTypeNode) AsExprNode() core.IExprNode
func (SizeofTypeNode) GetLocation ¶
func (self SizeofTypeNode) GetLocation() core.Location
func (*SizeofTypeNode) GetOperandType ¶
func (self *SizeofTypeNode) GetOperandType() core.IType
func (*SizeofTypeNode) GetOperandTypeNode ¶
func (self *SizeofTypeNode) GetOperandTypeNode() core.ITypeNode
func (*SizeofTypeNode) GetOperandTypeRef ¶
func (self *SizeofTypeNode) GetOperandTypeRef() core.ITypeRef
func (*SizeofTypeNode) GetOrigType ¶
func (self *SizeofTypeNode) GetOrigType() core.IType
func (*SizeofTypeNode) GetType ¶
func (self *SizeofTypeNode) GetType() core.IType
func (*SizeofTypeNode) GetTypeNode ¶
func (self *SizeofTypeNode) GetTypeNode() core.ITypeNode
func (*SizeofTypeNode) GetTypeRef ¶
func (self *SizeofTypeNode) GetTypeRef() core.ITypeRef
func (*SizeofTypeNode) IsAssignable ¶
func (self *SizeofTypeNode) IsAssignable() bool
func (*SizeofTypeNode) IsCallable ¶
func (self *SizeofTypeNode) IsCallable() bool
func (*SizeofTypeNode) IsConstant ¶
func (self *SizeofTypeNode) IsConstant() bool
func (*SizeofTypeNode) IsLoadable ¶
func (self *SizeofTypeNode) IsLoadable() bool
func (*SizeofTypeNode) IsLvalue ¶
func (self *SizeofTypeNode) IsLvalue() bool
func (*SizeofTypeNode) IsParameter ¶
func (self *SizeofTypeNode) IsParameter() bool
func (*SizeofTypeNode) IsPointer ¶
func (self *SizeofTypeNode) IsPointer() bool
func (*SizeofTypeNode) SetType ¶
func (self *SizeofTypeNode) SetType(t core.IType)
func (SizeofTypeNode) String ¶
func (self SizeofTypeNode) String() string
type StringLiteralNode ¶
type StringLiteralNode struct { ClassName string Location core.Location TypeNode core.ITypeNode Value string // contains filtered or unexported fields }
StringLiteralNode
func NewStringLiteralNode ¶
func NewStringLiteralNode(loc core.Location, literal string) *StringLiteralNode
func (*StringLiteralNode) AsExprNode ¶
func (self *StringLiteralNode) AsExprNode() core.IExprNode
func (*StringLiteralNode) GetEntry ¶
func (self *StringLiteralNode) GetEntry() *entity.ConstantEntry
func (StringLiteralNode) GetLocation ¶
func (self StringLiteralNode) GetLocation() core.Location
func (*StringLiteralNode) GetOrigType ¶
func (self *StringLiteralNode) GetOrigType() core.IType
func (*StringLiteralNode) GetType ¶
func (self *StringLiteralNode) GetType() core.IType
func (*StringLiteralNode) GetTypeNode ¶
func (self *StringLiteralNode) GetTypeNode() core.ITypeNode
func (*StringLiteralNode) GetTypeRef ¶
func (self *StringLiteralNode) GetTypeRef() core.ITypeRef
func (*StringLiteralNode) GetValue ¶
func (self *StringLiteralNode) GetValue() string
func (*StringLiteralNode) IsAssignable ¶
func (self *StringLiteralNode) IsAssignable() bool
func (*StringLiteralNode) IsCallable ¶
func (self *StringLiteralNode) IsCallable() bool
func (*StringLiteralNode) IsConstant ¶
func (self *StringLiteralNode) IsConstant() bool
func (*StringLiteralNode) IsLoadable ¶
func (self *StringLiteralNode) IsLoadable() bool
func (*StringLiteralNode) IsLvalue ¶
func (self *StringLiteralNode) IsLvalue() bool
func (*StringLiteralNode) IsParameter ¶
func (self *StringLiteralNode) IsParameter() bool
func (*StringLiteralNode) IsPointer ¶
func (self *StringLiteralNode) IsPointer() bool
func (*StringLiteralNode) SetEntry ¶
func (self *StringLiteralNode) SetEntry(e *entity.ConstantEntry)
func (*StringLiteralNode) SetType ¶
func (self *StringLiteralNode) SetType(t core.IType)
func (StringLiteralNode) String ¶
func (self StringLiteralNode) String() string
type StructNode ¶
type StructNode struct { ClassName string Location core.Location TypeNode core.ITypeNode Name string Members []core.ISlot }
StructNode
func AsStructNode ¶
func AsStructNode(x core.INode) *StructNode
func NewStructNode ¶
func NewStructNodes ¶
func NewStructNodes(xs ...*StructNode) []*StructNode
func (*StructNode) DefiningType ¶
func (self *StructNode) DefiningType() core.IType
func (StructNode) GetLocation ¶
func (self StructNode) GetLocation() core.Location
func (*StructNode) GetMembers ¶
func (self *StructNode) GetMembers() []core.ISlot
func (*StructNode) GetName ¶
func (self *StructNode) GetName() string
func (*StructNode) GetTypeNode ¶
func (self *StructNode) GetTypeNode() core.ITypeNode
func (*StructNode) GetTypeRef ¶
func (self *StructNode) GetTypeRef() core.ITypeRef
func (*StructNode) IsCompositeType ¶
func (self *StructNode) IsCompositeType() bool
func (*StructNode) IsTypeDefinition ¶
func (self *StructNode) IsTypeDefinition() bool
func (StructNode) String ¶
func (self StructNode) String() string
type SuffixOpNode ¶
type SuffixOpNode struct { ClassName string Location core.Location Operator string Expr core.IExprNode Amount int Type core.IType }
SuffixOpNode
func NewSuffixOpNode ¶
func (*SuffixOpNode) AsExprNode ¶
func (self *SuffixOpNode) AsExprNode() core.IExprNode
func (*SuffixOpNode) GetAmount ¶
func (self *SuffixOpNode) GetAmount() int
func (*SuffixOpNode) GetExpr ¶
func (self *SuffixOpNode) GetExpr() core.IExprNode
func (SuffixOpNode) GetLocation ¶
func (self SuffixOpNode) GetLocation() core.Location
func (*SuffixOpNode) GetOpType ¶
func (self *SuffixOpNode) GetOpType() core.IType
func (*SuffixOpNode) GetOperator ¶
func (self *SuffixOpNode) GetOperator() string
func (*SuffixOpNode) GetOrigType ¶
func (self *SuffixOpNode) GetOrigType() core.IType
func (*SuffixOpNode) GetType ¶
func (self *SuffixOpNode) GetType() core.IType
func (*SuffixOpNode) IsAssignable ¶
func (self *SuffixOpNode) IsAssignable() bool
func (*SuffixOpNode) IsCallable ¶
func (self *SuffixOpNode) IsCallable() bool
func (*SuffixOpNode) IsConstant ¶
func (self *SuffixOpNode) IsConstant() bool
func (*SuffixOpNode) IsLoadable ¶
func (self *SuffixOpNode) IsLoadable() bool
func (*SuffixOpNode) IsLvalue ¶
func (self *SuffixOpNode) IsLvalue() bool
func (*SuffixOpNode) IsParameter ¶
func (self *SuffixOpNode) IsParameter() bool
func (*SuffixOpNode) IsPointer ¶
func (self *SuffixOpNode) IsPointer() bool
func (*SuffixOpNode) SetAmount ¶
func (self *SuffixOpNode) SetAmount(i int)
func (*SuffixOpNode) SetExpr ¶
func (self *SuffixOpNode) SetExpr(expr core.IExprNode)
func (*SuffixOpNode) SetOpType ¶
func (self *SuffixOpNode) SetOpType(t core.IType)
func (*SuffixOpNode) SetType ¶
func (self *SuffixOpNode) SetType(t core.IType)
func (SuffixOpNode) String ¶
func (self SuffixOpNode) String() string
type SwitchNode ¶
type SwitchNode struct { ClassName string Location core.Location Cond core.IExprNode Cases []core.IStmtNode }
SwitchNode
func NewSwitchNode ¶
func (*SwitchNode) AsStmtNode ¶
func (self *SwitchNode) AsStmtNode() core.IStmtNode
func (*SwitchNode) GetCases ¶
func (self *SwitchNode) GetCases() []core.IStmtNode
func (*SwitchNode) GetCond ¶
func (self *SwitchNode) GetCond() core.IExprNode
func (SwitchNode) GetLocation ¶
func (self SwitchNode) GetLocation() core.Location
func (SwitchNode) GetScope ¶
func (self SwitchNode) GetScope() core.IScope
func (SwitchNode) String ¶
func (self SwitchNode) String() string
type TypeNode ¶
type TypeNode struct { ClassName string Location core.Location TypeRef core.ITypeRef Type core.IType }
TypeNode
func (*TypeNode) AsTypeNode ¶
func (TypeNode) GetLocation ¶
func (*TypeNode) GetTypeRef ¶
func (*TypeNode) IsResolved ¶
type TypedefNode ¶
type TypedefNode struct { ClassName string Location core.Location TypeNode core.ITypeNode RealTypeNode core.ITypeNode Name string }
TypedefNode
func AsTypedefNode ¶
func AsTypedefNode(x core.INode) *TypedefNode
func NewTypedefNode ¶
func NewTypedefNodes ¶
func NewTypedefNodes(xs ...*TypedefNode) []*TypedefNode
func (*TypedefNode) DefiningType ¶
func (self *TypedefNode) DefiningType() core.IType
func (TypedefNode) GetLocation ¶
func (self TypedefNode) GetLocation() core.Location
func (*TypedefNode) GetName ¶
func (self *TypedefNode) GetName() string
func (*TypedefNode) GetRealTypeNode ¶
func (self *TypedefNode) GetRealTypeNode() core.ITypeNode
func (*TypedefNode) GetRealTypeRef ¶
func (self *TypedefNode) GetRealTypeRef() core.ITypeRef
func (*TypedefNode) GetTypeNode ¶
func (self *TypedefNode) GetTypeNode() core.ITypeNode
func (*TypedefNode) GetTypeRef ¶
func (self *TypedefNode) GetTypeRef() core.ITypeRef
func (*TypedefNode) IsTypeDefinition ¶
func (self *TypedefNode) IsTypeDefinition() bool
func (TypedefNode) String ¶
func (self TypedefNode) String() string
type UnaryOpNode ¶
type UnaryOpNode struct { ClassName string Location core.Location Operator string Expr core.IExprNode Type core.IType }
UnaryOpNode
func NewUnaryOpNode ¶
func (*UnaryOpNode) AsExprNode ¶
func (self *UnaryOpNode) AsExprNode() core.IExprNode
func (*UnaryOpNode) GetExpr ¶
func (self *UnaryOpNode) GetExpr() core.IExprNode
func (UnaryOpNode) GetLocation ¶
func (self UnaryOpNode) GetLocation() core.Location
func (*UnaryOpNode) GetOpType ¶
func (self *UnaryOpNode) GetOpType() core.IType
func (*UnaryOpNode) GetOperator ¶
func (self *UnaryOpNode) GetOperator() string
func (*UnaryOpNode) GetOrigType ¶
func (self *UnaryOpNode) GetOrigType() core.IType
func (*UnaryOpNode) GetType ¶
func (self *UnaryOpNode) GetType() core.IType
func (*UnaryOpNode) IsAssignable ¶
func (self *UnaryOpNode) IsAssignable() bool
func (*UnaryOpNode) IsCallable ¶
func (self *UnaryOpNode) IsCallable() bool
func (*UnaryOpNode) IsConstant ¶
func (self *UnaryOpNode) IsConstant() bool
func (*UnaryOpNode) IsLoadable ¶
func (self *UnaryOpNode) IsLoadable() bool
func (*UnaryOpNode) IsLvalue ¶
func (self *UnaryOpNode) IsLvalue() bool
func (*UnaryOpNode) IsParameter ¶
func (self *UnaryOpNode) IsParameter() bool
func (*UnaryOpNode) IsPointer ¶
func (self *UnaryOpNode) IsPointer() bool
func (*UnaryOpNode) SetOpType ¶
func (self *UnaryOpNode) SetOpType(t core.IType)
func (*UnaryOpNode) SetType ¶
func (self *UnaryOpNode) SetType(t core.IType)
func (UnaryOpNode) String ¶
func (self UnaryOpNode) String() string
type UnionNode ¶
type UnionNode struct { ClassName string Location core.Location TypeNode core.ITypeNode Name string Members []core.ISlot }
UnionNode
func AsUnionNode ¶
func NewUnionNode ¶
func NewUnionNodes ¶
func (*UnionNode) DefiningType ¶
func (UnionNode) GetLocation ¶
func (*UnionNode) GetMembers ¶
func (*UnionNode) GetTypeNode ¶
func (*UnionNode) GetTypeRef ¶
func (*UnionNode) IsCompositeType ¶
func (*UnionNode) IsTypeDefinition ¶
type VariableNode ¶
type VariableNode struct { ClassName string Location core.Location Name string Entity core.IEntity }
VariableNode
func NewVariableNode ¶
func NewVariableNode(loc core.Location, name string) *VariableNode
func (*VariableNode) AsExprNode ¶
func (self *VariableNode) AsExprNode() core.IExprNode
func (*VariableNode) GetEntity ¶
func (self *VariableNode) GetEntity() core.IEntity
func (VariableNode) GetLocation ¶
func (self VariableNode) GetLocation() core.Location
func (*VariableNode) GetName ¶
func (self *VariableNode) GetName() string
func (*VariableNode) GetOrigType ¶
func (self *VariableNode) GetOrigType() core.IType
func (*VariableNode) GetType ¶
func (self *VariableNode) GetType() core.IType
func (*VariableNode) IsAssignable ¶
func (self *VariableNode) IsAssignable() bool
func (*VariableNode) IsCallable ¶
func (self *VariableNode) IsCallable() bool
func (*VariableNode) IsConstant ¶
func (self *VariableNode) IsConstant() bool
func (*VariableNode) IsLoadable ¶
func (self *VariableNode) IsLoadable() bool
func (*VariableNode) IsLvalue ¶
func (self *VariableNode) IsLvalue() bool
func (*VariableNode) IsParameter ¶
func (self *VariableNode) IsParameter() bool
func (*VariableNode) IsPointer ¶
func (self *VariableNode) IsPointer() bool
func (*VariableNode) IsResolved ¶
func (self *VariableNode) IsResolved() bool
func (*VariableNode) SetEntity ¶
func (self *VariableNode) SetEntity(ent core.IEntity)
func (*VariableNode) SetType ¶
func (self *VariableNode) SetType(t core.IType)
func (VariableNode) String ¶
func (self VariableNode) String() string
type WhileNode ¶
type WhileNode struct { ClassName string Location core.Location Cond core.IExprNode Body core.IStmtNode }
WhileNode
func NewWhileNode ¶
func (*WhileNode) AsStmtNode ¶
func (WhileNode) GetLocation ¶
Source Files
¶
- address.go
- aref.go
- assign.go
- ast.go
- binary_op.go
- block.go
- break.go
- case.go
- cast.go
- cond_expr.go
- continue.go
- declaration.go
- dereference.go
- do_while.go
- expr.go
- expr_stmt.go
- for.go
- funcall.go
- goto.go
- if.go
- integer_literal.go
- label.go
- logical_and.go
- logical_or.go
- member.go
- node.go
- op_assign.go
- prefix_op.go
- ptr_member.go
- return.go
- sizeof_expr.go
- sizeof_type.go
- slot.go
- stmt.go
- string_literal.go
- struct.go
- suffix_op.go
- switch.go
- type.go
- typedef.go
- unary_op.go
- union.go
- variable.go
- visitor.go
- while.go
Click to show internal directories.
Click to hide internal directories.