public void TestStringPool() { var abc = new AbcFile(); for (int i = 0; i < 10; ++i) { var c1 = abc.DefineString("name" + i); var c2 = abc.DefineString("name" + i); Assert.IsTrue(ReferenceEquals(c1, c2)); c1 = abc.ImportConst(c1); c2 = abc.ImportConst(c2); Assert.IsTrue(ReferenceEquals(c1, c2)); } }
public void TestUIntPool() { var abc = new AbcFile(); for (uint i = 0; i < 10; ++i) { var c1 = abc.DefineUInt(i); var c2 = abc.DefineUInt(i); Assert.IsTrue(ReferenceEquals(c1, c2)); c1 = abc.ImportConst(c1); c2 = abc.ImportConst(c2); Assert.IsTrue(ReferenceEquals(c1, c2)); } }
private static void TestBuiltinType(AbcFile abc, AvmTypeCode type) { var name = abc.BuiltinTypes[type]; var mn = abc.ImportConst(name); Assert.IsTrue(ReferenceEquals(name, mn)); }
public void TestQNames() { var abc = new AbcFile(); for (int i = 0; i < 10; ++i) { string name = "name" + i; var c1 = abc.DefineName(QName.Global(name)); string name1 = "name" + i; var c2 = abc.DefineName(QName.Global(name1)); Assert.IsTrue(ReferenceEquals(c1, c2)); c1 = abc.ImportConst(c1); c2 = abc.ImportConst(c2); Assert.IsTrue(ReferenceEquals(c1, c2)); } }
public void TestNamespaces() { var abc = new AbcFile(); Assert.IsTrue(ReferenceEquals(abc.KnownNamespaces.GlobalPackage, abc.DefineNamespace(AbcConstKind.PackageNamespace, ""))); for (int i = 0; i < 10; ++i) { var c1 = abc.DefinePublicNamespace("name" + i); var c2 = abc.DefinePublicNamespace("name" + i); Assert.IsTrue(ReferenceEquals(c1, c2)); c1 = abc.ImportConst(c1); c2 = abc.ImportConst(c2); Assert.IsTrue(ReferenceEquals(c1, c2)); } }
public void ImportString1() { var abc1 = new AbcFile(); var c1 = abc1.DefineString("aaa"); var abc2 = new AbcFile(); var c2 = abc2.ImportConst(c1); Assert.AreEqual(c1.Index, c2.Index, "#1"); Assert.AreEqual(c1.Value, c2.Value, "#2"); }
public void ImportQName1() { var abc1 = new AbcFile(); var c1 = abc1.DefineName(QName.Package("ns", "name")); var abc2 = new AbcFile(); var c2 = abc2.ImportConst(c1); Assert.AreEqual(c1.Index, c2.Index, "#1"); Assert.AreEqual(c1.Namespace.Index, c2.Namespace.Index, "#2"); Assert.AreEqual(c1.Namespace.NameString, c2.Namespace.NameString, "#2"); }
public void ImportOperands(AbcFile abc) { if (HasOperands) { foreach (var op in _operands) { var c = op.Value as IAbcConst; if (c != null) { c = abc.ImportConst(c); op.Value = c; } } } }
private AbcMultiname GetMethodName(IMethod method) { var name = method.CallName(); return(name != null?_abc.ImportConst(name) : null); }