當前位置: 首頁>>代碼示例>>Golang>>正文


Golang types.T類代碼示例

本文整理匯總了Golang中e8vm/io/e8vm/g8/types.T的典型用法代碼示例。如果您正苦於以下問題:Golang T類的具體用法?Golang T怎麽用?Golang T使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了T類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: arrayElementSize

func arrayElementSize(t types.T) int32 {
	ret := t.Size()
	if t.RegSizeAlign() {
		return types.RegSizeAlignUp(ret)
	}
	return ret
}
開發者ID:NickDaison,項目名稱:e8vm,代碼行數:7,代碼來源:index.go

示例2: buildCast

func buildCast(b *builder, from *ref, t types.T) *ref {
	srcType := from.Type()
	ret := b.newTemp(t)

	if types.IsNil(srcType) {
		size := t.Size()
		if size == arch8.RegSize {
			return newRef(t, ir.Num(0))
		}
		if _, ok := t.(*types.Slice); !ok {
			panic("bug")
		}
		ret := b.newTemp(t)
		b.b.Zero(ret.IR())
		return ret
	}

	if c, ok := srcType.(*types.Const); ok {
		if v, ok := types.NumConst(srcType); ok && types.IsInteger(t) {
			return newRef(t, constNumIr(v, t))
		}
		// TODO: we do not support typed const right?
		// so why need this line?
		srcType = c.Type // using the underlying type
	}

	if types.IsInteger(t) && types.IsInteger(srcType) {
		b.b.Arith(ret.IR(), nil, "cast", from.IR())
		return ret
	}
	if regSizeCastable(t, srcType) {
		b.b.Arith(ret.IR(), nil, "", from.IR())
		return ret
	}
	panic("bug")
}
開發者ID:NickDaison,項目名稱:e8vm,代碼行數:36,代碼來源:cast.go

示例3: newGlobalVar

func (b *builder) newGlobalVar(t types.T, name string) ir.Ref {
	name = b.anonyName(name)
	return b.p.NewGlobalVar(t.Size(), name, types.IsByte(t), t.RegSizeAlign())
}
開發者ID:NickDaison,項目名稱:e8vm,代碼行數:4,代碼來源:builder.go

示例4: newLocal

func (b *builder) newLocal(t types.T, name string) ir.Ref {
	return b.f.NewLocal(t.Size(), name,
		types.IsByte(t), t.RegSizeAlign(),
	)
}
開發者ID:NickDaison,項目名稱:e8vm,代碼行數:5,代碼來源:builder.go

示例5: newTempIR

func (b *builder) newTempIR(t types.T) ir.Ref {
	return b.f.NewTemp(t.Size(), types.IsByte(t), t.RegSizeAlign())
}
開發者ID:NickDaison,項目名稱:e8vm,代碼行數:3,代碼來源:builder.go


注:本文中的e8vm/io/e8vm/g8/types.T類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。