Exemplo n.º 1
0
        public string CreateNamedValue(EnumerationFieldSymbol field) {
            Debug.Assert(_namedValues);
            Debug.Assert(field.Parent == this);

            if (field.IsTransformed) {
                return field.GeneratedName;
            }

            string name = field.Name;
            if (field.IsCasePreserved == false) {
                name = Utility.CreateCamelCaseName(name);
            }
            return name;
        }
Exemplo n.º 2
0
        private EnumerationFieldSymbol BuildEnumField(EnumerationFieldNode fieldNode, TypeSymbol typeSymbol) {
            Debug.Assert(typeSymbol is EnumerationSymbol);
            EnumerationSymbol enumSymbol = (EnumerationSymbol)typeSymbol;

            TypeSymbol fieldTypeSymbol;
            if (enumSymbol.UseNamedValues) {
                fieldTypeSymbol = _symbols.ResolveIntrinsicType(IntrinsicType.String);
            }
            else {
                fieldTypeSymbol = _symbols.ResolveIntrinsicType(IntrinsicType.Integer);
            }

            EnumerationFieldSymbol fieldSymbol = new EnumerationFieldSymbol(fieldNode.Name, typeSymbol, fieldNode.Value, fieldTypeSymbol);
            BuildMemberDetails(fieldSymbol, typeSymbol, fieldNode, fieldNode.Attributes);

            return fieldSymbol;
        }
Exemplo n.º 3
0
        public string CreateNamedValue(EnumerationFieldSymbol field)
        {
            Debug.Assert(_namedValues);
            Debug.Assert(field.Parent == this);

            if (field.IsTransformed)
            {
                return(field.GeneratedName);
            }

            string name = field.Name;

            if (field.IsCasePreserved == false)
            {
                name = Utility.CreateCamelCaseName(name);
            }
            return(name);
        }
 public EnumerationFieldExpression(Expression objectReference, EnumerationFieldSymbol field)
     : base(ExpressionType.EnumerationField, objectReference, field) {
 }
Exemplo n.º 5
0
        private void ImportEnumFields(TypeSymbol enumTypeSymbol)
        {
            TypeDefinition type = (TypeDefinition)enumTypeSymbol.MetadataReference;

            foreach (FieldDefinition field in type.Fields) {
                if (field.IsSpecialName) {
                    continue;
                }

                Debug.Assert(enumTypeSymbol is EnumerationSymbol);
                EnumerationSymbol enumSymbol = (EnumerationSymbol)enumTypeSymbol;

                TypeSymbol fieldType;
                if (enumSymbol.UseNamedValues) {
                    fieldType = _symbols.ResolveIntrinsicType(IntrinsicType.String);
                }
                else {
                    fieldType = _symbols.ResolveIntrinsicType(IntrinsicType.Integer);
                }

                string fieldName = field.Name;
                int fieldValue = (int)field.Constant;

                EnumerationFieldSymbol fieldSymbol =
                    new EnumerationFieldSymbol(fieldName, enumTypeSymbol, fieldValue, fieldType);
                ImportMemberDetails(fieldSymbol, null, field);

                enumTypeSymbol.AddMember(fieldSymbol);
            }
        }
Exemplo n.º 6
0
 public EnumerationFieldExpression(Expression objectReference, EnumerationFieldSymbol field)
     : base(ExpressionType.EnumerationField, objectReference, field)
 {
 }
Exemplo n.º 7
0
 private void DumpEnumerationField(EnumerationFieldSymbol enumFieldSymbol)
 {
 }
Exemplo n.º 8
0
 private void DumpEnumerationField(EnumerationFieldSymbol enumFieldSymbol)
 {
 }