Beispiel #1
0
        private bool TryGetTypeFromSimpleTypeSignature(ref NativeParser parser, NativeFormatModuleInfo moduleHandle, out RuntimeTypeHandle typeHandle)
        {
            uint data;
            TypeSignatureKind kind = parser.GetTypeSignatureKind(out data);

            if (kind == TypeSignatureKind.Lookback)
            {
                var lookbackParser = parser.GetLookbackParser(data);
                return(TryGetTypeFromSimpleTypeSignature(ref lookbackParser, moduleHandle, out typeHandle));
            }
            else if (kind == TypeSignatureKind.External)
            {
                typeHandle = GetExternalTypeHandle(moduleHandle, data);
                return(true);
            }
            else if (kind == TypeSignatureKind.BuiltIn)
            {
                typeHandle = ((WellKnownType)data).GetRuntimeTypeHandle();
                return(true);
            }

            // Not a simple type signature... requires more work to skip
            typeHandle = default(RuntimeTypeHandle);
            return(false);
        }
        private bool TryGetTypeFromSimpleTypeSignature(ref NativeParser parser, out RuntimeTypeHandle typeHandle)
        {
            uint data;
            TypeSignatureKind kind = parser.GetTypeSignatureKind(out data);

            if (kind == TypeSignatureKind.Lookback)
            {
                var lookbackParser = parser.GetLookbackParser(data);
                return(TryGetTypeFromSimpleTypeSignature(ref lookbackParser, out typeHandle));
            }
            else if (kind == TypeSignatureKind.External)
            {
                typeHandle = GetExternalTypeHandle(ref parser, data);
                return(true);
            }

            // Not a simple type signature... requires more work to skip
            typeHandle = default(RuntimeTypeHandle);
            return(false);
        }
 : super(TypeSignatureKind.ArrayType, "[" + elementType.Name) {
 ClassTypeSignature(TypeSignatureKind typeSignatureKind, String name)
     : super(typeSignatureKind, name) {
 WildcardTypeSignature(TypeSignatureKind typeSignatureKind, TypeSignature bound)
     : super(typeSignatureKind, "*") {
 protected TypeSignature(TypeSignatureKind typeSignatureKind, String name) {
     this.TypeSignatureKind = typeSignatureKind;
     this.Name = name;
 }
     : super(TypeSignatureKind.FormalTypeParameter, name) {
     formalTypeParameterBounds = new ArrayList<TypeSignature>();
 }
     : super(TypeSignatureKind.TypeVariable, name) {
 }
 PrimitiveTypeSignature(TypeSignatureKind typeSignatureKind, String name)
     : super(typeSignatureKind, name) {
 ClassTypeSignature(TypeSignatureKind typeSignatureKind, String name)
     : super(typeSignatureKind, name)
 protected TypeSignature(TypeSignatureKind typeSignatureKind, String name)
 {
     this.TypeSignatureKind = typeSignatureKind;
     this.Name = name;
 }
 WildcardTypeSignature(TypeSignatureKind typeSignatureKind, TypeSignature bound)
     : super(typeSignatureKind, "*")
 PrimitiveTypeSignature(TypeSignatureKind typeSignatureKind, String name)
     : super(typeSignatureKind, name)