コード例 #1
0
 public MacroVarDeclaration(AttributeTokens attributes, IParseType type, Token identifier, IParseExpression value)
 {
     Attributes = attributes;
     Type       = type;
     Identifier = identifier;
     Value      = value;
 }
コード例 #2
0
 public Foreach(IParseType type, Token identifier, IParseExpression expression, IParseStatement statement)
 {
     Type       = type;
     Identifier = identifier;
     Expression = expression;
     Statement  = statement;
 }
コード例 #3
0
 public MacroFunctionContext(AttributeTokens attributes, IParseType type, Token identifier, List <VariableDeclaration> parameters, IParseExpression expression)
 {
     Attributes = attributes;
     Type       = type;
     Identifier = identifier;
     Parameters = parameters;
     Expression = expression;
 }
コード例 #4
0
 public LambdaType(IParseType singleParameter, IParseType returnType, Token arrowToken)
 {
     ArrowToken = arrowToken;
     Parameters = new List <IParseType> {
         singleParameter
     };
     ReturnType = returnType;
 }
コード例 #5
0
 public VariableDeclaration(AttributeTokens attributes, IParseType type, Token identifier, IParseExpression initialValue, Token ext, Token id)
 {
     Attributes   = attributes;
     Type         = type;
     Identifier   = identifier;
     InitialValue = initialValue;
     Extended     = ext;
     ID           = id;
 }
コード例 #6
0
 public FunctionContext(AttributeTokens attributes, IParseType type, Token identifier, List <VariableDeclaration> parameters, Block block, Token globalvar, Token playervar, Token subroutine)
 {
     Attributes = attributes;
     Type       = type;
     Identifier = identifier;
     Parameters = parameters;
     Block      = block;
     GlobalVar  = globalvar;
     PlayerVar  = playervar;
     Subroutine = subroutine;
 }
コード例 #7
0
 public static CodeType GetCodeTypeFromContext(ParseInfo parseInfo, Scope scope, IParseType typeContext)
 {
     if (typeContext is ITypeContextHandler tch)
     {
         return(GetCodeTypeFromContext(parseInfo, scope, tch));
     }
     else if (typeContext is LambdaType lambda)
     {
         return(GetCodeTypeFromContext(parseInfo, scope, lambda));
     }
     else if (typeContext is GroupType groupType)
     {
         return(GetCodeTypeFromContext(parseInfo, scope, groupType));
     }
     else if (typeContext is PipeTypeContext pipeType)
     {
         return(GetCodeTypeFromContext(parseInfo, scope, pipeType));
     }
     else
     {
         throw new NotImplementedException(typeContext.GetType().Name);
     }
 }
コード例 #8
0
 public static CodeType GetCodeTypeFromContext(ParseInfo parseInfo, IParseType typeContext) => GetCodeTypeFromContext(parseInfo, (dynamic)typeContext);
コード例 #9
0
 public LambdaParameter(IParseType type, Token identifier)
 {
     Type       = type;
     Identifier = identifier;
 }
コード例 #10
0
 public TypeCast(IParseType type, IParseExpression expression)
 {
     Type       = type;
     Expression = expression;
 }
コード例 #11
0
 public GroupType(IParseType type, int arrayCount)
 {
     Type       = type;
     ArrayCount = arrayCount;
 }
コード例 #12
0
 public LambdaType(List <IParseType> parameters, IParseType returnType, Token arrowToken)
 {
     ArrowToken = arrowToken;
     Parameters = parameters;
     ReturnType = returnType;
 }
コード例 #13
0
 public TypeCastInfo(IParseType castingTo, DocPos startPosition)
 {
     CastingTo     = castingTo;
     StartPosition = startPosition;
 }