Index: src/Boo.Lang.Compiler/Steps/EmitAssembly.cs =================================================================== --- src/Boo.Lang.Compiler/Steps/EmitAssembly.cs (revision 1895) +++ src/Boo.Lang.Compiler/Steps/EmitAssembly.cs (working copy) @@ -3607,6 +3607,10 @@ { SetParamArrayAttribute(paramBuilder); } + foreach (Boo.Lang.Compiler.Ast.Attribute attribute in parameters[i].Attributes) + { + paramBuilder.SetCustomAttribute(GetCustomAttributeBuilder(attribute)); + } } } Index: tests/testcases/integration/attributes-8.boo =================================================================== --- tests/testcases/integration/attributes-8.boo (revision 1895) +++ tests/testcases/integration/attributes-8.boo (working copy) @@ -1,6 +1,8 @@ """ DemoAttribute constructor DemoAttribute +DemoAttribute constructor +DemoAttribute """ import System @@ -10,8 +12,13 @@ print "DemoAttribute constructor" class DemoClass: - def DemoMethod([Demo] demoArg): + def constructor([Demo] arg1): pass + def DemoMethod([Demo] demoArg) as int [Demo]: + pass print typeof(DemoClass).GetMethod("DemoMethod").GetParameters()[0].GetCustomAttributes(true)[0] +print typeof(DemoClass).GetConstructor((object,)).GetParameters()[0].GetCustomAttributes(true)[0] +//uncomment when DefineParameter(0...) bug is not around +//print typeof(DemoClass).GetMethod("DemoMethod").ReturnTypeCustomAttributes.GetCustomAttributes(true)[0]