Exemple #1
0
        public override bool Equals(System.Object object_Renamed)
        {
            bool isEqual = false;

            if (base.Equals(object_Renamed) && (object_Renamed is SymbolClass))
            {
                SymbolClass symbolClasses = (SymbolClass)object_Renamed;

                if (equals(symbolClasses.class2tag, this.class2tag))
                {
                    isEqual = true;
                }
            }

            return(isEqual);
        }
		public virtual void  symbolClass(SymbolClass tag)
		{
		}
		private Tag decodeSymbolClass()
		{
			SymbolClass t = new SymbolClass();
			int count = r.readUI16();
			
			t.class2tag = new System.Collections.Hashtable(count);
			
			for (int i = 0; i < count; i++)
			{
				int idref = r.readUI16();
				String name = r.readString();
				if (idref == 0)
				{
					t.topLevelClass = name;
					continue;
				}
				DefineTag ref_Renamed = dict.getTag(idref);
				t.class2tag[name] = ref_Renamed;
				if (ref_Renamed.name != null)
				{
					if (!ref_Renamed.name.Equals(name))
					{
						handler.error("SymbolClass: symbol " + idref + " already exported as " + ref_Renamed.name);
					}
					//else
					//{
					// FIXME: is this right?  seem to be getting redundant message in swfdumps that work right in the player
					// FIXME: We should eventually enforce that export names not be used in zaphod movies,
					// FIXME: but in the short term, all this message means is that the symbol was both exported
					// FIXME: via ExportAssets and also associated with a class via SymbolClass.  They have
					// FIXME: different semantic meanings, so this error is a bit off-base.  --rg 
					//	handler.error("Redundant SymbolClass of " + ref.name + ".  Found " + ref.getClass().getName() + " of same name in dictionary.");
					//}
				}
				else
				{
					DefineTag other = dict.getTag(name);
					if (other != null)
					{
						int id = dict.getId(other);
						handler.error("Symbol " + name + " already refers to ID " + id);
					}
					ref_Renamed.name = name;
					dict.addName(ref_Renamed, name);
				}
			}
			return t;
		}