本文整理汇总了C#中DelegateDeclaration类的典型用法代码示例。如果您正苦于以下问题:C# DelegateDeclaration类的具体用法?C# DelegateDeclaration怎么用?C# DelegateDeclaration使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DelegateDeclaration类属于命名空间,在下文中一共展示了DelegateDeclaration类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: TestParameters
void TestParameters(DelegateDeclaration dd)
{
Assert.AreEqual(3, dd.Parameters.Count());
Assert.AreEqual("a", ((ParameterDeclaration)dd.Parameters.ElementAt(0)).Name);
//Assert.AreEqual("System.Int32", ((ParameterDeclaration)dd.Parameters.ElementAt(0)).TypeReference.Type);
Assert.Ignore("check types"); // TODO
Assert.AreEqual("secondParam", ((ParameterDeclaration)dd.Parameters.ElementAt(1)).Name);
//Assert.AreEqual("System.Int32", ((ParameterDeclaration)dd.Parameters.ElementAt(1)).TypeReference.Type);
Assert.AreEqual("lastParam", ((ParameterDeclaration)dd.Parameters.ElementAt(2)).Name);
//Assert.AreEqual("MyObj", ((ParameterDeclaration)dd.Parameters.ElementAt(2)).TypeReference.Type);
}
开发者ID:richardschneider,项目名称:ILSpy,代码行数:13,代码来源:DelegateDeclarationTests.cs
示例2: CreateType
static DelegateDeclaration CreateType(RefactoringContext context, SimpleType simpleType)
{
var result = new DelegateDeclaration() {
Name = simpleType.Identifier,
Modifiers = ((EntityDeclaration)simpleType.Parent).Modifiers,
ReturnType = new PrimitiveType("void"),
Parameters = {
new ParameterDeclaration(new PrimitiveType("object"), "sender"),
new ParameterDeclaration(context.CreateShortType("System", "EventArgs"), "e")
}
};
return result;
}
开发者ID:adisik,项目名称:simple-assembly-explorer,代码行数:13,代码来源:CreateDelegateAction.cs
示例3: VisitDelegateDeclaration
public override void VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration)
{
ForceSpacesBefore(delegateDeclaration.LParToken, policy.SpaceBeforeDelegateDeclarationParentheses);
if (delegateDeclaration.Parameters.Any()) {
ForceSpacesAfter(delegateDeclaration.LParToken, policy.SpaceWithinDelegateDeclarationParentheses);
ForceSpacesBefore(delegateDeclaration.RParToken, policy.SpaceWithinDelegateDeclarationParentheses);
} else {
ForceSpacesAfter(delegateDeclaration.LParToken, policy.SpaceBetweenEmptyDelegateDeclarationParentheses);
ForceSpacesBefore(delegateDeclaration.RParToken, policy.SpaceBetweenEmptyDelegateDeclarationParentheses);
}
FormatCommas(delegateDeclaration, policy.SpaceBeforeDelegateDeclarationParameterComma, policy.SpaceAfterDelegateDeclarationParameterComma);
base.VisitDelegateDeclaration(delegateDeclaration);
}
开发者ID:JoostK,项目名称:NRefactory,代码行数:14,代码来源:FormattingVisitor_Global.cs
示例4: VisitEventDeclaration
public override object VisitEventDeclaration(EventDeclaration eventDeclaration, object data)
{
if (!eventDeclaration.HasAddRegion && !eventDeclaration.HasRaiseRegion && !eventDeclaration.HasRemoveRegion) {
if (eventDeclaration.TypeReference.IsNull) {
DelegateDeclaration dd = new DelegateDeclaration(eventDeclaration.Modifier, null);
dd.Name = eventDeclaration.Name + "EventHandler";
dd.Parameters = eventDeclaration.Parameters;
dd.ReturnType = new TypeReference("System.Void", true);
dd.Parent = eventDeclaration.Parent;
eventDeclaration.Parameters = null;
InsertAfterSibling(eventDeclaration, dd);
eventDeclaration.TypeReference = new TypeReference(dd.Name);
}
}
return base.VisitEventDeclaration(eventDeclaration, data);
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:16,代码来源:ToCSharpConvertVisitor.cs
示例5: Process_Delegate_Declaration
private void Process_Delegate_Declaration(DelegateDeclaration node)
{
if (node == null) throw new ArgumentNullException("node");
var dele = new Delegate(controller);
dele.Name = node.Name.Text;
dele.Modifiers.AddRange(FormatterUtility.GetModifiersFromEnum(node.Modifiers));
dele.ReturnType = FormatterUtility.GetDataTypeFromTypeReference(node.ReturnType, document, controller);
foreach (ParameterDeclaration paramNode in node.Parameters)
{
Parameter param = GetParameterFromParameterDeclaration(document, controller, paramNode);
param.ParentObject = dele;
dele.Parameters.Add(param);
}
SetupBaseConstruct(node, dele);
}
开发者ID:uQr,项目名称:Visual-NHibernate,代码行数:18,代码来源:VBParser.cs
示例6: Visit
public override void Visit (Mono.CSharp.Delegate d)
{
DelegateDeclaration newDelegate = new DelegateDeclaration ();
var location = LocationsBag.GetMemberLocation (d);
AddModifiers (newDelegate, location);
if (location != null)
newDelegate.AddChild (new CSharpTokenNode (Convert (location[0]), "delegate".Length), TypeDeclaration.TypeKeyword);
newDelegate.AddChild ((INode)d.ReturnType.Accept (this), AbstractNode.Roles.ReturnType);
newDelegate.AddChild (new Identifier (d.Name, Convert (d.MemberName.Location)), AbstractNode.Roles.Identifier);
if (d.MemberName.TypeArguments != null) {
var typeArgLocation = LocationsBag.GetLocations (d.MemberName);
if (typeArgLocation != null)
newDelegate.AddChild (new CSharpTokenNode (Convert (typeArgLocation[0]), 1), MemberReferenceExpression.Roles.LChevron);
// AddTypeArguments (newDelegate, typeArgLocation, d.MemberName.TypeArguments);
if (typeArgLocation != null)
newDelegate.AddChild (new CSharpTokenNode (Convert (typeArgLocation[1]), 1), MemberReferenceExpression.Roles.RChevron);
AddConstraints (newDelegate, d);
}
if (location != null) {
newDelegate.AddChild (new CSharpTokenNode (Convert (location[1]), 1), DelegateDeclaration.Roles.LPar);
newDelegate.AddChild (new CSharpTokenNode (Convert (location[2]), 1), DelegateDeclaration.Roles.RPar);
newDelegate.AddChild (new CSharpTokenNode (Convert (location[3]), 1), DelegateDeclaration.Roles.Semicolon);
}
AddType (newDelegate);
}
开发者ID:pgoron,项目名称:monodevelop,代码行数:26,代码来源:CSharpParser.cs
示例7: Visit
public override void Visit(Mono.CSharp.Delegate d)
{
var newDelegate = new DelegateDeclaration();
var location = LocationsBag.GetMemberLocation(d);
AddAttributeSection(newDelegate, d);
AddModifiers(newDelegate, location);
if (location != null && location.Count > 0) {
newDelegate.AddChild(new CSharpTokenNode(Convert(location [0]), Roles.DelegateKeyword), Roles.DelegateKeyword);
}
if (d.ReturnType != null)
newDelegate.AddChild(ConvertToType(d.ReturnType), Roles.Type);
newDelegate.AddChild(Identifier.Create(d.MemberName.Name, Convert(d.MemberName.Location)), Roles.Identifier);
AddTypeParameters(newDelegate, d.MemberName);
if (location != null && location.Count > 1)
newDelegate.AddChild(new CSharpTokenNode(Convert(location [1]), Roles.LPar), Roles.LPar);
AddParameter(newDelegate, d.Parameters);
if (location != null && location.Count > 2) {
newDelegate.AddChild(new CSharpTokenNode(Convert(location [2]), Roles.RPar), Roles.RPar);
}
AddConstraints(newDelegate, d.CurrentTypeParameters);
if (location != null && location.Count > 3) {
newDelegate.AddChild(new CSharpTokenNode(Convert(location [3]), Roles.Semicolon), Roles.Semicolon);
}
AddType(newDelegate);
}
开发者ID:0xb1dd1e,项目名称:NRefactory,代码行数:27,代码来源:CSharpParser.cs
示例8: Visit
public override void Visit (Mono.CSharp.Delegate d)
{
DelegateDeclaration newDelegate = new DelegateDeclaration ();
var location = LocationsBag.GetMemberLocation (d);
AddAttributeSection (newDelegate, d);
AddModifiers (newDelegate, location);
if (location != null)
newDelegate.AddChild (new CSharpTokenNode (Convert (location[0]), "delegate".Length), TypeDeclaration.Roles.Keyword);
newDelegate.AddChild (ConvertToType (d.ReturnType), AstNode.Roles.Type);
newDelegate.AddChild (Identifier.Create (d.MemberName.Name, Convert (d.MemberName.Location)), AstNode.Roles.Identifier);
if (d.MemberName.TypeArguments != null) {
AddTypeParameters (newDelegate, d.MemberName.TypeArguments);
}
if (location != null)
newDelegate.AddChild (new CSharpTokenNode (Convert (location[1]), 1), DelegateDeclaration.Roles.LPar);
AddParameter (newDelegate, d.Parameters);
if (location != null) {
newDelegate.AddChild (new CSharpTokenNode (Convert (location[2]), 1), DelegateDeclaration.Roles.RPar);
}
AddConstraints (newDelegate, d);
if (location != null) {
newDelegate.AddChild (new CSharpTokenNode (Convert (location[3]), 1), DelegateDeclaration.Roles.Semicolon);
}
AddType (newDelegate);
}
开发者ID:N3X15,项目名称:ILSpy,代码行数:26,代码来源:CSharpParser.cs
示例9: DelegateType
public DelegateType(AbstractType ReturnType,DelegateDeclaration Declaration, IEnumerable<AbstractType> Parameters = null) : base(ReturnType, Declaration)
{
this.IsFunction = Declaration.IsFunction;
if (Parameters is AbstractType[])
this.Parameters = (AbstractType[])Parameters;
else if(Parameters!=null)
this.Parameters = Parameters.ToArray();
}
开发者ID:DinrusGroup,项目名称:DinrusIDE,代码行数:9,代码来源:DType.cs
示例10: VisitDelegateDeclaration
public override void VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration)
{
}
开发者ID:Oaz,项目名称:bridgedotnet_Builder,代码行数:3,代码来源:Inspector.Visitor.cs
示例11: NonModuleDeclaration
//.........这里部分代码省略.........
Identifier();
#line 514 "VBNET.ATG"
newType.Name = t.val;
TypeParameterList(
#line 515 "VBNET.ATG"
newType.Templates);
EndOfStmt();
#line 517 "VBNET.ATG"
newType.BodyStartLocation = t.Location;
while (la.kind == 127) {
InterfaceBase(
#line 518 "VBNET.ATG"
out baseInterfaces);
#line 518 "VBNET.ATG"
newType.BaseTypes.AddRange(baseInterfaces);
}
InterfaceBody(
#line 519 "VBNET.ATG"
newType);
#line 521 "VBNET.ATG"
compilationUnit.BlockEnd();
break;
}
case 90: {
lexer.NextToken();
#line 526 "VBNET.ATG"
m.Check(Modifiers.VBDelegates);
DelegateDeclaration delegateDeclr = new DelegateDeclaration(m.Modifier, attributes);
delegateDeclr.ReturnType = new TypeReference("System.Void", true);
delegateDeclr.StartLocation = m.GetDeclarationLocation(t.Location);
List<ParameterDeclarationExpression> p = new List<ParameterDeclarationExpression>();
if (la.kind == 195) {
lexer.NextToken();
Identifier();
#line 533 "VBNET.ATG"
delegateDeclr.Name = t.val;
TypeParameterList(
#line 534 "VBNET.ATG"
delegateDeclr.Templates);
if (la.kind == 25) {
lexer.NextToken();
if (StartOf(4)) {
FormalParameterList(
#line 535 "VBNET.ATG"
p);
}
Expect(26);
#line 535 "VBNET.ATG"
delegateDeclr.Parameters = p;
}
} else if (la.kind == 114) {
lexer.NextToken();
Identifier();
#line 537 "VBNET.ATG"
delegateDeclr.Name = t.val;
TypeParameterList(
开发者ID:mgagne-atman,项目名称:Projects,代码行数:67,代码来源:Parser.cs
示例12: ConvertDelegate
DelegateDeclaration ConvertDelegate(IMethod invokeMethod, Modifiers modifiers)
{
ITypeDefinition d = invokeMethod.DeclaringTypeDefinition;
DelegateDeclaration decl = new DelegateDeclaration();
decl.Modifiers = modifiers & ~Modifiers.Sealed;
if (ShowAttributes) {
decl.Attributes.AddRange (d.Attributes.Select (a => new AttributeSection (ConvertAttribute (a))));
decl.Attributes.AddRange (invokeMethod.ReturnTypeAttributes.Select ((a) => new AttributeSection (ConvertAttribute (a)) {
AttributeTarget = "return"
}));
}
decl.ReturnType = ConvertType(invokeMethod.ReturnType);
decl.Name = d.Name;
int outerTypeParameterCount = (d.DeclaringTypeDefinition == null) ? 0 : d.DeclaringTypeDefinition.TypeParameterCount;
if (this.ShowTypeParameters) {
foreach (ITypeParameter tp in d.TypeParameters.Skip(outerTypeParameterCount)) {
decl.TypeParameters.Add(ConvertTypeParameter(tp));
}
}
foreach (IParameter p in invokeMethod.Parameters) {
decl.Parameters.Add(ConvertParameter(p));
}
if (this.ShowTypeParameters && this.ShowTypeParameterConstraints) {
foreach (ITypeParameter tp in d.TypeParameters.Skip(outerTypeParameterCount)) {
var constraint = ConvertTypeParameterConstraint(tp);
if (constraint != null)
decl.Constraints.Add(constraint);
}
}
return decl;
}
开发者ID:yyp2003net,项目名称:NRefactory,代码行数:36,代码来源:TypeSystemAstBuilder.cs
示例13: VisitDelegateDeclaration
public virtual void VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration)
{
StartNode(delegateDeclaration);
WriteAttributes(delegateDeclaration.Attributes);
WriteModifiers(delegateDeclaration.ModifierTokens);
WriteKeyword(Roles.DelegateKeyword);
delegateDeclaration.ReturnType.AcceptVisitor(this);
Space();
WriteIdentifier(delegateDeclaration.NameToken);
WriteTypeParameters(delegateDeclaration.TypeParameters, CodeBracesRangeFlags.AngleBrackets);
Space(policy.SpaceBeforeDelegateDeclarationParentheses);
WriteCommaSeparatedListInParenthesis(delegateDeclaration.Parameters, policy.SpaceWithinMethodDeclarationParentheses, CodeBracesRangeFlags.Parentheses);
int count = 0;
foreach (Constraint constraint in delegateDeclaration.Constraints) {
if (count-- <= 0) {
cancellationToken.ThrowIfCancellationRequested();
count = CANCEL_CHECK_LOOP_COUNT;
}
constraint.AcceptVisitor(this);
}
SaveDeclarationOffset();
Semicolon();
EndNode(delegateDeclaration);
}
开发者ID:0xd4d,项目名称:NRefactory,代码行数:24,代码来源:CSharpOutputVisitor.cs
示例14: TypeDecl
//.........这里部分代码省略.........
InterfaceBody();
if (la.kind == 11) {
lexer.NextToken();
}
#line 437 "cs.ATG"
newType.EndLocation = t.Location;
compilationUnit.BlockEnd();
} else if (la.kind == 68) {
lexer.NextToken();
#line 441 "cs.ATG"
TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes);
compilationUnit.AddChild(newType);
compilationUnit.BlockStart(newType);
newType.StartLocation = m.GetDeclarationLocation(t.Location);
newType.Type = Types.Enum;
Identifier();
#line 447 "cs.ATG"
newType.Name = t.val;
if (la.kind == 9) {
lexer.NextToken();
IntegralType(
#line 448 "cs.ATG"
out name);
#line 448 "cs.ATG"
newType.BaseTypes.Add(new TypeReference(name, true));
}
#line 450 "cs.ATG"
newType.BodyStartLocation = t.EndLocation;
EnumBody();
if (la.kind == 11) {
lexer.NextToken();
}
#line 452 "cs.ATG"
newType.EndLocation = t.Location;
compilationUnit.BlockEnd();
} else {
lexer.NextToken();
#line 456 "cs.ATG"
DelegateDeclaration delegateDeclr = new DelegateDeclaration(m.Modifier, attributes);
templates = delegateDeclr.Templates;
delegateDeclr.StartLocation = m.GetDeclarationLocation(t.Location);
if (
#line 460 "cs.ATG"
NotVoidPointer()) {
Expect(123);
#line 460 "cs.ATG"
delegateDeclr.ReturnType = new TypeReference("System.Void", true);
} else if (StartOf(10)) {
Type(
#line 461 "cs.ATG"
out type);
#line 461 "cs.ATG"
delegateDeclr.ReturnType = type;
} else SynErr(152);
Identifier();
#line 463 "cs.ATG"
delegateDeclr.Name = t.val;
if (la.kind == 23) {
TypeParameterList(
#line 466 "cs.ATG"
templates);
}
Expect(20);
if (StartOf(11)) {
FormalParameterList(
#line 468 "cs.ATG"
p);
#line 468 "cs.ATG"
delegateDeclr.Parameters = p;
}
Expect(21);
while (la.kind == 127) {
TypeParameterConstraintsClause(
#line 472 "cs.ATG"
templates);
}
Expect(11);
#line 474 "cs.ATG"
delegateDeclr.EndLocation = t.Location;
compilationUnit.AddChild(delegateDeclr);
}
} else SynErr(153);
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:101,代码来源:Parser.cs
示例15: VisitDelegateDeclaration
public override object VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration, object data)
{
// fix default inner type visibility
if (currentType != null && (delegateDeclaration.Modifier & Modifiers.Visibility) == 0)
delegateDeclaration.Modifier |= Modifiers.Private;
return base.VisitDelegateDeclaration(delegateDeclaration, data);
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:8,代码来源:ToVBNetConvertVisitor.cs
示例16: VisitDelegateDeclaration
public virtual object VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration, object data) {
Debug.Assert((delegateDeclaration != null));
Debug.Assert((delegateDeclaration.Attributes != null));
Debug.Assert((delegateDeclaration.ReturnType != null));
Debug.Assert((delegateDeclaration.Parameters != null));
Debug.Assert((delegateDeclaration.Templates != null));
foreach (AttributeSection o in delegateDeclaration.Attributes) {
Debug.Assert(o != null);
o.AcceptVisitor(this, data);
}
delegateDeclaration.ReturnType.AcceptVisitor(this, data);
foreach (ParameterDeclarationExpression o in delegateDeclaration.Parameters) {
Debug.Assert(o != null);
o.AcceptVisitor(this, data);
}
foreach (TemplateDefinition o in delegateDeclaration.Templates) {
Debug.Assert(o != null);
o.AcceptVisitor(this, data);
}
return null;
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:21,代码来源:AbstractASTVisitor.cs
示例17: VisitDelegateDeclaration
public override void VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration)
{
FormatAttributedNode(delegateDeclaration);
ForceSpacesBefore(delegateDeclaration.LParToken, policy.SpaceBeforeDelegateDeclarationParentheses);
if (delegateDeclaration.Parameters.Any()) {
ForceSpacesAfter(delegateDeclaration.LParToken, policy.SpaceWithinDelegateDeclarationParentheses);
ForceSpacesBefore(delegateDeclaration.RParToken, policy.SpaceWithinDelegateDeclarationParentheses);
} else {
ForceSpacesAfter(delegateDeclaration.LParToken, policy.SpaceBetweenEmptyDelegateDeclarationParentheses);
ForceSpacesBefore(delegateDeclaration.RParToken, policy.SpaceBetweenEmptyDelegateDeclarationParentheses);
}
FormatCommas(delegateDeclaration, policy.SpaceBeforeDelegateDeclarationParameterComma, policy.SpaceAfterDelegateDeclarationParameterComma);
if (delegateDeclaration.NextSibling is TypeDeclaration || delegateDeclaration.NextSibling is DelegateDeclaration) {
EnsureBlankLinesAfter(delegateDeclaration, policy.BlankLinesBetweenTypes);
} else if (IsMember(delegateDeclaration.NextSibling)) {
EnsureBlankLinesAfter(delegateDeclaration, policy.BlankLinesBetweenMembers);
}
base.VisitDelegateDeclaration(delegateDeclaration);
}
开发者ID:txdv,项目名称:monodevelop,代码行数:22,代码来源:AstFormattingVisitor.cs
示例18: Resolve
public static DelegateType Resolve(DelegateDeclaration dg, ResolutionContext ctxt)
{
var returnTypes = Resolve(dg.ReturnType, ctxt);
ctxt.CheckForSingleResult(returnTypes, dg.ReturnType);
if (returnTypes != null && returnTypes.Length != 0)
{
List<AbstractType> paramTypes=null;
if(dg.Parameters!=null &&
dg.Parameters.Count != 0)
{
paramTypes = new List<AbstractType>();
foreach(var par in dg.Parameters)
paramTypes.Add(ResolveSingle(par.Type, ctxt));
}
return new DelegateType(returnTypes[0], dg, paramTypes);
}
return null;
}
开发者ID:DinrusGroup,项目名称:DinrusIDE,代码行数:20,代码来源:TypeDeclarationResolver.cs
示例19: VisitDelegateDeclaration
public virtual void VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration)
{
if (this.ThrowException)
{
throw (Exception)this.CreateException(delegateDeclaration);
}
}
开发者ID:fabriciomurta,项目名称:BridgeUnified,代码行数:7,代码来源:Visitor.Exception.cs
示例20: BasicType2
ITypeDeclaration BasicType2()
{
// *
if (laKind == (Times))
{
Step();
return new PointerDecl() { Location=t.Location, EndLocation=t.EndLocation };
}
// [ ... ]
else if (laKind == (OpenSquareBracket))
{
var startLoc = la.Location;
Step();
// [ ]
if (laKind == (CloseSquareBracket))
{
Step();
return new ArrayDecl() { Location=startLoc, EndLocation=t.EndLocation };
}
ITypeDeclaration cd = null;
// [ Type ]
Lexer.PushLookAheadBackup();
bool weaktype = AllowWeakTypeParsing;
AllowWeakTypeParsing = true;
var keyType = Type();
AllowWeakTypeParsing = weaktype;
if (keyType != null && laKind == CloseSquareBracket && !(keyType is IdentifierDeclaration))
{
//HACK: Both new int[size_t] as well as new int[someConstNumber] are legal. So better treat them as expressions.
cd = new ArrayDecl() { KeyType = keyType, ClampsEmpty = false, Location = startLoc };
Lexer.PopLookAheadBackup();
}
else
{
Lexer.RestoreLookAheadBackup();
var fromExpression = AssignExpression();
// [ AssignExpression .. AssignExpression ]
if (laKind == DoubleDot)
{
Step();
cd = new ArrayDecl() {
Location=startLoc,
ClampsEmpty=false,
KeyType=null,
KeyExpression= new PostfixExpression_Slice() {
FromExpression=fromExpression,
ToExpression=AssignExpression()}};
}
else
cd = new ArrayDecl() { KeyType=null, KeyExpression=fromExpression,ClampsEmpty=false,Location=startLoc };
}
if ((AllowWeakTypeParsing && laKind != CloseSquareBracket) || IsEOF)
return null;
Expect(CloseSquareBracket);
if(cd!=null)
cd.EndLocation = t.EndLocation;
return cd;
}
// delegate | function
else if (laKind == (Delegate) || laKind == (Function))
{
Step();
var dd = new DelegateDeclaration() { Location=t.Location};
dd.IsFunction = t.Kind == Function;
var lpo = LastParsedObject;
if (AllowWeakTypeParsing && laKind != OpenParenthesis)
return null;
dd.Parameters = Parameters(null);
if (!IsEOF)
LastParsedObject = lpo;
var attributes = new List<DAttribute>();
FunctionAttributes(ref attributes);
dd.Modifiers= attributes.Count > 0 ? attributes.ToArray() : null;
dd.EndLocation = t.EndLocation;
return dd;
}
else
SynErr(Identifier);
return null;
}
开发者ID:DinrusGroup,项目名称:DinrusIDE,代码行数:97,代码来源:Parser_Impl.cs
注:本文中的DelegateDeclaration类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论