示例#1
0
Type::Type(const RuntimeType& rtt)
  : m_bits(bitsFromDataType(rtt.outerType(), rtt.innerType()))
  , m_class(nullptr)
{
  if (rtt.outerType() == KindOfObject && rtt.hasKnownClass()) {
    m_class = rtt.knownClass();
  } else if (rtt.outerType() == KindOfArray && rtt.hasArrayKind()) {
    m_arrayKindValid = true;
    m_arrayKind = rtt.arrayKind();
  }
}
示例#2
0
文件: type.cpp 项目: Jasonudoo/hhvm
Type::Type(const RuntimeType& rtt)
  : m_bits(bitsFromDataType(rtt.outerType(), rtt.innerType()))
  , m_hasConstVal(false)
  , m_class(nullptr)
{
  if (rtt.outerType() == KindOfObject && rtt.hasKnownClass()) {
    m_class = rtt.knownClass();
  } else if (rtt.outerType() == KindOfArray && rtt.hasArrayKind()) {
    m_arrayInfo = makeArrayInfo(rtt.arrayKind(), nullptr);
  }
}
示例#3
0
Type Type::fromRuntimeType(const RuntimeType& rtt) {
  return fromDataType(rtt.outerType(), rtt.innerType(), rtt.knownClass());
}