Recurity.Swf.AVM2.AVM2Argument.AVM2Argument C# (CSharp) Method

AVM2Argument() public method

public AVM2Argument ( AbcFile abc, UInt32 method, UInt32 argument ) : System
abc Recurity.Swf.AVM2.ABC.AbcFile
method System.UInt32
argument System.UInt32
return System
        public AVM2Argument( AbcFile abc, UInt32 method, UInt32 argument )
        {
            _ArgumentType = abc.ConstantPool.Multinames[ ( int )abc.Methods[ ( int )method ].ParamType[ ( int )argument ] ].ToString( abc );

            if ( abc.Methods[ ( int )method ].FlagHasParamNames )
            {
                _ArgumentName = abc.ConstantPool.Strings[ ( int )abc.Methods[ ( int )method ].ParamNames[ ( int )argument ] ];
            }
            else
            {
                _ArgumentName = "(no param name)";
            }

            if ( ( abc.Methods[ ( int )method ].FlagHasOptional ) && ( argument < abc.Methods[ ( int )method ].Option.Count ) )
            {
                _IsOptional = true;
                _OptionalType = abc.Methods[ ( int )method ].Option[ ( int )argument ].OptionType;
                _OptionalTypeName = abc.Methods[ ( int )method ].Option[ ( int )argument ].OptionTypeName;
                _OptionalValue = abc.Methods[ ( int )method ].Option[ ( int )argument ].GetValue( abc );
            }
            else
            {
                _IsOptional = false;
                _OptionalType = OptionType.TotallyInvalid;
                _OptionalValue = null;
            }
        }