public CacheAttr ( MidExp exp, MidType type ) : |
||
exp | MidExp | |
type | MidType | |
리턴 |
private FieldInfo CreateField( MidPipelineDecl pipeline, MidElementDecl element, MidAttributeDecl attribute, MidFieldDecl field) { var midExp = _exps.FieldRef( attribute.Range, _exps.AttributeRef(attribute.Range, attribute), field); var name = _identifiers.unique( string.Format("{0}_{1}", attribute.Name, field.Name)); var newAttr = element.CacheAttr( midExp, field.Type); newAttr.TrySetName(name, attribute.Range); return(new FieldInfo { AttrDecl = newAttr, FieldDecl = field }); }
private MidVal EmitValToElementImpl( IResExp resExp, MidElementDecl element, MidEmitEnv parentEnv) { var midExp = EmitLocalExp(resExp, parentEnv, element); if (midExp is MidVal) { return((MidVal)midExp); } var midType = EmitTypeExp(resExp.Type, parentEnv); var attr = element.CacheAttr( midExp, midType); return(_exps.AttributeRef(resExp.Range, attr)); }
private FieldInfo CreateField( MidPipelineDecl pipeline, MidElementDecl element, MidAttributeDecl attribute, MidFieldDecl field) { var midExp = _exps.FieldRef( attribute.Range, _exps.AttributeRef( attribute.Range, attribute ), field ); var name = _identifiers.unique( string.Format( "{0}_{1}", attribute.Name, field.Name ) ); var newAttr = element.CacheAttr( midExp, field.Type); newAttr.TrySetName(name, attribute.Range); return new FieldInfo{ AttrDecl = newAttr, FieldDecl = field}; }