コード例 #1
0
 public object Lookup(SourceRange range, IResGenericParamDecl key)
 {
     if (key is IResTypeParamDecl)
     {
         return(Lookup((IResTypeParamDecl)key));
     }
     else
     {
         return(Lookup(range, (IResVarDecl)key));
     }
 }
コード例 #2
0
 public void Insert(IResGenericParamDecl key, object value)
 {
     if (key is IResTypeParamDecl)
     {
         Insert((IResTypeParamDecl)key, (MidType)value);
     }
     else
     {
         Insert((IResVarDecl)key, (SourceRange r) => (MidVal)value);
     }
 }
コード例 #3
0
ファイル: Substitution.cs プロジェクト: kzyg/spark
 public void Insert(IResGenericParamDecl param, IResGenericArg arg)
 {
     if (param is IResTypeParamDecl)
     {
         Insert((IResTypeParamDecl)param, (r) => ((ResGenericTypeArg)arg).Type);
     }
     else if (param is IResValueParamDecl)
     {
         Insert((IResVarDecl)param, (r) => ((ResGenericValueArg)arg).Value);
     }
 }
コード例 #4
0
ファイル: IResTypeParamDecl.cs プロジェクト: kzyg/spark
 public static IResGenericArg MakeGenericArg(
     this IResGenericParamDecl decl)
 {
     if (decl is IResTypeParamDecl)
     {
         return(MakeGenericArg(new ResTypeVarRef(decl.Range, (IResTypeParamDecl)decl)));
     }
     else
     {
         return(MakeGenericArg(new ResVarRef(decl.Range, (IResVarDecl)decl)));
     }
 }