CSharpSourceEmitter.Utils.GetHiddenField C# (CSharp) Method

GetHiddenField() public static method

Returns the field from the closest base class that is hidden by the given field according to C# rules.
public static GetHiddenField ( IFieldDefinition derivedClassField ) : IFieldDefinition
derivedClassField IFieldDefinition
return IFieldDefinition
    public static IFieldDefinition GetHiddenField(IFieldDefinition derivedClassField) {
      var typeDef = derivedClassField.ContainingTypeDefinition;
      foreach (ITypeReference baseClassReference in typeDef.BaseClasses) {
        IFieldDefinition hiddenField = GetHiddenField(derivedClassField, baseClassReference.ResolvedType);
        if (!(hiddenField is Dummy)) return hiddenField;
      }
      return Dummy.FieldDefinition;
    }
    private static IFieldDefinition GetHiddenField(IFieldDefinition derivedClassField, ITypeDefinition baseClass) {

Same methods

Utils::GetHiddenField ( IFieldDefinition derivedClassField, ITypeDefinition baseClass ) : IFieldDefinition

Usage Example

Example #1
0
        public virtual void PrintFieldDefinitionModifiers(IFieldDefinition fieldDefinition)
        {
            if (!(Utils.GetHiddenField(fieldDefinition) is Dummy))
            {
                PrintKeywordNew();
            }

            if (fieldDefinition.Type.TypeCode == PrimitiveTypeCode.Pointer)
            {
                PrintKeywordUnsafe();
            }

            if (fieldDefinition.IsCompileTimeConstant)
            {
                sourceEmitterOutput.Write("const ");
                return;
            }

            if (fieldDefinition.IsStatic)
            {
                PrintKeywordStatic();
            }

            if (fieldDefinition.IsReadOnly)
            {
                PrintKeywordReadOnly();
            }

            if (MemberHelper.IsVolatile(fieldDefinition))
            {
                sourceEmitterOutput.Write("volatile ");
            }
        }