本文整理汇总了C#中Mono.CSharp.TypeContainer.AddConstant方法的典型用法代码示例。如果您正苦于以下问题:C# TypeContainer.AddConstant方法的具体用法?C# TypeContainer.AddConstant怎么用?C# TypeContainer.AddConstant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.CSharp.TypeContainer
的用法示例。
在下文中一共展示了TypeContainer.AddConstant方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: yyparse
//.........这里部分代码省略.........
case 110:
#line 958 "cs-parser.jay"
{
CheckIdentifierToken (yyToken, GetLocation (yyVals[0+yyTop]));
}
break;
case 111:
#line 965 "cs-parser.jay"
{
if (RootContext.Documentation != null)
Lexer.doc_state = XmlCommentState.Allowed;
}
break;
case 127:
#line 1007 "cs-parser.jay"
{
var modflags = (Modifiers) yyVals[-4+yyTop];
foreach (VariableDeclaration constant in (List<object>) yyVals[-1+yyTop]){
Location l = constant.Location;
if ((modflags & Modifiers.STATIC) != 0) {
Report.Error (504, l, "The constant `{0}' cannot be marked static", current_container.GetSignatureForError () + "." + (string) constant.identifier);
continue;
}
Const c = new Const (
current_class, (FullNamedExpression) yyVals[-2+yyTop], (string) constant.identifier,
constant.GetInitializer ((FullNamedExpression) yyVals[-2+yyTop]), modflags,
(Attributes) yyVals[-5+yyTop], l);
if (RootContext.Documentation != null) {
c.DocComment = Lexer.consume_doc_comment ();
Lexer.doc_state = XmlCommentState.Allowed;
}
current_container.AddConstant (c);
}
}
break;
case 128:
#line 1032 "cs-parser.jay"
{
variables_bucket.Clear ();
if (yyVals[0+yyTop] != null)
variables_bucket.Add (yyVals[0+yyTop]);
yyVal = variables_bucket;
}
break;
case 129:
#line 1039 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null) {
var constants = (List<object>) yyVals[-2+yyTop];
constants.Add (yyVals[0+yyTop]);
}
}
break;
case 130:
#line 1049 "cs-parser.jay"
{
++lexer.parsing_block;
}
break;
case 131:
#line 1053 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = new VariableDeclaration ((Tokenizer.LocatedToken) yyVals[-3+yyTop], (Expression) yyVals[0+yyTop]);
示例2: yyparse
//.........这里部分代码省略.........
#line 931 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
if (doc_support)
Lexer.doc_state = XmlCommentState.Allowed;
}
break;
case 102:
#line 936 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
--lexer.parsing_declaration;
if (doc_support)
Lexer.doc_state = XmlCommentState.Allowed;
}
break;
case 103:
#line 942 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
lbag.AppendToMember (current_class, GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
yyVal = pop_current_class ();
}
break;
case 104:
#line 947 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
Error_SyntaxError (yyToken);
}
break;
case 105:
#line 956 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
var mod = (Modifiers) yyVals[-3+yyTop];
current_field = new Const (current_class, (FullNamedExpression) yyVals[-1+yyTop], mod, new MemberName (lt.Value, lt.Location), (Attributes) yyVals[-4+yyTop]);
current_container.AddConstant ((Const) current_field);
if ((mod & Modifiers.STATIC) != 0) {
report.Error (504, current_field.Location, "The constant `{0}' cannot be marked static", current_field.GetSignatureForError ());
}
yyVal = current_field;
}
break;
case 106:
#line 969 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
if (doc_support) {
current_field.DocComment = Lexer.consume_doc_comment ();
Lexer.doc_state = XmlCommentState.Allowed;
}
current_field.Initializer = (ConstInitializer) yyVals[-2+yyTop];
lbag.AddMember (current_field, mod_locations, GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[0+yyTop]));
current_field = null;
}
break;
case 117:
#line 1003 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
break;
case 118:
#line 1007 "D:\GitHub\M\Marvin\mcs\cs-parser.jay"
{
yyVal = new SimpleName("dynamic",new Location(0,0));
}