private void VisitResourceSpan(ResourceSpan span)
        {
            string modelName = span.ResourceTypeName;
            var baseType = new CodeTypeReference(Host.DefaultBaseClass, new CodeTypeReference(modelName));

            GeneratedClass.BaseTypes.Clear();
            GeneratedClass.BaseTypes.Add(baseType);

            if (DesignTimeMode)
            {
                WriteHelperVariable(span.Content, "__modelHelper");
            }
        }
        private void VisitResourceSpan(ResourceSpan span)
        {
            string modelName = span.ResourceTypeName;
            var    baseType  = new CodeTypeReference(Host.DefaultBaseClass, new CodeTypeReference(modelName));

            GeneratedClass.BaseTypes.Clear();
            GeneratedClass.BaseTypes.Add(baseType);

            if (DesignTimeMode)
            {
                WriteHelperVariable(span.Content, "__modelHelper");
            }
        }
        private bool ParseResourceStatement(CodeBlockInfo block)
        {
            End(MetaCodeSpan.Create);

            SourceLocation endModelLocation = CurrentLocation;

            if (_modelStatementFound)
            {
                OnError(endModelLocation, String.Format(CultureInfo.CurrentCulture, "Only one '{0}' statement is allowed in a file.", ResourceKeyword));
            }

            _modelStatementFound = true;

            // Accept Whitespace up to the new line or non-whitespace character
            Context.AcceptWhiteSpace(false);

            string typeName = null;

            if (ParserHelpers.IsIdentifierStart(CurrentCharacter))
            {
                using (Context.StartTemporaryBuffer())
                {
                    // Accept a dotted-identifier, but allow <>
                    AcceptTypeName();
                    typeName = Context.ContentBuffer.ToString();
                    Context.AcceptTemporaryBuffer();
                }
            }
            else
            {
                OnError(endModelLocation, String.Format(CultureInfo.CurrentCulture, "The '{0}' keyword must be followed by a type name on the same line.", ResourceKeyword));
            }
            CheckForInheritsAndResourceStatements();
            End(ResourceSpan.Create(Context, typeName));
            return(false);
        }
Exemplo n.º 4
0
 private bool Equals(ResourceSpan span)
 {
     return(base.Equals(span) && String.Equals(ResourceTypeName, span.ResourceTypeName, StringComparison.Ordinal));
 }
 private bool Equals(ResourceSpan span)
 {
     return base.Equals(span) && String.Equals(ResourceTypeName, span.ResourceTypeName, StringComparison.Ordinal);
 }