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

Scan_ComplexId() private method

private Scan_ComplexId ( bool declContext = false ) : bool
declContext bool
return bool
		bool Scan_ComplexId(bool declContext = false)
		{
			TokenType la0;
			if (!Scan_IdWithOptionalTypeParams(declContext))
				return false;
			// Line 159: (TT.ColonColon IdWithOptionalTypeParams)?
			la0 = LA0;
			if (la0 == TT.ColonColon) {
				switch (LA(1)) {
				case TT.ContextualKeyword: case TT.Id: case TT.Operator: case TT.Substitute:
				case TT.TypeKeyword:
					{
						if (!TryMatch((int) TT.ColonColon))
							return false;
						if (!Scan_IdWithOptionalTypeParams(declContext))
							return false;
					}
					break;
				}
			}
			// Line 163: (TT.Dot IdWithOptionalTypeParams)*
			for (;;) {
				la0 = LA0;
				if (la0 == TT.Dot) {
					switch (LA(1)) {
					case TT.ContextualKeyword: case TT.Id: case TT.Operator: case TT.Substitute:
					case TT.TypeKeyword:
						{
							if (!TryMatch((int) TT.Dot))
								return false;
							if (!Scan_IdWithOptionalTypeParams(declContext))
								return false;
						}
						break;
					default:
						goto stop;
					}
				} else
					goto stop;
			}
		stop:;
			return true;
		}
	
EcsParser