Loyc.Ecs.Parser.EcsParser.Scan_IdWithOptionalTypeParams C# (CSharp) Method

Scan_IdWithOptionalTypeParams() private method

private Scan_IdWithOptionalTypeParams ( bool declarationContext ) : bool
declarationContext bool
return bool
		bool Scan_IdWithOptionalTypeParams(bool declarationContext)
		{
			TokenType la0, la1;
			if (!Scan_IdAtom())
				return false;
			// Line 170: (TParams)?
			do {
				la0 = LA0;
				if (la0 == TT.LT) {
					switch (LA(1)) {
					case TT.AttrKeyword: case TT.ContextualKeyword: case TT.GT: case TT.Id:
					case TT.In: case TT.LBrack: case TT.Operator: case TT.Substitute:
					case TT.TypeKeyword:
						goto matchTParams;
					}
				} else if (la0 == TT.Dot) {
					la1 = LA(1);
					if (la1 == TT.LBrack)
						goto matchTParams;
				} else if (la0 == TT.Not) {
					switch (LA(1)) {
					case TT.ContextualKeyword: case TT.Id: case TT.LParen: case TT.Operator:
					case TT.Substitute: case TT.TypeKeyword:
						goto matchTParams;
					}
				}
				break;
			matchTParams:
				{
					if (!Scan_TParams(declarationContext))
						return false;
				}
			} while (false);
			return true;
		}
	
EcsParser