Beispiel #1
0
 public override void Resolve(Generator generator)
 {
     type = generator.Resolver.ResolveType(this, typeName);
     if (getModifiers.Static)
     {
         getParameters.AddThisParameter(this, new StaticTypeReference(this, ParentDefinition.TypeReference));
     }
     else
     {
         getParameters.AddThisParameter(this, ParentDefinition.TypeReference);
     }
     getParameters.Resolve(generator);
     if (setModifiers.Static)
     {
         setParameters.AddThisParameter(this, new StaticTypeReference(this, ParentDefinition.TypeReference));
     }
     else
     {
         setParameters.AddThisParameter(this, ParentDefinition.TypeReference);
     }
     setParameters.Resolve(generator);
     if (getStatement != null)
     {
         getStatement.Resolve(generator);
     }
     if (setStatement != null)
     {
         setStatement.Resolve(generator);
     }
 }
Beispiel #2
0
 public override void Resolve(Generator generator)
 {
     base.Resolve(generator);
     typeReference = generator.Resolver.ResolveType(typeName, typeName);
     parent.Resolve(generator);
     throwCastException.Resolve(generator);
 }
Beispiel #3
0
 public override void Resolve(Generator generator)
 {
     Require.False(resolved);
     resolved = true;
     if (returnTypeName != null)
     {
         returnType = generator.Resolver.ResolveType(this, returnTypeName);
     }
     if (modifiers.Static)
     {
         parametersMetadata.AddThisParameter(this, new StaticTypeReference(this, ParentDefinition.TypeReference));
     }
     else
     {
         parametersMetadata.AddThisParameter(this, ParentDefinition.TypeReference);
     }
     parametersMetadata.Resolve(generator);
     if (!modifiers.Extern)
     {
         statementMetadata.Resolve(generator);
     }
     else
     if (modifiers.ExternMetadata != null)
     {
         modifiers.ExternMetadata.Resolve(generator);
     }
 }
Beispiel #4
0
 public override void Resolve(Generator generator)
 {
     base.Resolve(generator);
     type = generator.Resolver.ResolveType(this, typeName);
     if (assignment != null)
     {
         assignment.Resolve(generator);
     }
 }
Beispiel #5
0
 public override void Resolve(Generator generator)
 {
     base.Resolve(generator);
     boolType = generator.Resolver.ResolveDefinitionType(this, new TypeName(new Identifier(this, "pluk.base.Bool")));
     expression.Resolve(generator);
     statement.Resolve(generator);
     if (elseStatement != null)
     {
         elseStatement.Resolve(generator);
     }
 }
Beispiel #6
0
 public override void Resolve(Generator generator)
 {
     base.Resolve(generator);
     if (parameterTypeNames != null)
     {
         parameterTypes = new List <TypeReference>();
         foreach (TypeName name in parameterTypeNames)
         {
             parameterTypes.Add(generator.Resolver.ResolveType(name, name));
         }
     }
     statement.Resolve(generator);
 }
Beispiel #7
0
 public override void Resolve(Generator generator)
 {
     base.Resolve(generator);
     boolType = generator.Resolver.ResolveDefinitionType(this, new TypeName(new Identifier(this, "pluk.base.Bool")));
     if (typeName != null)
     {
         type = generator.Resolver.ResolveType(typeName, typeName);
         TypeName enumeratorTypeName = new TypeName(new Identifier(this, "Iterator"));
         enumeratorTypeName.AddTemplateParameter(typeName);
         enumeratorType = generator.Resolver.ResolveType(enumeratorTypeName, enumeratorTypeName);
     }
     expression.Resolve(generator);
     statement.Resolve(generator);
     move.Resolve(generator);
     current.Resolve(generator);
 }
Beispiel #8
0
 public override void Resolve(Generator generator)
 {
     base.Resolve(generator);
     statement.Resolve(generator);
     foreach (Catch c in catches)
     {
         c.type = generator.Resolver.ResolveType(c.typeName, c.typeName);
         if (c.type.Id < 0)
         {
             throw new Exception(c.type.TypeName.Data + c.type.GetType());
         }
         c.statement.Resolve(generator);
     }
     if (finallyStatement != null)
     {
         finallyStatement.Resolve(generator);
     }
 }
Beispiel #9
0
 public override void Resolve(Generator generator)
 {
     base.Resolve(generator);
     expression.Resolve(generator);
     statement.Resolve(generator);
 }