Skip to content

Commit

Permalink
[Compiler] Refactoring (renaming).
Browse files Browse the repository at this point in the history
Modifiers renamed to AttributesAndModifiers.
NemerleAttributes to NemerleModifiers.
Added properties:
  AttributesAndModifiers.Modifiers
  AttributesAndModifiers.CustomAttributes
  • Loading branch information
VladD2 committed Sep 13, 2011
1 parent eb7ae35 commit 430eb4a
Show file tree
Hide file tree
Showing 99 changed files with 1,272 additions and 1,265 deletions.
2 changes: 1 addition & 1 deletion VsIntegration/Nemerle.Compiler.Utils/AstUtils/Ast.n
Expand Up @@ -60,7 +60,7 @@ namespace Nemerle.Compiler.Utils
CheckFail(res1)
}

public EqualsStruct(first : Modifiers, second : Modifiers) : bool
public EqualsStruct(first : AttributesAndModifiers, second : AttributesAndModifiers) : bool
{
if (first == null) second == null
else
Expand Down
40 changes: 20 additions & 20 deletions VsIntegration/Nemerle.Compiler.Utils/CodeDom/CodeDomHelper.n
Expand Up @@ -14,33 +14,33 @@ namespace Nemerle.Compiler.Utils
{
public module CodeDomHelper
{
public IsPartial(attrs: NemerleAttributes): bool
public IsPartial(attrs: NemerleModifiers): bool
{
attrs %&& NemerleAttributes.Partial
attrs %&& NemerleModifiers.Partial
}

public GetMemberAttributes(attrs: NemerleAttributes, field: bool = false): MemberAttributes
public GetMemberAttributes(attrs: NemerleModifiers, field: bool = false): MemberAttributes
{
mutable res: MemberAttributes;

when(attrs %&& NemerleAttributes.Static) res |= MemberAttributes.Static;
when(attrs %&& NemerleAttributes.Public) res |= MemberAttributes.Public;
when(attrs %&& NemerleAttributes.Private) res |= MemberAttributes.Private;
when(attrs %&& NemerleModifiers.Static) res |= MemberAttributes.Static;
when(attrs %&& NemerleModifiers.Public) res |= MemberAttributes.Public;
when(attrs %&& NemerleModifiers.Private) res |= MemberAttributes.Private;

if(attrs %&& NemerleAttributes.Internal && attrs %&& NemerleAttributes.Protected)
if(attrs %&& NemerleModifiers.Internal && attrs %&& NemerleModifiers.Protected)
res |= MemberAttributes.FamilyOrAssembly
else
{
when(attrs %&& NemerleAttributes.Internal) res |= MemberAttributes.FamilyAndAssembly;
when(attrs %&& NemerleAttributes.Protected) res |= MemberAttributes.Family;
when(attrs %&& NemerleModifiers.Internal) res |= MemberAttributes.FamilyAndAssembly;
when(attrs %&& NemerleModifiers.Protected) res |= MemberAttributes.Family;
}

when(field && !(attrs %&& NemerleAttributes.Mutable)) res |= MemberAttributes.Const;
when(field && !(attrs %&& NemerleModifiers.Mutable)) res |= MemberAttributes.Const;

when(attrs %&& NemerleAttributes.New) res |= MemberAttributes.New;
when(attrs %&& NemerleAttributes.Override) res |= MemberAttributes.Override;
when(attrs %&& NemerleAttributes.Sealed) res |= MemberAttributes.Final;
when(attrs %&& NemerleAttributes.Virtual) res |= MemberAttributes.VTableMask;
when(attrs %&& NemerleModifiers.New) res |= MemberAttributes.New;
when(attrs %&& NemerleModifiers.Override) res |= MemberAttributes.Override;
when(attrs %&& NemerleModifiers.Sealed) res |= MemberAttributes.Final;
when(attrs %&& NemerleModifiers.Virtual) res |= MemberAttributes.VTableMask;

when(res == 0)
{
Expand All @@ -53,21 +53,21 @@ namespace Nemerle.Compiler.Utils
res;
}

public GetTypeAttributes(attrs: NemerleAttributes): TypeAttributes
public GetTypeAttributes(attrs: NemerleModifiers): TypeAttributes
{
if(attrs == NemerleAttributes.None)
if(attrs == NemerleModifiers.None)
TypeAttributes.NotPublic;
else
{
mutable res: TypeAttributes =
if(attrs %&& NemerleAttributes.Public)
if(attrs %&& NemerleModifiers.Public)
TypeAttributes.Public
else
TypeAttributes.NotPublic;

when(attrs %&& NemerleAttributes.Abstract) res |= TypeAttributes.Abstract;
when(attrs %&& NemerleAttributes.Sealed) res |= TypeAttributes.Sealed;
when(attrs %&& NemerleAttributes.SpecialName) res |= TypeAttributes.SpecialName;
when(attrs %&& NemerleModifiers.Abstract) res |= TypeAttributes.Abstract;
when(attrs %&& NemerleModifiers.Sealed) res |= TypeAttributes.Sealed;
when(attrs %&& NemerleModifiers.SpecialName) res |= TypeAttributes.SpecialName;
res;
}
}
Expand Down
Expand Up @@ -99,7 +99,7 @@ namespace Nemerle.Compiler.Utils
{
def ty = CodeTypeDeclaration(cls.Name);

when(cls.Attributes %&& NemerleAttributes.Struct)
when(cls.Attributes %&& NemerleModifiers.Struct)
{
ty.IsClass = false;
ty.IsStruct = true;
Expand Down Expand Up @@ -140,25 +140,25 @@ namespace Nemerle.Compiler.Utils
typarms.tyvars.Map(toCodeTypeParameter);
}

protected virtual ToMemberAttributes(attrs : NemerleAttributes) : MemberAttributes
protected virtual ToMemberAttributes(attrs : NemerleModifiers) : MemberAttributes
{
mutable memberAttrs: MemberAttributes;

when(attrs %&& NemerleAttributes.Static) memberAttrs |= MemberAttributes.Static;
when(attrs %&& NemerleAttributes.Public) memberAttrs |= MemberAttributes.Public;
when(attrs %&& NemerleAttributes.Private) memberAttrs |= MemberAttributes.Private;
when(attrs %&& NemerleModifiers.Static) memberAttrs |= MemberAttributes.Static;
when(attrs %&& NemerleModifiers.Public) memberAttrs |= MemberAttributes.Public;
when(attrs %&& NemerleModifiers.Private) memberAttrs |= MemberAttributes.Private;

if(attrs %&& NemerleAttributes.Internal && attrs %&& NemerleAttributes.Protected)
if(attrs %&& NemerleModifiers.Internal && attrs %&& NemerleModifiers.Protected)
memberAttrs |= MemberAttributes.FamilyOrAssembly
else
{
when(attrs %&& NemerleAttributes.Internal) memberAttrs |= MemberAttributes.Assembly;
when(attrs %&& NemerleAttributes.Protected) memberAttrs |= MemberAttributes.Family;
when(attrs %&& NemerleModifiers.Internal) memberAttrs |= MemberAttributes.Assembly;
when(attrs %&& NemerleModifiers.Protected) memberAttrs |= MemberAttributes.Family;
}

when(attrs %&& NemerleAttributes.New) memberAttrs |= MemberAttributes.New;
when(attrs %&& NemerleAttributes.Override) memberAttrs |= MemberAttributes.Override;
when(attrs %&& NemerleAttributes.Sealed) memberAttrs |= MemberAttributes.Final;
when(attrs %&& NemerleModifiers.New) memberAttrs |= MemberAttributes.New;
when(attrs %&& NemerleModifiers.Override) memberAttrs |= MemberAttributes.Override;
when(attrs %&& NemerleModifiers.Sealed) memberAttrs |= MemberAttributes.Final;

memberAttrs;
}
Expand Down Expand Up @@ -188,7 +188,7 @@ namespace Nemerle.Compiler.Utils
{
| ".ctor" => CodeConstructor()
| ".cctor" => CodeTypeConstructor()
| "Main" when func.Attributes %&& NemerleAttributes.Static
| "Main" when func.Attributes %&& NemerleModifiers.Static
=> CodeEntryPointMethod()
| _ => CodeMemberMethod()
};
Expand Down Expand Up @@ -435,9 +435,9 @@ namespace Nemerle.Compiler.Utils
def methodDecl : CodeMemberMethod =
match(method.Name)
{
| ".ctor" when method.Attributes %&& NemerleAttributes.Static => CodeTypeConstructor()
| ".ctor" when method.Attributes %&& NemerleModifiers.Static => CodeTypeConstructor()
| ".ctor" => CodeConstructor()
| "Main" when method.Attributes %&& NemerleAttributes.Static => CodeEntryPointMethod()
| "Main" when method.Attributes %&& NemerleModifiers.Static => CodeEntryPointMethod()
| _ => CodeMemberMethod()
};

Expand Down
2 changes: 1 addition & 1 deletion VsIntegration/Nemerle.Compiler.Utils/Hints/HintHelper.n
Expand Up @@ -356,7 +356,7 @@ namespace Nemerle.Compiler.Utils
def mods =
match (ti)
{
| ti is TypeInfo when ti.IsInterface => ti.Attributes & ~NemerleAttributes.Abstract
| ti is TypeInfo when ti.IsInterface => ti.Attributes & ~NemerleModifiers.Abstract
| _ => ti.Attributes
};
def mods = mods.ToString().ToLower().Replace(",", "");
Expand Down
Expand Up @@ -615,7 +615,7 @@ namespace Nemerle.Completion2.CodeFormatting
FormatMethod(mb : ClassMember.Function) : void
{
// Skipping properties (other methods too?)
when((mb.Attributes & NemerleAttributes.SpecialName) == 0)
when((mb.Attributes & NemerleModifiers.SpecialName) == 0)
{
// TODO: Format header properly (handle multiline headers)
def loc=FormatMacroAttr(mb);
Expand Down
@@ -1,19 +1,19 @@
using System;
using System.IO;
using System.Diagnostics;

using Nemerle.Assertions;
using Nemerle.Collections;
using Nemerle.Compiler;
using Nemerle.Compiler.Parsetree;
using Nemerle.Imperative;
using Nemerle.Utility;
using Nemerle.Compiler.Utils;
using Nemerle.Compiler.NemerleAttributes;

using System;
using System.IO;
using System.Diagnostics;

using Nemerle.Assertions;
using Nemerle.Collections;
using Nemerle.Compiler;
using Nemerle.Compiler.Parsetree;
using Nemerle.Imperative;
using Nemerle.Utility;
using Nemerle.Compiler.Utils;
using Nemerle.Compiler.NemerleModifiers;

using SR = System.Reflection;
using SCG = System.Collections.Generic;
using Typed = Nemerle.Compiler.Typedtree;
using SCG = System.Collections.Generic;
using Typed = Nemerle.Compiler.Typedtree;
using BF = System.Reflection.BindingFlags;

namespace Nemerle.Completion2
Expand Down Expand Up @@ -137,6 +137,6 @@ namespace Nemerle.Completion2
// | _ => null
// }
// } // AddRelocation
} // end class Engine
} // end namespace
} // end class Engine
} // end namespace

Expand Up @@ -402,7 +402,7 @@ namespace Nemerle.Completion2
| fb is FieldBuilder =>

if (typeBuilder.IsEnum)
if (fb.Attributes %&& NemerleAttributes.SpecialName)
if (fb.Attributes %&& NemerleModifiers.SpecialName)
(Location.Default, null, null)
else
(fb.Location, null, fb)
Expand Down
Expand Up @@ -11,7 +11,7 @@ using Nemerle.Collections;
using Nemerle.Assertions;
using Nemerle.Utility;
using Nemerle.Imperative;
using Nemerle.Compiler.NemerleAttributes;
using Nemerle.Compiler.NemerleModifiers;

using SCG = System.Collections.Generic;
using SR = System.Reflection;
Expand Down
Expand Up @@ -118,20 +118,20 @@ namespace Nemerle.Completion2
// Location = l1.FromStart().Combine(l2.FromStart())
//}

private GetAttributeText(attrs : NemerleAttributes) : string
private GetAttributeText(attrs : NemerleModifiers) : string
{
mutable s = "";

when (attrs %&& NemerleAttributes.Public) s += "public ";
when (attrs %&& NemerleAttributes.Private) s += "private ";
when (attrs %&& NemerleAttributes.Protected) s += "protected ";
when (attrs %&& NemerleAttributes.Internal) s += "internal ";
when (attrs %&& NemerleAttributes.New) s += "new ";
when (attrs %&& NemerleAttributes.Abstract) s += "abstract ";
when (attrs %&& NemerleAttributes.Virtual) s += "virtual ";
when (attrs %&& NemerleAttributes.Override) s += "override ";
when (attrs %&& NemerleAttributes.Sealed) s += "sealed ";
when (attrs %&& NemerleAttributes.Static) s += "static ";
when (attrs %&& NemerleModifiers.Public) s += "public ";
when (attrs %&& NemerleModifiers.Private) s += "private ";
when (attrs %&& NemerleModifiers.Protected) s += "protected ";
when (attrs %&& NemerleModifiers.Internal) s += "internal ";
when (attrs %&& NemerleModifiers.New) s += "new ";
when (attrs %&& NemerleModifiers.Abstract) s += "abstract ";
when (attrs %&& NemerleModifiers.Virtual) s += "virtual ";
when (attrs %&& NemerleModifiers.Override) s += "override ";
when (attrs %&& NemerleModifiers.Sealed) s += "sealed ";
when (attrs %&& NemerleModifiers.Static) s += "static ";

/*
| Mutable = 0x00100
Expand Down Expand Up @@ -292,7 +292,7 @@ namespace Nemerle.Completion2
// {
// | VariantOption => "variant option"
// | Variant => "variant"
// | Class => if (tycon.Attributes %&& NemerleAttributes.Struct) "struct" else "class"
// | Class => if (tycon.Attributes %&& NemerleModifiers.Struct) "struct" else "class"
// | Alias => "alias"
// | Interface => "interface"
// | Enum => "enum"
Expand Down
Expand Up @@ -214,36 +214,36 @@ namespace Nemerle.Completion2
def isProcessed(m)
{
m.modifiers == null
|| !(m.Attributes %&& (NemerleAttributes.SpecialName | NemerleAttributes.Abstract))
|| !(m.Attributes %&& (NemerleModifiers.SpecialName | NemerleModifiers.Abstract))
}

match (topDeclaration)
{
| TopDeclaration.Interface (methods = decls)
| TopDeclaration.Class (decls = decls)
| Enum (decls = decls)
| TopDeclaration.VariantOption (decls = decls)
| TopDeclaration.Variant (decls = decls) =>
| TopDeclaration.Interface (methods = decls)
| TopDeclaration.Class (decls = decls)
| Enum (decls = decls)
| TopDeclaration.VariantOption (decls = decls)
| TopDeclaration.Variant (decls = decls) =>
foreach (member in decls.Filter(isProcessed))
{
| TypeDeclaration(td) => ProcessTopDeclaration(td)
| Field
| Event
| EnumOption =>
ProcessCustomAttributes(member);
{
| TypeDeclaration(td) => ProcessTopDeclaration(td)
| Field
| Event
| EnumOption =>
ProcessCustomAttributes(member);
AddRegion(member.BodyLocation, true);
| Property as p => ProcessProperty(p)
| Function as f => ProcessFunction(f)
}
| _ => ()
}
| Property as p => ProcessProperty(p)
| Function as f => ProcessFunction(f)
}
| _ => ()
}
}

ProcessFunction(func : ClassMember.Function) : void
{
ProcessCustomAttributes(func);
def headerLoc = func.header.Location;
if (headerLoc == Location.Default)
ProcessCustomAttributes(func);
def headerLoc = func.header.Location;
if (headerLoc == Location.Default)
AddRegion(func.BodyLocation, true);
else
AddRegion(headerLoc.FromEnd() + func.Location.FromEnd(), true);
Expand All @@ -254,8 +254,8 @@ namespace Nemerle.Completion2

ProcessProperty(prop : ClassMember.Property) : void
{
ProcessCustomAttributes(prop);
if (prop.returnType == null)
ProcessCustomAttributes(prop);
if (prop.returnType == null)
AddRegion(prop.BodyLocation, true);
else
AddRegion(prop.returnType.Location.FromEnd() + prop.Location.FromEnd(), true);
Expand Down
Expand Up @@ -592,38 +592,38 @@ namespace Nemerle.Completion2
}
}

public static GetAttributeString(attrs : NemerleAttributes) : string
public static GetAttributeString(attrs : NemerleModifiers) : string
{
def text = StringBuilder(64);

ignore(text.Append(
match (attrs & NemerleAttributes.AccessModifiers)
match (attrs & NemerleModifiers.AccessModifiers)
{
| NemerleAttributes.Public => "public";
| NemerleAttributes.Private => "private";
| NemerleAttributes.Protected => "protected";
| NemerleAttributes.Internal => "internal";
| NemerleAttributes.Protected %| NemerleAttributes.Internal => "protected internal";
| NemerleModifiers.Public => "public";
| NemerleModifiers.Private => "private";
| NemerleModifiers.Protected => "protected";
| NemerleModifiers.Internal => "internal";
| NemerleModifiers.Protected %| NemerleModifiers.Internal => "protected internal";
| attr => $"/* ??? ($attr) ??? */"
}));
ignore(text.Append(" "));

when (attrs %&& NemerleAttributes.Static) ignore(text.Append("static "));
when (attrs %&& NemerleAttributes.Mutable) ignore(text.Append("mutable "));
when (attrs %&& NemerleAttributes.Volatile) ignore(text.Append("volatile "));
when (attrs %&& NemerleAttributes.Extern) ignore(text.Append("extern "));
when (attrs %&& NemerleAttributes.New) ignore(text.Append("new "));
when (attrs %&& NemerleModifiers.Static) ignore(text.Append("static "));
when (attrs %&& NemerleModifiers.Mutable) ignore(text.Append("mutable "));
when (attrs %&& NemerleModifiers.Volatile) ignore(text.Append("volatile "));
when (attrs %&& NemerleModifiers.Extern) ignore(text.Append("extern "));
when (attrs %&& NemerleModifiers.New) ignore(text.Append("new "));

if (attrs %&& NemerleAttributes.Virtual)
if (attrs %&& NemerleModifiers.Virtual)
{
if (attrs %&& NemerleAttributes.Abstract)
if (attrs %&& NemerleModifiers.Abstract)
ignore(text.Append("abstract "));
else if (attrs %&& NemerleAttributes.Override)
else if (attrs %&& NemerleModifiers.Override)
ignore(text.Append("override "));
else unless (attrs %&& NemerleAttributes.Sealed)
else unless (attrs %&& NemerleModifiers.Sealed)
ignore(text.Append("virtual "));
}
else when (attrs %&& NemerleAttributes.Sealed)
else when (attrs %&& NemerleModifiers.Sealed)
ignore(text.Append("sealed "));

text.ToString();
Expand Down

0 comments on commit 430eb4a

Please sign in to comment.