本文整理汇总了C#中LockStatement类的典型用法代码示例。如果您正苦于以下问题:C# LockStatement类的具体用法?C# LockStatement怎么用?C# LockStatement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LockStatement类属于命名空间,在下文中一共展示了LockStatement类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: VisitLockStatement
public override void VisitLockStatement(LockStatement lockStatement)
{
ForceSpacesBefore(lockStatement.LParToken, policy.SpaceBeforeLockParentheses);
ForceSpacesAfter(lockStatement.LParToken, policy.SpacesWithinLockParentheses);
ForceSpacesBefore(lockStatement.RParToken, policy.SpacesWithinLockParentheses);
FixEmbeddedStatment(policy.StatementBraceStyle, policy.FixedBraceForcement, lockStatement.EmbeddedStatement);
}
开发者ID:txdv,项目名称:monodevelop,代码行数:9,代码来源:AstFormattingVisitor.cs
示例2: VisitLockStatement
public override void VisitLockStatement(LockStatement lockStatement)
{
lockStatement.Expression.AcceptVisitor(this);
this.Output.Append(";");
this.Output.Append("\n");
this.IsNewLine = true;
lockStatement.EmbeddedStatement.AcceptVisitor(this);
}
开发者ID:yindongfei,项目名称:bridge.lua,代码行数:8,代码来源:Emitter.Visitor.cs
示例3: VisitLockStatement
public StringBuilder VisitLockStatement(LockStatement lockStatement, int data)
{
throw new SLSharpException("SL# does not have locks.");
}
开发者ID:hach-que,项目名称:SLSharp,代码行数:4,代码来源:VisitorBase.Illegal.cs
示例4: VisitLockStatement
public sealed override object VisitLockStatement(LockStatement lockStatement, object data) {
BeginVisit(lockStatement);
object result = TrackedVisitLockStatement(lockStatement, data);
EndVisit(lockStatement);
return result;
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:6,代码来源:NodeTrackingAstVisitor.cs
示例5: ParseLock
private Statement ParseLock(TokenSet followers)
//^ requires this.currentToken == Token.Lock;
//^ ensures followers[this.currentToken] || this.currentToken == Token.EndOfFile;
{
SourceLocationBuilder slb = new SourceLocationBuilder(this.scanner.SourceLocationOfLastScannedToken);
this.GetNextToken();
Expression guard = this.ParseParenthesizedExpression(false, followers|Parser.StatementStart);
Statement body = this.ParseStatement(followers);
if (body is EmptyStatement)
this.HandleError(body.SourceLocation, Error.PossibleMistakenNullStatement);
slb.UpdateToSpan(body.SourceLocation);
Statement result = new LockStatement(guard, body, slb);
//^ assume followers[this.currentToken] || this.currentToken == Token.EndOfFile;
return result;
}
开发者ID:hesam,项目名称:SketchSharp,代码行数:15,代码来源:Parser.cs
示例6: Visit
public override object Visit(Lock lockStatement)
{
var result = new LockStatement();
var location = LocationsBag.GetLocations(lockStatement);
result.AddChild(new CSharpTokenNode(Convert(lockStatement.loc), LockStatement.LockKeywordRole), LockStatement.LockKeywordRole);
if (location != null)
result.AddChild(new CSharpTokenNode(Convert(location [0]), Roles.LPar), Roles.LPar);
if (lockStatement.Expr != null)
result.AddChild((Expression)lockStatement.Expr.Accept(this), Roles.Expression);
if (location != null && location.Count > 1)
result.AddChild(new CSharpTokenNode(Convert(location [1]), Roles.RPar), Roles.RPar);
if (lockStatement.Statement != null)
result.AddChild((Statement)lockStatement.Statement.Accept(this), Roles.EmbeddedStatement);
return result;
}
开发者ID:0xb1dd1e,项目名称:NRefactory,代码行数:18,代码来源:CSharpParser.cs
示例7: Visit
public override object Visit (Lock lockStatement)
{
var result = new LockStatement ();
var location = LocationsBag.GetLocations (lockStatement);
result.AddChild (new CSharpTokenNode (Convert (lockStatement.loc), "lock".Length), LockStatement.Roles.Keyword);
if (location != null)
result.AddChild (new CSharpTokenNode (Convert (location[0]), 1), LockStatement.Roles.LPar);
result.AddChild ((INode)lockStatement.Expr.Accept (this), LockStatement.Roles.Expression);
if (location != null)
result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), LockStatement.Roles.RPar);
result.AddChild ((INode)lockStatement.Statement.Accept (this), LockStatement.Roles.EmbeddedStatement);
return result;
}
开发者ID:pgoron,项目名称:monodevelop,代码行数:16,代码来源:CSharpParser.cs
示例8: VisitLockStatement
public virtual object VisitLockStatement(LockStatement lockStatement, object data) {
Debug.Assert((lockStatement != null));
Debug.Assert((lockStatement.LockExpression != null));
Debug.Assert((lockStatement.EmbeddedStatement != null));
lockStatement.LockExpression.AcceptVisitor(this, data);
return lockStatement.EmbeddedStatement.AcceptVisitor(this, data);
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:7,代码来源:AbstractASTVisitor.cs
示例9: EmbeddedStatement
//.........这里部分代码省略.........
lexer.NextToken();
#line 1585 "cs.ATG"
statement = new YieldStatement(new BreakStatement());
} else SynErr(198);
Expect(11);
} else if (la.kind == 101) {
lexer.NextToken();
if (StartOf(6)) {
Expr(
#line 1588 "cs.ATG"
out expr);
}
Expect(11);
#line 1588 "cs.ATG"
statement = new ReturnStatement(expr);
} else if (la.kind == 112) {
lexer.NextToken();
if (StartOf(6)) {
Expr(
#line 1589 "cs.ATG"
out expr);
}
Expect(11);
#line 1589 "cs.ATG"
statement = new ThrowStatement(expr);
} else if (StartOf(6)) {
StatementExpr(
#line 1592 "cs.ATG"
out statement);
while (!(la.kind == 0 || la.kind == 11)) {SynErr(199); lexer.NextToken(); }
Expect(11);
} else if (la.kind == 114) {
TryStatement(
#line 1595 "cs.ATG"
out statement);
} else if (la.kind == 86) {
lexer.NextToken();
Expect(20);
Expr(
#line 1598 "cs.ATG"
out expr);
Expect(21);
EmbeddedStatement(
#line 1599 "cs.ATG"
out embeddedStatement);
#line 1599 "cs.ATG"
statement = new LockStatement(expr, embeddedStatement);
} else if (la.kind == 121) {
#line 1602 "cs.ATG"
Statement resourceAcquisitionStmt = null;
lexer.NextToken();
Expect(20);
ResourceAcquisition(
#line 1604 "cs.ATG"
out resourceAcquisitionStmt);
Expect(21);
EmbeddedStatement(
#line 1605 "cs.ATG"
out embeddedStatement);
#line 1605 "cs.ATG"
statement = new UsingStatement(resourceAcquisitionStmt, embeddedStatement);
} else if (la.kind == 119) {
lexer.NextToken();
Block(
#line 1608 "cs.ATG"
out embeddedStatement);
#line 1608 "cs.ATG"
statement = new UnsafeStatement(embeddedStatement);
} else if (la.kind == 74) {
#line 1610 "cs.ATG"
Statement pointerDeclarationStmt = null;
lexer.NextToken();
Expect(20);
ResourceAcquisition(
#line 1612 "cs.ATG"
out pointerDeclarationStmt);
Expect(21);
EmbeddedStatement(
#line 1613 "cs.ATG"
out embeddedStatement);
#line 1613 "cs.ATG"
statement = new FixedStatement(pointerDeclarationStmt, embeddedStatement);
} else SynErr(200);
#line 1615 "cs.ATG"
if (statement != null) {
statement.StartLocation = startLocation;
statement.EndLocation = t.EndLocation;
}
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:101,代码来源:Parser.cs
示例10: VisitLockStatement
public void VisitLockStatement(LockStatement node)
{
NotSupported(node);
}
开发者ID:evanw,项目名称:minisharp,代码行数:4,代码来源:Lower.cs
示例11: VisitLockStatement
public void VisitLockStatement(LockStatement lockStatement)
{
JsonObject statement = CreateJsonStatement(lockStatement);
AddKeyword(statement, LockStatement.LockKeywordRole);
statement.AddJsonValue("expression", GenExpression(lockStatement.Expression));
statement.AddJsonValue("embedded-statement", GenStatement(lockStatement.EmbeddedStatement));
Push(statement);
}
开发者ID:CompilerKit,项目名称:CodeWalk,代码行数:10,代码来源:AstCsToJson.cs
示例12: VisitLockStatement
public virtual object VisitLockStatement(LockStatement lockStatement, object data) {
throw new global::System.NotImplementedException("LockStatement");
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:3,代码来源:NotImplementedAstVisitor.cs
示例13: EmbeddedStatement
//.........这里部分代码省略.........
statement = new YieldStatement(new ReturnStatement(expr));
}
else if (this.la.kind == 0x34)
{
base.lexer.NextToken();
statement = new YieldStatement(new BreakStatement());
}
else
{
base.SynErr(0xab);
}
base.Expect(11);
}
else if (this.la.kind == 100)
{
base.lexer.NextToken();
if (this.StartOf(5))
{
this.Expr(out expr);
}
base.Expect(11);
statement = new ReturnStatement(expr);
}
else if (this.la.kind == 0x6f)
{
base.lexer.NextToken();
if (this.StartOf(5))
{
this.Expr(out expr);
}
base.Expect(11);
statement = new ThrowStatement(expr);
}
else if (this.StartOf(5))
{
this.StatementExpr(out statement);
base.Expect(11);
}
else if (this.la.kind == 0x71)
{
this.TryStatement(out statement);
}
else if (this.la.kind == 0x55)
{
base.lexer.NextToken();
base.Expect(20);
this.Expr(out expr);
base.Expect(0x15);
this.EmbeddedStatement(out statement2);
statement = new LockStatement(expr, statement2);
}
else if (this.la.kind == 120)
{
ICSharpCode.NRefactory.Parser.AST.Statement stmt = null;
base.lexer.NextToken();
base.Expect(20);
this.ResourceAcquisition(out stmt);
base.Expect(0x15);
this.EmbeddedStatement(out statement2);
statement = new UsingStatement(stmt, statement2);
}
else if (this.la.kind == 0x76)
{
base.lexer.NextToken();
this.Block(out statement2);
statement = new UnsafeStatement(statement2);
}
else if (this.la.kind == 0x49)
{
base.lexer.NextToken();
base.Expect(20);
this.Type(out type);
if (type.PointerNestingLevel == 0)
{
this.Error("can only fix pointer types");
}
List<VariableDeclaration> pointerDeclarators = new List<VariableDeclaration>(1);
base.Expect(1);
string name = this.t.val;
base.Expect(3);
this.Expr(out expr);
pointerDeclarators.Add(new VariableDeclaration(name, expr));
while (this.la.kind == 14)
{
base.lexer.NextToken();
base.Expect(1);
name = this.t.val;
base.Expect(3);
this.Expr(out expr);
pointerDeclarators.Add(new VariableDeclaration(name, expr));
}
base.Expect(0x15);
this.EmbeddedStatement(out statement2);
statement = new FixedStatement(type, pointerDeclarators, statement2);
}
else
{
base.SynErr(0xac);
}
}
开发者ID:KnowNo,项目名称:test-code-backup,代码行数:101,代码来源:Parser.cs
示例14: VisitLockStatement
public virtual object VisitLockStatement(LockStatement lockStatement, object data) {
Debug.Assert((lockStatement != null));
Debug.Assert((lockStatement.LockExpression != null));
Debug.Assert((lockStatement.EmbeddedStatement != null));
nodeStack.Push(lockStatement.LockExpression);
lockStatement.LockExpression.AcceptVisitor(this, data);
lockStatement.LockExpression = ((Expression)(nodeStack.Pop()));
nodeStack.Push(lockStatement.EmbeddedStatement);
lockStatement.EmbeddedStatement.AcceptVisitor(this, data);
lockStatement.EmbeddedStatement = ((Statement)(nodeStack.Pop()));
return null;
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:12,代码来源:AbstractAstTransformer.cs
示例15: VisitLockStatement
public virtual void VisitLockStatement(LockStatement lockStatement)
{
if (this.ThrowException)
{
throw (Exception)this.CreateException(lockStatement);
}
}
开发者ID:fabriciomurta,项目名称:BridgeUnified,代码行数:7,代码来源:Visitor.Exception.cs
示例16: VisitLockStatement
public virtual void VisitLockStatement(LockStatement lockStatement)
{
StartNode(lockStatement);
DebugStart(lockStatement);
WriteKeywordReference(LockStatement.LockKeywordRole);
Space(policy.SpaceBeforeLockParentheses);
var braceHelper = BraceHelper.LeftParen(this, CodeBracesRangeFlags.Parentheses);
Space(policy.SpacesWithinLockParentheses);
lockStatement.Expression.AcceptVisitor(this);
Space(policy.SpacesWithinLockParentheses);
braceHelper.RightParen();
DebugEnd(lockStatement);
WriteEmbeddedStatement(lockStatement.EmbeddedStatement);
EndNode(lockStatement);
}
开发者ID:0xd4d,项目名称:NRefactory,代码行数:15,代码来源:CSharpOutputVisitor.cs
示例17: VisitLockStatement
public override void VisitLockStatement(LockStatement lockStatement) {
var expr = CompileExpression(lockStatement.Expression, CompileExpressionFlags.None);
_result.AddRange(expr.AdditionalStatements);
_result.Add(expr.Expression);
lockStatement.EmbeddedStatement.AcceptVisitor(this);
}
开发者ID:chenxustu1,项目名称:SaltarelleCompiler,代码行数:6,代码来源:StatementCompiler.cs
示例18: Process_Lock_Statement
private void Process_Lock_Statement(StringBuilder sb, LockStatement statement)
{
sb.Append("lock(").Append(FormatExpression(statement.Expression)).Append(")");
sb.Append(ProcessStatement(statement.Statement));
}
开发者ID:uQr,项目名称:Visual-NHibernate,代码行数:5,代码来源:CSharpCodeFormatter.cs
示例19: VisitLockStatement
public virtual void VisitLockStatement (LockStatement lockStatement)
{
VisitChildren (lockStatement);
}
开发者ID:modulexcite,项目名称:ICSharpCode.Decompiler-retired,代码行数:4,代码来源:DepthFirstAstVisitor.cs
示例20: VisitLockStatement
public void VisitLockStatement(LockStatement lockStatement)
{
StartNode(lockStatement);
WriteKeyword(LockStatement.LockKeywordRole);
Space(policy.SpaceBeforeLockParentheses);
LPar();
Space(policy.SpacesWithinLockParentheses);
lockStatement.Expression.AcceptVisitor(this);
Space(policy.SpacesWithinLockParentheses);
RPar();
WriteEmbeddedStatement(lockStatement.EmbeddedStatement);
EndNode(lockStatement);
}
开发者ID:x-strong,项目名称:ILSpy,代码行数:13,代码来源:CSharpOutputVisitor.cs
注:本文中的LockStatement类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论